Можно показывать только мое программное обеспечение без каких-либо gui в фоновом режиме (например, без рабочего стола) [duplicate]

У этого вопроса уже есть ответ: Настроить Ubuntu для библиотеки Интернет-киоск 4 ответа

Я сделал чистую установку Ubuntu 14.04 LTS Desktop и теперь хочу преобразовать ее в киоск с полным screen!

Это было сделано ранее в 10.04 и отлично работало, но из-за изменений аппаратного обеспечения (графики) мы вынуждены использовать версию 14.04.

Я создал kiosk.desktop в /usr/share/xsessions и сценарий оболочки под названием kiosk.sh, который запускает firefox с установленным r-kiosk. Сценарий оболочки является исполняемым. Пользователь, называемый «киоск», настроен на автолог (в /etc/lightdm/lightdm.conf).

Но теперь я застрял. Я хочу, чтобы kiosk.sh запускался при запуске сеанса пользователя киоска.

В предыдущих версиях это можно было сделать в инструменте GUI «Настройки экрана входа в систему» ​​или в /usr/share/lightdm/lightdm.conf.d/50-ubuntu.conf.

Я изменил 50-ubuntu.conf на "user-session=kiosk", но он не " t начать. Инструмент «Параметры экрана входа в систему» ​​не найден.

Размещение kiosk.sh.desktop в ~/kiosk/.config/autostart works, но gnome-desktop отображается до запуска Firefox в полноэкранном режиме, что позволяет пользователям взаимодействовать с

Что нужно исправить / лучший способ запустить firefox в полноэкранном режиме после автогенера пользователя?

Спасибо

Thomas

9
задан 2 July 2014 в 18:55

2 ответа

Я лично перешагнул все файлы lightdm и Xsession и просто запустил свой собственный экземпляр X, который только что запустил Firefox. Звучит кошмарно, но это очень просто с небольшим сценарием Upstart

start on (filesystem and stopped udevtrigger) stop on runlevel [06] console output emits starting-x respawn exec sudo -u thomas startx /etc/X11/Xsession /path/to/kiosk.sh --

Очевидно, измените имя пользователя на любого пользователя, которого вы хотите запустить, как, но это в значительной степени. Сохраните это как /etc/init/x.conf, а затем вы сможете sudo start x, и вы уйдете (он загрузится при загрузке). Если Firefox сработает, он перезагрузит X новым экземпляром.

Если у вас есть полномасштабная установка Ubuntu, там вы можете сначала отключить LightDM:

sudo stop lightdm echo manual | sudo tee /etc/init/lightdm.override

И ваш профиль Firefox полностью зависит от вас. Возможно, вы даже захотите выполнить скрипт в некоторой реставрации профиля, чтобы, если кто-то нарушил ваш профиль, вам просто нужно перезапустить службу x, и он снова будет использовать чистую копию.

С тех пор я написал сообщение в блоге о создании киоска с нуля с 14.04 и Chrome.

Для вашей проблемы с конфигурацией беспроводной сети, Я бы посоветовал сохранить такую ​​большую часть от случайных пользователей. Вы можете настроить соединение с помощью TTY довольно просто:

sudo nmcli dev wifi con <SSID> password <password>

Это должно добавить подключение к системе и подключиться (и автоматически подключиться в будущем), но я не тестировал его. Это может даже не понадобиться sudo, но все зависит от того, какие привилегии у вашего основного пользователя.

Простая выгода от загрузки чего-то еще в фоновом режиме здесь заключается в том, что нет никаких шансов, что какой-нибудь прохожий для доступа к диалоговому графику сетевых настроек. Это требует от оператора возможности следовать инструкциям.

Если они не могут справиться с этим, вы могли бы действительно легко изменить ваш kiosk.sh, чтобы искать существующие подключения и задавать некоторые zenity -просы, которые передаются в предыдущие nmcli:

if [[ $(nmcli con | wc -l) == 1 ]]; then SSID=$(zenity ...) PASS=$(zenity ...) nmcli dev wifi con $SSID password $PASS fi

Это всего лишь приблизительная идея. Вам нужно будет поработать над этим. Может быть лучше автономное графическое приложение конфигурации сетевого менеджера.

7
ответ дан 18 July 2018 в 08:53

Я лично перешагнул все файлы lightdm и Xsession и просто запустил свой собственный экземпляр X, который только что запустил Firefox. Звучит кошмарно, но это очень просто с небольшим сценарием Upstart

start on (filesystem and stopped udevtrigger) stop on runlevel [06] console output emits starting-x respawn exec sudo -u thomas startx /etc/X11/Xsession /path/to/kiosk.sh --

Очевидно, измените имя пользователя на любого пользователя, которого вы хотите запустить, как, но это в значительной степени. Сохраните это как /etc/init/x.conf, а затем вы сможете sudo start x, и вы уйдете (он загрузится при загрузке). Если Firefox сработает, он перезагрузит X новым экземпляром.

Если у вас есть полномасштабная установка Ubuntu, там вы можете сначала отключить LightDM:

sudo stop lightdm echo manual | sudo tee /etc/init/lightdm.override

И ваш профиль Firefox полностью зависит от вас. Возможно, вы даже захотите выполнить скрипт в некоторой реставрации профиля, чтобы, если кто-то нарушил ваш профиль, вам просто нужно перезапустить службу x, и он снова будет использовать чистую копию.

С тех пор я написал сообщение в блоге о создании киоска с нуля с 14.04 и Chrome.

Для вашей проблемы с конфигурацией беспроводной сети, Я бы посоветовал сохранить такую ​​большую часть от случайных пользователей. Вы можете настроить соединение с помощью TTY довольно просто:

sudo nmcli dev wifi con <SSID> password <password>

Это должно добавить подключение к системе и подключиться (и автоматически подключиться в будущем), но я не тестировал его. Это может даже не понадобиться sudo, но все зависит от того, какие привилегии у вашего основного пользователя.

Простая выгода от загрузки чего-то еще в фоновом режиме здесь заключается в том, что нет никаких шансов, что какой-нибудь прохожий для доступа к диалоговому графику сетевых настроек. Это требует от оператора возможности следовать инструкциям.

Если они не могут справиться с этим, вы могли бы действительно легко изменить ваш kiosk.sh, чтобы искать существующие подключения и задавать некоторые zenity -просы, которые передаются в предыдущие nmcli:

if [[ $(nmcli con | wc -l) == 1 ]]; then SSID=$(zenity ...) PASS=$(zenity ...) nmcli dev wifi con $SSID password $PASS fi

Это всего лишь приблизительная идея. Вам нужно будет поработать над этим. Может быть лучше автономное графическое приложение конфигурации сетевого менеджера.

7
ответ дан 24 July 2018 в 19:11

Другие вопросы по тегам:

Похожие вопросы: