Форум русскоязычного сообщества Ubuntu


Автор Тема: Запуск графического приложения из браузера  (Прочитано 4385 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн truegeek

  • Автор темы
  • FPGA Designer
  • Почётный модератор
  • Старожил
  • *
  • Сообщений: 4214
  • аЦкий схемотехник
    • Просмотр профиля
Название темы скорее всего некорректное)

Задача стоит таким образом:
У пользователя на рабочей станции имеется только браузер. Нужно любыми средствами браузера запустить графическое приложение.
Пока дошёл до следующего: установил LAMP. В директории /var/www/html/ положил скрипт test.php
<?php
echo exec("uptime");
?>
При переходе в браузере по localhost/test.php могу наблюдать текстовый вывод этой команды.

Вопрос заключается в следующем, могу ли я запустить таким же образом графическое приложение? В общем из браузера сообщить приложению, что ему пора бы запуститься))) Любыми доступными средствами!
« Последнее редактирование: 19 Января 2016, 16:05:58 от truegeek »

Оффлайн Karl500

  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 2267
    • Просмотр профиля
Вывод из приложения куда должен быть? В браузер или на терминал пользователя?

Оффлайн truegeek

  • Автор темы
  • FPGA Designer
  • Почётный модератор
  • Старожил
  • *
  • Сообщений: 4214
  • аЦкий схемотехник
    • Просмотр профиля
Karl500,
приложение должно запуститься независимо от браузера. Оно запускается в фулскрин

Оффлайн Karl500

  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 2267
    • Просмотр профиля
Можно сделать костыль. В cron (или просто зацикленным скриптом) проверять наличие какого-то файла; при наличии - стартовать программу. В браузере - создавать искомый файл.

Оффлайн truegeek

  • Автор темы
  • FPGA Designer
  • Почётный модератор
  • Старожил
  • *
  • Сообщений: 4214
  • аЦкий схемотехник
    • Просмотр профиля
Karl500,
думал об этом, но это воистину костыль

Оффлайн skybour

  • Старожил
  • *
  • Сообщений: 2213
    • Просмотр профиля
Мб на хоткей прикрутить, если количество приложений не очень велико?

Оффлайн Karl500

  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 2267
    • Просмотр профиля
truegeek,
А вариант типа
<?php
exec
("export DISPLAY=":0.0" && display");
?>
не проходит?

Оффлайн truegeek

  • Автор темы
  • FPGA Designer
  • Почётный модератор
  • Старожил
  • *
  • Сообщений: 4214
  • аЦкий схемотехник
    • Просмотр профиля
Karl500,
Первым делом пробовал...

Я, если честно, думал, что этим всё и кончится! Ан нет!
« Последнее редактирование: 19 Января 2016, 18:02:12 от truegeek »

Оффлайн wajnon

  • Старожил
  • *
  • Сообщений: 2778
    • Просмотр профиля
truegeek,
если скачать браузером торрент файл, то запускается торрент клиент. То есть в теории это возможно

Оффлайн Karl500

  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 2267
    • Просмотр профиля
truegeek,
В логах апача (и в сислоге) ничего вразумительного? Вдруг просто прав у "хозяина" апача не хватает?

Оффлайн truegeek

  • Автор темы
  • FPGA Designer
  • Почётный модератор
  • Старожил
  • *
  • Сообщений: 4214
  • аЦкий схемотехник
    • Просмотр профиля
Re: Запуск графического приложения из браузера
« Ответ #10 : 19 Января 2016, 20:53:42 »
Karl500,
логи же! Я только в syslog смотрел) С апачем то не работал особо!

В теле скрипта
exec ('export DISPLAY=:0 && xterm);
Если вызов оформить отдельным bash-скриптом и вызвать из терминала, то он отрабатывает.
Если через браузер, то в логах апача получаем:
No protocol specified
xterm: Xt error: Cant't open display: :0

Оффлайн Karl500

  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 2267
    • Просмотр профиля
Re: Запуск графического приложения из браузера
« Ответ #11 : 19 Января 2016, 21:08:29 »
truegeek,
Ага! Кажется понятно. А ежели попробовать запустить скрипт от имени www-data (или под кем там апач работает)? Просто вот что: для запуска х=приложений нужно а) иметь дисплей, где запускать и б) пройти аутентификацию - вот это вот не поможет? http://unix.stackexchange.com/questions/118811/why-cant-i-run-gui-apps-from-root-no-protocol-specified

UPD: можно еще попробовать перед запуском программы дать
xhost +
И вот тут еще почитай: http://unix.stackexchange.com/questions/209746/how-to-resolve-no-protocol-specified-for-su-user

(подумав) Еще вариант, кстати - можно попробовать просто запустить апач от имени юзера, для которого запускается программа.
« Последнее редактирование: 19 Января 2016, 21:16:27 от Karl500 »

Оффлайн truegeek

  • Автор темы
  • FPGA Designer
  • Почётный модератор
  • Старожил
  • *
  • Сообщений: 4214
  • аЦкий схемотехник
    • Просмотр профиля
Re: Запуск графического приложения из браузера
« Ответ #12 : 19 Января 2016, 21:16:53 »
Пошёл читать про xhost

Оффлайн truegeek

  • Автор темы
  • FPGA Designer
  • Почётный модератор
  • Старожил
  • *
  • Сообщений: 4214
  • аЦкий схемотехник
    • Просмотр профиля
Re: Запуск графического приложения из браузера
« Ответ #13 : 19 Января 2016, 21:39:18 »
Сделал
xhost +
Ошибок в лог апача теперь не сыпется, но всё равно приложение не стартует

Оффлайн Karl500

  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 2267
    • Просмотр профиля
Re: Запуск графического приложения из браузера
« Ответ #14 : 19 Января 2016, 21:46:00 »
А запуск приложения скриптом от имени www-data срабатывает?

 

Страница сгенерирована за 0.032 секунд. Запросов: 25.