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

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

Debugando aplicações PHP usando phpdbg - parte 01

Leitura recomendada

Desktop 3D - XGL + Compiz + KDE

ASP.NET no Linux

Atheros Wireless + Slackware 12.0

HAproxy + Stunnel (https) + CentOS 6

Request Tracker 3 - Ticketing system

  
Comentários
[1] Comentário enviado por mauricio123 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.


Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts