Um kiosk web para consultas

Adotamos a solução Gnuteca para gerenciamento da biblioteca da Unemat, um ótimo trabalho do Amir Montecchi. São quatro terminais de atendimento e precisávamos de um para os usuários consultarem o acervo. A solução encontrada foi uma instalação Debian Linux apenas com o X, sem gerenciador de login, com login automático, Firefox com a extensão R-Kiosk e desligamento remoto usando ssh e expect.

[ Hits: 23.369 ]

Por: Rui Ogawa em 14/05/2009


Instalando o sistema



Aqui a solução foi feita com Debian, mas você pode escolher qualquer uma distribuição Linux pois os procedimentos não diferem muito.

Faça uma instalação do Debian apenas com o sistema básico.

Instale os pacotes necessários:

# aptitude install xserver-xorg firefox ssh mingetty

Isso já é o suficiente...

Configurando o autologin em modo texto

Vamos editar o inittab e definir um tty para o autologin. Nesse caso vamos usar o tty2:

# vim /etc/inittab

Procure por uma sessão parecida com esta:

1:12345:respawn:/sbin/getty 38400 tty1
2:2345:respawn:/sbin/getty 38400 tty2
3:2345:respawn:/sbin/getty 38400 tty3
4:2345:respawn:/sbin/getty 38400 tty4
5:2345:respawn:/sbin/getty 38400 tty5
6:2345:respawn:/sbin/getty 38400 tty6

Altere a linha:

2:2345:respawn:/sbin/getty 38400 tty2

Para:

2:2345:respawn:/sbin/mingetty -autologin seu_usuário tty2

onde "seu_usuário" é obviamente o usuário que será utilizado no seu sistema.

Aplique as atualizações no inittab:

# init q

Iniciando o X e o Firefox junto com o login

Queremos criar um kiosk minimalista, então não precisamos de um gerenciador de login. Entretanto, necessitamos que o X inicie automaticamente.

Edite o arquivo .bash_profile e insira o seguinte conteúdo:

if [ -z "$DISPLAY" ] && [ $(tty) == /dev/tty2 ]; then
   startx
fi

Vamos fazer o Firefox iniciar junto também. Edite seu .bashrc e insira o seguinte nas últimas linhas:

#iceweasel -safe-mode
iceweasel

Deixe a primeira linha comentada. Vamos precisar dela caso precisemos alterar as configurações do Firefox.

Teste a funcionalidade reiniciando o micro. O usuário deverá logar automaticamente e o X deverá carregar e o Firefox será inicializado.

Configurando o Firefox

Configure a página inicial do Firefox para atender as suas necessidades.

Instale a extensão R-kiosk e habilite-a.

Feche o X (CTRL+ALT+BKSP).

Inicie o X:

startx

O Firefox deverá ser carregado em modo Kiosk agora, sem menus e em tela cheia.

Se precisar editar as preferências do Firefox, faça o seguinte:

Edite novamente o .bashrc e descomente a linha:

#iceweasel -safe-mode

e comente a linha:

iceweasel

deixando assim:

iceweasel -safe-mode
#iceweasel

Dessa forma você conseguirá desabilitar as extensões e efetuar eventuais alterações.

    Próxima página

Páginas do artigo
   1. Instalando o sistema
   2. Desligando o terminal remotamente
Outros artigos deste autor

Xen com multi bridge e LVM

Leitura recomendada

Utilizando o X-Deep32 para rodar programas Linux em máquina Windows

Compartilhando o Terminal

Instalação do Arch Linux com LVM + Luks

Monitoramento de Comunicação - Blackbox Exporter(ICMP) + Prometheus + Grafana

Trinity Rescue Kit - Poderosa distribuição Linux para recuperação de disco entre outras funções fantásticas!

  
Comentários
[1] Comentário enviado por gugajedi em 14/05/2009 - 11:08h

Achei o artigo muito útil, inclusive distribui o artigo pela minha empresa, pois trabalhamos com aplicação de automação comercial e nossa mais nova versão funciona via web, e a melhor coisa para nossos clientes aqui é poder usar uma estação sem custos com software e hardware de ultima geração.

[2] Comentário enviado por rogawa em 14/05/2009 - 17:06h

Que bom que o artigo já encontrou utilidade! Fico contente. O bom é que dá pra aproveitar aquele PC antigo que tá encostado. Além disso o usuário não consegue fazer mais nada além de usar o Kiosk. A propósito, sugiro desabilitar a combinação CTRL+ALT+DEL no /etc/inittab. Abraços e boa sorte nos projetos!

[3] Comentário enviado por hendrigo em 15/05/2009 - 14:19h

Muito bom, eu estava com a mesma idéia recentemente.
Vou utilizar seu artigo.
Abraços.

[4] Comentário enviado por wryel em 18/05/2009 - 18:48h

thanks for share!
eu tenho certeza que pelo menos 1x na vida alguem vai precisar desse tipo de solução, inclusive eu!

[5] Comentário enviado por Ademaralves em 19/05/2009 - 19:30h

Parabéns pelo artigo. Sou formado em Computação em Cáceres-Mt e já utilizei esses sistema e achei muito bom. Só para salientar a política do uso do linux dentro do Campus de Cáceres - UNEMAT, é uma prática que é sempre dotada trazendo ótimos resultados.

[6] Comentário enviado por rogawa em 23/05/2009 - 12:00h

Opa, agradeço pelos comentários e solicito que fiquem a vontade para eventuais dicas de melhorias na solução. Ademaralves, que bacana saber que você se formou na Unemat! Já dei um toque pro Fabiano sobre a solução, é bem provável que utilizem lá também. Abraços!

[7] Comentário enviado por marcelonx em 10/06/2009 - 10:32h

Grande Rui... como estão as coisas por aí?

Rapaz, acabei de conseguir aqui um pc pra deixar como terminal de consulta para os usuários... é um daqueles que deveria estar em um museu, mas já serve... rsrsrs

Vou implantar isso aqui na segunda-feira... afinal de contas, com o déficit de funcionários que temos, qq melhoria já traz imensos resultados... Sou da biblioteca aqui do campus de nova xavantina...

[8] Comentário enviado por rogawa em 10/06/2009 - 10:54h

Grande Marcelo, tudo bem com você?

Aqui estamos na luta, também com muita falta de gente. Mas é gratificante saber que tem muita gente boa disposta a trabalhar. Então, apesar de estarmos usando o sistema para o Gnuteca, futuramente pretendemos instalar Kiosks (ou seria Quiosques, no bom pt-br?) em alguns pontos estratégicos do campus, com informações diversas como localização dos setores, telefones, informes, etc. Realmente o uso fica limitado somente à criatividade e um pouco de PHP.

Depois que implantar poste o resultado pra gente. Dicas de melhorias e sugestões diversas são sempre bem-vindas!

Forte abraço!

[9] Comentário enviado por ashmsx em 12/06/2009 - 08:55h

E como fazer para bloquear o acesso a outras paginas?

[10] Comentário enviado por rogawa em 12/06/2009 - 10:47h

Caro ashmsx,

Como o navegador não terá menus nem barra de ferramentas, será impossível o usuário digitar qualquer outro endereço. Todavia você pode definir uma regra específica no seu Squid/Dansguardian para o IP do terminal permitindo apenas uma página e bloqueando para as demais.

[11] Comentário enviado por gugajedi em 20/06/2009 - 21:11h

Então, será que poderia ser postado algo relacionado com a instalação do Debian para a criação deste Kiosk, estamos tentando em minha empresa a montar, mas o problema esta na instalação, pegamos uma máquina antiga (K6-II 500) e baixamos uma versão básica do Debian (netinst), mas não estamos conseguindo passar da instalação, queremos montar um ambiente de demonstração para clientes, pois como nosso sistema de gestão é baseado em PHP (web) é algo bem interessante o Kiosk, uma vez que o custo fica somente no hardware, levando em conta o uso da aplicação de codigo aberto. Se possível, estamos precisando de umas dicas sobre qual a melhor versão do Debian baixar e como instalar de forma correta para o Kiosk...

[12] Comentário enviado por rogawa em 22/06/2009 - 08:45h

Oi gugajedi.

O que acontece exatamente quando você diz "não estamos conseguindo passar da instalação"? Creio que aqui mesmo no VOL deva ter algum tuto sobre instalações netinst. Se você baixou o netinst, vai precisar de uma boa conexão de Internet ou um repositório local. Se não tiver nenhum dos dois, então o jeito é baixar uma versão completa.

[13] Comentário enviado por marcelonx em 23/06/2009 - 16:58h

Instalei aqui Rui, só tive que fazer uns pequenos ajustes, pois instalei no Lenny... o que mudei foi só o seguinte:

# aptitude install xserver-xorg firefox ssh mingetty

mudei para:

# aptitude install xorg iceweasel ssh mingetty
________________________________________

2:2345:respawn:/sbin/mingetty -autologin seu_usuário tty2

mudei para:

2:2345:respawn:/sbin/mingetty --autologin seu_usuário tty1

________________________________________

if [ -z "$DISPLAY" ] && [ $(tty) == /dev/tty2 ]; then
startx
fi

mudei para:

if [ -z "$DISPLAY" ] && [ $(tty) == /dev/tty1 ]; then
startx
fi


Um pequeno atraso aconteceu porque estava utilizando um mouse serial... mas achei uma dica muito boa, que resolveu o problema do não funcionamento do mouse serial:

"Edite o xorg # vim /etc/X11/xorg.conf
Localize as seguintes linhas (se nao houver, adicione):

Section “InputDevice”
Identifier ”Configured Mouse”
Driver ”mouse”
Option ”CorePointer”
Option ”Device” ”/dev/ttySX”
Option ”Emulate3Buttons” ”true”
Option ”ZAxisMapping” ”4 5″
EndSection

Atenção para linha ‘Device’ que deverá ser alterada o número da porta serial SX (no caso houver mais de uma no pc)
Substitua o X de ‘/dev/ttySX’ pelo número da porta serial utilizada (tente utilizar /dev/ttyS0 caso seja a primeira e única porta serial no seu pc, se nao conseguir, tente S1)

Reinicie o ambiente gráfico, pressionando CTRL+ALT+BACKSPACE"

No mais foi tudo uma maravilha... depois de tudo instalado e configurado, agora vem a parte difícil: mudar a cultura dos alunos... rsrsrs

Ah, já estava esquecendo... o hardware utilizado foi de ponta... ponta de estoque... rsrsrs
Pentium III 500
Memória 128mb
e por aí vai... para vocês terem uma idéia, nem entradas USB tem no pc... rsrsrs

[14] Comentário enviado por marca em 09/11/2015 - 13:48h

Tente usar um plugin mais atualizado (desenvolvido por um Brasileiro), como o mKiosk para Firefox - https://addons.mozilla.org/addon/mkiosk/ - Firefox em modo kiosk para terminais multimídia públicos. Solução completa. Bloqueio downloads/addons, bloqueio favoritos, reset após inatividade, interface restrita, favoritos como botões e muito mais...



Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts