thaon Опубликовано 17 апреля, 2006 Жалоба Опубликовано 17 апреля, 2006 Господа! хэлп! задача: 1. Есть веб-сервер 2. Есть X 3. Нужно запустить запросом к веб (если точнее к некому php скрипту) некое приложение в X (пусть будет xcalc) проблемы: 1. просто из текстовой консоли запустить xcalc в X могу. (если tty от того же пользователя что и X) 2. Выполнить эту команду скриптом php не получается даже если апач запущен от того же пользователя что и X подозреваю, что проблема в том, что у веб-сервера нет tty и решение кроется в том, чтобы tty у него как бы был (во всяком случае для запуска этой команды) есть идеи? (буду признателен) Цитата
Hans R. Steiner Опубликовано 17 апреля, 2006 Жалоба Опубликовано 17 апреля, 2006 Попробуйте запускать из php shell-скрипт, если у Вас апачь позволяет их запускать... а из него, уже запускать то, что Вам нужно... Цитата
Aceler Опубликовано 18 апреля, 2006 Жалоба Опубликовано 18 апреля, 2006 Простите, а КУДА будет выводиться X приложение? Цитата
Legalizer Опубликовано 18 апреля, 2006 Жалоба Опубликовано 18 апреля, 2006 Aceler писал(а) Втр, 18 Апреля 2006 10:01 Простите, а КУДА будет выводиться X приложение? Ключевой вопрос задан Поэтому надо сделать как сказал Hans, а в том скрипте написать: export DISPLAY=<display> && xcalc Не поручусь, конечно, что оно заработает, но вроде бы должно Цитата
thaon Опубликовано 18 апреля, 2006 Автор Жалоба Опубликовано 18 апреля, 2006 куда?... туда куда укажешь в X запущенные от того же пользователя... нет-нет, господа, указать display я могу (я же написал что запускается)... вопрос именно в запуске этого же самого вебом. разницы нет: запускать напрямую команду или шел скрипт. и в том и в другом случае у того, кто запускает (по сути веб-сервер) нет tty - очевидно, это и является препятстивем. похоже, нужны идеи как сделать так, чтобы вебсервер создал tty(виртуально) и уже оттуда запустил команду, которая и стартанёт приложение в X (по поводу того, может ли запускать апач скрипты - поясняю, речь идёт о локальной машине, потому я могу позволить себе любые извраты с безопасностью ради этой задачи) Цитата
Legalizer Опубликовано 18 апреля, 2006 Жалоба Опубликовано 18 апреля, 2006 thaon писал(а) Втр, 18 Апреля 2006 11:29 нет-нет, господа, указать display я могу (я же написал что запускается)... вопрос именно в запуске этого же самого вебом. Вы попробовали сделать так, как вам предложили? То есть shell скрипт, запускается из php, а в нем задается $DISPLAY? Не работает? Что именно не работает? Цитата
thaon Опубликовано 20 апреля, 2006 Автор Жалоба Опубликовано 20 апреля, 2006 я написал: "разницы нет" разумеется попробовал. Цитата
thaon Опубликовано 25 апреля, 2006 Автор Жалоба Опубликовано 25 апреля, 2006 ...солюшн сделал так: написал перловый скрипт, который запускается в X терминале. Скрипт в вечном цикле читает файлик (раз в N секунд) и запускает строчку содержимого как команду. Остаётся только phpшным скриптом эту команду в файлик писать. естессно никаких замолотов с DISPLAY не потребовалось. криво, тупо, небезопасно, но решение (для моей задачи в самый раз) Цитата
Рекомендуемые сообщения
Присоединяйтесь к обсуждению
Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.