TOP

Um Kiosk Web para consultas

Já faz um bom tempo que adotamos a solução Gnuteca para gerenciamento da biblioteca da Unemat, um ótimo trabalho do Amir. Temos quatro terminais de atendimento e precisávamos de um terminal para que os usuários pudessem realizar consultas ao acervo.
A solução encontrada foi uma instalação Debian 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.

Vamos ao trabalho!

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

Instale o servidor X:

# aptitude install xserver-xorg

Configurando o autologin:

# apt-get install mingetty
# 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_usuario tty2

Aplique as atualizações no inittab

# init q

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

# vim .bash_profile
if [ -z "$DISPLAY" ] && [ $(tty) == /dev/tty2 ]; then
startx
fi
#iceweasel -safe-mode
iceweasel

Reinicie o micro. Se tudo estiver certo ele logará automaticamente e carregará 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

$ starx

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 .bash_profile, descomente a linha que faz o Firefox entrar no modo de segurança. Desse modo a extensão R-Kiosk não será carregada, permitindo alterações.

iceweasel -safe-mode
#iceweasel

Desligando o micro remotamente

Nos dois micros instale o ssh

# aptitude install ssh

No seu /home/usuario do terminal de consulta crie um arquivo chamado “desligar.sh”.

# vim desligar.sh

e insira o seguinte conteúdo:

#!/bin/bash
killall firefox-bin
halt -P

No micro que será usado para desligar o terminal, instale o Expect

# aptitude install expect

e crie um arquivo chamado “desliga_terminal”.

# vim desliga_terminal"

Insira o conteúdo a seguir no arquivo:

#!/usr/bin/expect
set timeout 30
spawn ssh root@ip_do_terminal 'desligar.sh'
set password "senha_de_root_do_terminal"
expect "password:"
send "$password\r"
expect "root@consulta:~$"
send "exit"
expect eof

Do micro que será usado para desligar, execute

$ expect 'desliga_terminal'

Aceite o aviso do ssh

Se estiver OK o terminal será desligado.

Para facilitar a vida dos usuários crie um lançador na área de trabalho

Referências:

Autologin no Linux sem o uso do KDM

R-Kiosk

Read More