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
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
Edite o arquivo .bash_profile e insira o seguinte conteúdo:
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
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
No seu /home/usuario do terminal de consulta crie um arquivo chamado “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”.
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