Trabalho em andamento
Isso pode ser feito usando:
- uma sessão X personalizada que inicia um gerenciador de janelas básico e executa o script
- uma configuração personalizada para o LightDM que irá autenticar seu usuário e usar a sessão acima
- um serviço personalizado para LightDM que usará a configuração acima
- parâmetros do kernel apropriados para desativar o serviço LightDM normal e iniciar o personalizado
- Configuração do GRUB para criar entradas automaticamente com os parâmetros acima, com proteção por senha
Para este exemplo, mostrarei como configurar um modo de quiosque usando o Google Chrome.
O script
#! /bin/sh
metacity &
while true
do
google-chrome --start-maximized
if zenity --question --text='Do you want to logout?' --title='Logout'
then
exit
fi
done
Mantenha-o em, digamos, /usr/local/bin/chrome-kiosk.sh
, torne-o executável. Observe que eu uso metacity
para um gerenciador de janelas simples que me fornece uma configuração viável sem configuração adicional.
A sessão X
[Desktop Entry]
Name=Chrome
Comment=This session logs runs a Google Chrome kiosk
Exec=/usr/local/bin/chrome-kiosk.sh
Icon=google-chrome
Type=Application
X-LightDM-DesktopName=Chrome
Salve em /usr/share/xsessions/chrome.desktop
. Se você usar um script diferente, altere pelo menos a linha Exec
de acordo.
A configuração LightDM
[Seat:*]
autologin-guest=false
autologin-user=username
autologin-user-timeout=0
autologin-session=chrome
Salve como /etc/lightdm/autologin-lightdm.conf
. Substitua username
pelo seu nome de usuário desejado.
O serviço LightDM
systemctl cat lightdm.service |
sed '/ExecStart/s/$/ --config=/etc/lightdm/autologin-lightdm.conf' |
sudo tee /etc/systemd/system/autologin-lightdm.service
Isso cria uma cópia personalizada do padrão lightdm.service
denominado autologin-lightdm.service
at /etc/systemd/system
, com a linha ExecStart
alterada para:
ExecStart=/usr/sbin/lightdm --config /etc/lightdm/autologin-lightdm.conf
Os parâmetros do kernel
Para testar isso, no menu GRUB, pressione e para editar a entrada do Ubuntu. Encontre a linha linux
e anexe:
systemd.mask=display-manager.service systemd.wants=autologin-lightdm.service
(Você pode omitir as extensões .service
.)
Pressione Ctrl X . Você deve estar conectado ao usuário e ter uma janela maximizada do Google Chrome.
Configuração do GRUB
TBD.