Como fazer o ubuntu 14.04 um quiosque [duplicado]

9

Eu fiz uma instalação limpa do Ubuntu 14.04 LTS Desktop e agora quero convertê-lo em um quiosque com um webbrowser de tela inteira.

Isso foi feito anteriormente em 10.04 e funcionou perfeitamente, mas devido a mudanças de hardware (gráficos) somos forçados a usar a versão 14.04.

Eu criei um kiosk.desktop em /usr/share/xsessions e um script de shell chamado kiosk.sh que lança o firefox com r-kiosk instalado. O script de shell é executável. Um usuário chamado "quiosque" está configurado para autologin (em /etc/lightdm/lightdm.conf ).

Mas agora estou preso. Eu quero que o kiosk.sh seja executado quando a sessão do usuário do quiosque for iniciada.

Nas versões anteriores, isso poderia ser feito na ferramenta GUI "Login Screen Settings" ou em /usr/share/lightdm/lightdm.conf.d/50-ubuntu.conf .

Alterei 50-ubuntu.conf para "user-session=kiosk" , mas não é iniciado. A ferramenta "Configurações da tela de login" não pode ser encontrada. Foi substituído por outro utilitário em 14.04?

Colocando um kiosk.sh.desktop em ~/kiosk/.config/autostart works , mas o gnome-desktop é mostrado antes do firefox iniciar no modo de tela cheia, possibilitando que os usuários interajam com a área de trabalho.

O que é corrigir / melhor maneira de iniciar o firefox em tela cheia após o login do usuário?

Obrigado

Thomas

    
por Thomas 02.07.2014 / 15:43

1 resposta

7

Pessoalmente passo a passo todas as coisas lightdm e Xsession e apenas lanço a minha própria instância do X que acabou de iniciar o Firefox. Parece um pesadelo, mas é realmente simples com um pequeno script 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 --

Obviamente, mude o nome de usuário para qualquer usuário que você queira rodar, mas é praticamente isso. Salve isso como /etc/init/x.conf e então você deve ser capaz de sudo start x e você está fora (ele carregará na inicialização). Se o Firefox travar, ele recarregará o X com uma nova instância.

Se você tem uma instalação completa do Ubuntu instalada, pode ser necessário desabilitar o LightDM primeiro com:

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

E o seu perfil do Firefox é totalmente com você. Você pode até mesmo fazer um script em alguma restauração de perfil para que, se alguém quebrar o seu perfil, você só precise reiniciar o serviço x e ele estará usando a cópia limpa novamente. Apenas uma ideia.

Desde então, escrevi um post em criando um quiosque do zero com o 14.04 e Chrome .

Para seu problema de configuração sem fio, sugiro manter o máximo disso longe de usuários casuais. Você pode configurar uma conexão usando um TTY de maneira bastante simples:

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

Isso deve adicionar a conexão ao sistema e conectar-se (e conectar-se automaticamente no futuro), mas eu não testei isso. Talvez nem precise do sudo , mas tudo depende dos privilégios que seu usuário principal tem.

O simples benefício de carregar algo em segundo plano aqui é que não há chance de algum transeunte ter acesso a um diálogo de configurações gráficas de rede. Isso requer que o operador possa seguir as instruções.

Se eles não puderem lidar com isso, você poderá razoavelmente modificar facilmente seu kiosk.sh para procurar por conexões existentes e perguntar se há zenity -questions no comando nmcli anterior:

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

Essa é apenas uma ideia aproximada. Você precisará trabalhar nisso. Pode haver um aplicativo de configuração gráfico de gerenciamento de rede independente melhor.

    
por Oli 02.07.2014 / 15:58