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

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

A importância do ensino de Arte Digital nas comunidades da periferia de São Paulo

Escrevendo em arquivos PDF

Utilizando fontes de emojis no seu sistema Linux

Como manter GNOME2 em Sabayon Linux

Relato: Instalação mista dos sistemas Linux, MacOS e Windows na mesma rede

  
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