A primeira tarefa foi atualizar o sources.list para usar o repositório:
deb http://archive.debian.org/debian/ hamm contrib main non-free
Em seguida instalar os pacotes do tcl
bash# apt-get install tcl8.5 tcl8.5-dev tcl8.5-doc
O wget e os aplicativos para compilação:
# apt-get install
wget build-essential
Também instalar o gpm para usar o mouse no modo texto, e por sugestão do desenvolvedor da biblioteca CK (Christian Werner) instalamos também a bibliotecalibncursesw5-dev para ter mais suporte UTF-8 com o CK (Cyrillic, Arabic, Chinese etc)
# apt-get install
gpm libgpm-dev libncurses5 libncurses5-dev libncursesw5 libncursesw5-dev
Baixar o pacote www.ch-werner.de/ck/ck8.0.tar.gz
E rodar os comandos:
$ tar -xzvf
ck8.0.tar.gz
$ cd ck8.0
$ ./configure --with-tcl=
/usr/lib/tcl8.5
$ make
# make install
O aplicativo eSpeak é a parte fundamental dessa aplicação e pode ser instalado com os comandos:
# apt-get install
espeak espeak-data
Para a manipulação de fontes instalei os pacotes console-tools:
# apt-get install
console-tools
Este pacote inclui o programa consolechars que é usado para carregar as fontes que permitem o uso dos caracteres especiais do Esperanto.
Em seguida escrevemos o script .bash_profile no diretório do usuário com os comandos para habilitar o mouse e as fontes:
#Dica do Christian Werner (desenvolvedor da biblioteca CK) if [ "$TERM" != "xterm" ] ; then export CK_USE_GPM=yes fi #Dica do Esperanto Howto #http://www.tldp.org/HOWTO/Esperanto-HOWTO-3.html consolechars -f LatArCyrHeb-16
Mas para habilitar o mouse é preciso rodar o comando:
# dpkg-reconfigure gpm
E selecionar o dispositivo:
/dev/psaux para mouse PS/2
/dev/ttySx para mouse serial, onde "x" corresponde ao número da porta serial.
/dev/input/mice para mouse USB
Na primeira instalação a porta era PS/2 e defini o tipo de mouse ps2.
Usei um script de shell citado no vídeo http://www.youtube.com/watch?v=c1kVBCZ77U0 para executar o script Tcl toda vez que o usuário sair do programa clicando no programa "Sair". Essa foi a maneira mais simples que eu encontrei para para sair de qualquer tela e voltar para a tela inicial sem ter que controlar toda a fila de processos pendentes do Espeak.
#!/bin/sh while [ 1 ]; do ./oto05.tcl done
Chamei o programa de lancxi_oto.sh e tornei o script executável com o comando:
$ chmod +x
lancxi_oto.sh
Outra etapa importante é configurar o "login automático" para que o computador possa funcionar como um Kiosk, ou seja, ao ser ligado ele faz o login automaticamente em uma conta definida e pode rodar uma aplicação automaticamente.
Para configurar o login automático usei as dicas do site: http://linux.koolsolutions.com/2009/04/30/autologin-linux-console-mode/.
Primeiro criei uma conta chamada "oto" com o comando:
# adduser oto
Em seguida instalei o pacote mingetty.
# apt-get install
mingetty
Editei o arquivo /etc/inittab e substitui a linha:
1:2345:respawn:/sbin/getty 38400 tty1
pela linha:
1:2345:respawn:/sbin/mingetty --autologin oto --noclear tty1
Após reiniciar a máquina, ou digitar init q o sistema fez o login automático e pude ver o prompt do usuário oto. :^)
Também editei o script .bash_profile.sh e incluí na última linha a chamada do script lancxi_oto.tcl.
#Dica do Christian Werner (desenvolvedor da biblioteca CK) if [ "$TERM" != "xterm" ] ; then export CK_USE_GPM=yes fi #Dica do Esperanto Howto #http://www.tldp.org/HOWTO/Esperanto-HOWTO-3.html consolechars -f LatArCyrHeb-16 ./lancxi_oto.sh
Copiei os arquivos tcl, o script lancxi_oto.tcl e o script .bash_profile.sh para a pasta /home/oto e tentei rodar o programa, mas não pude ouvi a "voz" do Oto. :^(
O problema foi resolvido depois de incluir o novo usuário no grupo "audio" com o comando:
# usermod -a -G
audio oto
Nesta etapa, basta ligar o computador e aguardar a inicialização para o programa iniciar automaticamente. Agora só falta incluir um botão na interface do programa para um usuário comum poder desligar a máquina sem complicação.
Para permitir que um usuário "oto" (um usuário comum) possa rodar os comandos halt ou shutdown para desligar a máquina vamos usar a estratégia de criar um script de desligamento (malsxati.sh) e atribuir a este script uma permissão de acesso especial "s" de usuário "root" (administrador) para que o script possa ser executado por um usuário comum.
Isto pode ser feito com os comandos:
# chmod 4755
malsxati.sh
ou
# chmod u+s
malsxati.sh
Resolvi deixar registrado aqui algumas dicas que poderão ser úteis para manipular a execução de processos rodando no Linux.(Fonte: www.infowester.com/linprocessos.php)
Para obter o número do processo correspondente à execução do espeak
$ pidof espeak
Com esse número você poderá interromper temporariamente a execução deste processo com o comando:
$ kill -STOP
4220
E para continuar a execução do processo use o comando:
$ kill -CONT
4220
E para checar se um processo já terminou use o comando:
$ kill -0
[numero do processo]