Как сделать ubuntu 14.04 киоск

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

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

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

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

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

Я изменил 50-ubuntu.conf на "user-session=kiosk" но он не запускается. Инструмент «Параметры экрана входа в систему» ​​не найден. Была ли она заменена другой утилитой в 14.04?

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

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

благодаря

Томас

Я лично lightdm Xsession вещи 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 в предыдущую команду nmcli :

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

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