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-xorgConfigurando o autologin:
# apt-get install mingetty# vim /etc/inittabProcure 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 qEdite o arquivo .bash_profile e insira o seguinte conteúdo:
# vim .bash_profileif [ -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 sshNo seu /home/usuario do terminal de consulta crie um arquivo chamado “desligar.sh”.
# vim desligar.she 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 expecte 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: