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: 11.518 ]

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

Debugando aplicações PHP usando phpdbg - parte 01

Leitura recomendada

BIND DNS Active Directory Windows 2008

O que é e como configurar rede AD HOC no Ubuntu

Instalação avançada do Debian com Btrfs + timeshift-autosnap-apt + Zram + home encriptado (UEFI/GPT)

Configurando Linux para Desenvolvimento de Sites

Como instalar o SVN no Slackware 10.2 utilizando o Apache2 como servidor

  
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