На этот вопрос уже есть ответ здесь:
Я сделал чистую установку Ubuntu 14.04 LTS Desktop и теперь хочу превратить его в киоск с полноэкранным веб-браузером.
Ранее это было сделано в 10.04 и работало идеально, но из-за аппаратных изменений (графика) мы вынуждены использовать версию 14.04.
Я создал kiosk.desktop в /usr/share/xsessions
и сценарий оболочки под названием kiosk.sh
, который запускает firefox с установленным r-kiosk
. Сценарий оболочки является исполняемым.
Пользователь под именем "kiosk" настроен на автологин (в /etc/lightdm/lightdm.conf
).
Но теперь я застрял. Я хочу, чтобы kiosk.sh
запускался при запуске сессии пользователя kiosk.
В предыдущих версиях это можно было сделать в GUI-инструменте "Login Screen Settings" или в /usr/share/lightdm/lightdm.conf.d/50-ubuntu.conf
.
Я изменил 50-ubuntu.conf
на "user-session=kiosk"
, но он не запускается.
Утилита "Настройки экрана входа в систему" не может быть найдена. Была ли она заменена другой утилитой в 14.04?
Размещение kiosk.sh.desktop
в ~/kiosk/.config/autostart работает
, но gnome-desktop отображается перед запуском firefox в полноэкранном режиме, что делает возможным взаимодействие пользователей с рабочим столом.
Как правильно/лучшим способом запустить firefox в полноэкранном режиме после автологина пользователя?
Спасибо
Thomas
Я лично отступил бы весь lightdm
и Xsession
материал и просто запускает мой собственный экземпляр X, который только что запустил Firefox. Звучит кошмарным, но это действительно просто с небольшим Новомодным сценарием
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
Это - просто общее представление. Необходимо будет работать над этим. Может быть лучшее автономное графическое приложение конфигурирования администратора сети.