Как сделать Ubuntu 14.04 в киоске
Я сделал чистую установку Ubuntu 14.04 LTS Desktop и теперь хочу превратить его в киоск с полноэкранным браузером.
Ранее это было сделано в 10.04 и работало отлично, но из-за аппаратных изменений (графика) мы вынуждены использовать версию 14.04.
Я создал киоск.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"
но это не начинается. Инструмент "Настройки экрана входа" не найден. Была ли она заменена другой утилитой в 14.04?
Размещение kiosk.sh.desktop
в ~/kiosk/.config/autostart works
, но рабочий стол gnome отображается до запуска firefox в полноэкранном режиме, что позволяет пользователям взаимодействовать с рабочим столом.
Что исправить / лучший способ запустить Firefox в полноэкранном режиме после пользовательской автологин?
Спасибо
Томас
1 ответ
Я бы лично обошел все 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
Это просто грубая идея. Вам нужно будет поработать над этим. Там может быть лучшее автономное графическое приложение конфигурации сетевого менеджера.