Rodando um aplicativo em modo Kiosk no Ubuntu Linux 20.04

O modo Kiosk (ou quiosque) é um modo de operação que disponibiliza para o usuário um único aplicativo ou aplicação em tela cheia e sem bordas ou barras de ferramentas. Seu principal uso é nos totens de auto atendimento, como os caixas automáticos e filas de atendimento.

[ Hits: 15.189 ]

Por: leandro peçanha scardua em 23/06/2022 | Blog: https://leandropecanhascardua.github.io/


Configurando a aplicação



Precisaremos criar um arquivo de nome .xinitrc dentro do diretório HOME do usuário. Esse é um arquivo de configuração para o xinit e o startx. A Wikipédia nos informa que:

"O programa xinit permite que um usuário inicie manualmente um servidor de exibição Xorg. O script startx(1) é um front-end para xinit(1)."

Esse arquivo não pode ficar em qualquer lugar, nem pode ter qualquer nome ou extensão. Para criar adicionando conteúdo usando o editor Nano, execute:

nano ~/.xinitrc

e insira o conteúdo abaixo:

#!/usr/bin/env bash
xset -dpms
xset s off
xset s noblank
unclutter &
exec /usr/bin/firefox -kiosk -width 800 -height 600 -url ~/menu.html

Os comandos "xset" vão configurar ajustes no monitor. Coisas como desabilitar stand-by, desabilitar proteção de tela e impedir que a tela fique inteiramente branca por ociosidade.

A quinta linha chama o comando unclutter em background. Esse comando permite ocultar o ponteiro do mouse depois de um tempo sem interação e deixa nossa aplicação mais, digamos, charmosa.

Esse comando não vem instalado por padrão, então, para adicioná-lo ao sistema faça:

sudo apt install unclutter

A última linha chama o Firefox em modo quiosque com tamanho de 800 pixels de comprimento por 600 pixels de altura e abrindo o arquivo menu.html, que está na pasta HOME do usuário. O comando exec substitui o processo do shell pelo do Firefox. Isso é para evitar que em caso de algum erro inesperado o usuário receba um shell de presente.

Salve o arquivo (ctrl+O). Como não estaremos usando um ambiente desktop (como KDE, XFCE, Gnome etc) não teremos as informações relacionadas à tela. Por isso adotamos uma resolução conservadora de 800x600, suportada por quase todos os monitores.

Precisamos também modificar o arquivo .bashrc que é executado após a autenticação para configurar o ambiente. Novamente abra usando o editor Nano:

nano .bashrc

e adicione o seguinte trecho no final do arquivo:

if [[ !$DISPLAY && $XDG_VTNR -eq 1 ]]; then
exec startx
fi

É necessário muita atenção para não modificar outras partes deste arquivo, pois ele é de fundamental importância para o funcionamento correto do sistema. Aperte ctrl+O para salvar a modificação.

Página anterior     Próxima página

Páginas do artigo
   1. Introdução
   2. Configurando a aplicação
   3. Configurando autologin em modo texto
   4. Criando uma aplicação de teste
Outros artigos deste autor

Adicionando Legendas em Vídeo de forma automática por Reconhecimento Automático de Fala

kvrt: O novo antivírus gratuito da Kaspersky para Linux

Debugando aplicações PHP usando phpdbg - parte 01

Leitura recomendada

Configurando o Bandwithd (monitoração gráfica)

Redmine no Debian - Instalação e configuração

Instalando MultiLIB no Slackware 14.2 com Atualizações pelo GSlapt

Administrando Memória SWAP no GNU/Linux

Clonagem de HDs com o PHANTOM & UDPCAST no CentOS

  
Comentários
[1] Comentário enviado por maurixnovatrento em 09/07/2022 - 13:58h


Gostei do artigo.

___________________________________________________________
Conhecimento não se Leva para o Túmulo.
https://github.com/mxnt10

[2] Comentário enviado por xerxeslins em 19/07/2022 - 17:40h

Interessante. Será que para criar um "fliperama" caseiro com GNU/Linux, o caminho também seria esse? Rodando um emulador de NEOGEO, por exemplo.


--
Chega uma hora na vida que você só quer bater o prego e não perder tempo estudando a ciência da construção de um martelo.

[3] Comentário enviado por leandropscardua em 25/07/2022 - 23:23h


[2] Comentário enviado por xerxeslins em 19/07/2022 - 17:40h

Interessante. Será que para criar um "fliperama" caseiro com GNU/Linux, o caminho também seria esse? Rodando um emulador de NEOGEO, por exemplo.


--
Chega uma hora na vida que você só quer bater o prego e não perder tempo estudando a ciência da construção de um martelo.


A princípio sim. Nas pesquisas que fiz havia sugestões neste sentido e que poderia consumir menos recurso da máquina (e dar mais para o jogo). Como eu não jogo eu só vou descobrir isso quando minha filha fizer 12 anos (hahaha).
Mas eu não faria usando Ubuntu, usaria uma distro mais econômica.

[4] Comentário enviado por RaulChiarella em 15/08/2022 - 11:14h

Não deu certo aqui.

[5] Comentário enviado por leandropscardua em 16/08/2022 - 14:18h


[4] Comentário enviado por RaulChiarella em 15/08/2022 - 11:14h

Não deu certo aqui.

Em que ponto não certo? É necessário ubuntu e firefox é bom limpar todo o cache.

[6] Comentário enviado por FrankD1 em 08/11/2022 - 08:13h


Thanks for sharing, I found a lot of interesting information here. A really good post, very thankful and helpful that you will write many more posts like this one.

https://www.benefitwallet.me/


Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts