Então eu tenho um desafio interessante na minha frente, rodando o Ubuntu 16.04.
Eu criei originalmente um arquivo .xsession que executava Exec=google-chrome --kiosk http://some-url.com
para inicializar como um dispositivo de quiosque.
O arquivo .xsession mencionado acima existe em /usr/share/xsessions/
e é definido como a sessão padrão no arquivo de configuração lightdm encontrado em /usr/share/lightdm/lightdm.d.conf/50-ubuntu.conf
.
Isso funcionou bem.
Para o novo desafio:
Eu quero poder alternar remotamente se o dispositivo inicializa ou não no modo de quiosque.
Em uma tentativa de fazer isso, modifiquei o comando Exec para executar um script bash que escrevi para determinar se ele deve ser inicializado ou não como um quiosque.
O seguinte script é executado a partir do arquivo .xsession:
#! /bin/bash
KIOSK_MODE=$(curl http://some-url.com/bootInKioskMode/)
if [ $KIOSK_MODE = "true" ] ; then
google-chrome --kiosk http://some-url.com
else
gnome-session --session=ubuntu &
unity
fi
A ideia é que, como posso controlar o retorno do link , posso alternar o modo de inicialização do dispositivo
Como está agora, tenho dois problemas que preciso resolver.
-
Minha declaração if / else está sempre correspondendo a false ... portanto, não está inicializando no modo de quiosque, mesmo que a resposta de curl seja true
.
-
Quando inicializa e executa os comandos após a instrução else
, ela não corresponde realmente a uma inicialização padrão. A barra de menu superior está faltando, assim como as opções de ícones e configurações no canto superior direito da tela.
Outras coisas que vale a pena mencionar:
-
Eu sei que ele está conectado à internet, e a solicitação de onda está sendo disparada ok por meio de testes (com saída e salvamento em um arquivo).
-
Eu tenho a configuração para fazer login automático em um usuário de quiosque que não tem permissões sudo e tenho executado testes nessas condições.
Qualquer ajuda com isso é apreciada. Neste ponto, passei horas pesquisando e testando coisas diferentes e ainda tenho muita sorte.
Obrigado.