Pular para o conteúdo

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.
Rui Ogawa rogawa
Hits: 24.682 Categoria: Linux Subcategoria: Miscelânea
  • Indicar
  • Impressora
  • Denunciar

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.

   1. Instalando o sistema
   2. Desligando o terminal remotamente

Xen com multi bridge e LVM

BC: A sua calculadora programável no Linux

Instalando programas no Linux - Completo e total

Criando vídeo com características de DVD

Ubuntu + Zoneminder = Solução Livre para CFTV

Acessando partições ReiserFS pelo Windows

#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

Entre na sua conta para comentar.