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 не потребовалось. криво, тупо, небезопасно, но решение (для моей задачи в самый раз) Цитата Ссылка на комментарий Поделиться на другие сайты Поделиться
Рекомендуемые сообщения
Присоединяйтесь к обсуждению
Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.