3. Procedimentos de Instalação e Configuração

3.1. Instalação da biblioteca CK.

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

3.2. Instalação do pacote eSpeak

O aplicativo eSpeak é a parte fundamental dessa aplicação e pode ser instalado com os comandos:

# apt-get install espeak espeak-data

3.3. Configuração do "autologin" e a permissão de "desligamento" para usuário comum.

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:

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

3.3.1. Configurar o "Autologin"

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.

3.3.2. Permissão de desligamento para usuário comum.

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

3.4. Algumas dicas para manipular processos do sistema rodando no Linux.

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]