Construindo um terminal utilizando o Galeon
Piter PUNK
Um dos recursos mais interessantes do Galeon, é o seu recurso
de fullscreen e a alta customização das barras de ferramentas.
O que o torna perfeito para utilizar em quiosques multimídia
ou em terminais de acesso a internet, precisando de apenas
alguns mínimos ajustes...
1. Introdução
Estava dando uma olhada nas preferências do Galeon e me deparei
com esse modo fullscreen. Achei bastante interessante e
pensei: "Ei! Dá para fazer um quiosque com isso!"
Mas logo me deparei com o primeiro problema, bastava clicar
com o botão direito do mouse e lá aparecia a opção para
sair do modo fullscreen (entre outras igualmente desagradáveis
para quem quer "prender"
o usuário) e pior, apertando F11 voltávamos para o modo
"janelado"!
Foi pensando em como resolver esses problemas que resolvi
escrever este artigo. Os passos não são complicados e, exceto
a parte do login automático, podem ser feitos em qualquer
distribuição.
2. Configurando o Galeon
Uma das primeiras coisas a fazer é configurar
corretamente o Galeon. Vamos iniciar as configurações pelo
menu Edit->Preferences. Dentro do item Tabs,
selecione o item Open popup windows in Tabs. Isso
fará com que janelas pop-up não apareçam, sendo criadas
novas tabs para carregá-las.
Na filosofia do GNOME em que "menos é mais", uma série
de configurações que antes estavam nas preferências do aplicativo
sumiram, indo parar no criptográfico gconf, uma espécie de
"registro" do GNOME. Vamos editar os itens necessários utilizando
o gconf-editor.
Logo ao iniciar o gconf-editor ele avisa que editar diretamente
as configurações não é recomendado e essa ferramenta deve ser
usada por sua própria conta e risco. Se todas as configurações
não estivessem escondidas aqui, provavelmente não seria necessário
usar uma ferramenta por minha "conta e risco", mas vamos lá...
Entre em apps->galeon->UI->Windows dentro deste item
iremos selecionar quais as barras devem aparecer no modo
full-screen. Para isso, selecione as barras que você considerar
convenientes, a barra de ferramentas é a opção:
show_toolbars_in_fullscreen e a barra de status é
show_statusbar_in_fullscreen.
Dependendo do tipo de quiosque, você pode dispensar a barra de
ferramentas e manter uma opção de "Voltar" em todas as páginas do
seu quiosque. Em um quiosque de uso geral, é bom manter as duas barras,
para possibilitar a navegação.
O padrão do GNOME, também permite que os usuários "descolem"
os menus e barras de ferramentas, arrancando-os do navegador e
podendo colocá-los em qualquer lugar. O que, diga-se de passagem,
é uma péssima idéia em um quiosque. Para desabilitar isso, devemos
escolher desktop->gnome->interface e desativar os itens:
toolbar_detachable e menubar_detachable. Pronto,
está encerrado o nosso trabalho no gconf-editor.
Por último, devemos configurar a barra de ferramentas do
Galeon (isso se você resolver mantê-la). Para poder alterá-la
entre no menu Edit->Toolbar. Um item óbvio para retirar da
barra é o botão que permite ativar/desativar o modo fullscreen.
Para o uso que dei, todos os outros podem continuar, mas é bem
fácil colocar e retirar os botões, basta arrastá-los do menu para
a janela do editor ou da janela do editor para a barra.
Com isso terminamos as configurações do Galeon (é interessante
também fazer uma política de cache e do histórico, um usuário
não vai gostar muito que outro veja as páginas que já acessou).
3. "Prendendo" o usuário...
Esta é a parte mais interessante, como manter o usuário dentro
do browser, sem que possa sair tanto do browser quanto do
formato fullscreen. Coloque os comandos dentro do .xinitrc
do usuário que você escolheu executar o browser.
3.1. Bloqueando o botão direito do mouse
Esse é um dos passos mais importantes. Nas configurações
de mouse do Galeon 1.3.15 (que estou usando para escrever
este artigo), não podemos simplesmente desabilitar as ações
do mouse. É necessário um método alternativo...
Eu utilizei o xmodmap para remapear os botões do mouse, fiz
isso com o seguinte comando:
xmodmap -e "pointer = 1 4 5"
Além de sumir com os botões 2 e 3 (do meio e da direita),
coloquei esses dois botões do mouse para funcionarem como
se fossem uma daquelas "rodinhas",
assim o usuário pode clicar com o botão do meio para fazer
a página subir e com o da direita para ela descer.
3.2. Bloqueando atalhos de teclado
Depois de usar o xmodmap uma vez, fica fácil pensar em como
usá-lo de novo -;). Desabilitei o Alt, o Control e remapeei
as teclas F3, F11 e F12. Isso foi feito com os seguintes
comandos:
xmodmap -e "clear Control"
xmodmap -e "clear Mod1"
xmodmap -e "keysym F12 = A"
xmodmap -e "keysym F11 = A"
xmodmap -e "keysym F3 = A"
3.3. O show tem que continuar...
Temos que garantir que, se o usuário conseguir matar o Galeon
(ou se ele cair por qualquer motivo), ele volte automaticamente.
Isso é fácil de fazer com este loop infinito:
exec /usr/bin/xfwm4 &
while true; do
rm ~/.galeon/session_crashed.xml
/usr/bin/galeon -f www.paginainicial.bla.br
done
O arquivo que removemos (session_crashed.xml) serve para
indicar ao Galeon que aconteceu algo de errado e ele caiu.
Graças a ele aparece aquela janelinha perguntando se você
quer recuperar a seção. Nós não queremos janelinhas, queremos
que o Galeon apareça sozinho, em tela cheia, sem intervenção
humana. Por isso retiramos o arquivo, assim o Galeon abre
normalmente.
O exec /usr/bin/xfwm4 & não tem nada haver com o Galeon
propriamente dito. Serve apenas para carregar o gerenciador
de janelas... Antes usava o WindowMaker, mas parece que ele não
está se dando bem com o modo fullscreen do galeon. O xfwm4 é o
gerenciador de janelas do xfce.
4. A inicialização automática
Este assunto já foi tema de artigo na Revista do Linux e
aqui mesmo nesse site, você pode consultar o artigo original
aqui.
Se você quiser uma explicação detalhada, pegue o artigo.
Este trecho serve apenas para o Slackware e outras distros
que não usam a PAM.
4.1. /etc/inittab
Coloque uma linha contendo:
x2:5:respawn:/usr/X11/bin/nologonX
e troque o initdefault para 5 (deve estar 3 ou 4)
4.2. /usr/X11/bin/nologonX
Crie um arquivo com o seguinte conteúdo:
#!/bin/sh
su - user /usr/X11R6/bin/startx < /dev/tty14 > /dev/tty15
Substitua onde está user pelo nome do usuário que você vai
utilizar para rodar o Galeon.
4.3. /etc/login.defs
Edite o /etc/login.defs e altere o PATH padrão do sistema, para
incluir os diretórios do X nele. Altere a linha onde está:
ENV_PATH PATH=/usr/local/bin:/bin:/usr/bin
Trocando para:
ENV_PATH PATH=/usr/local/bin:/bin:/usr/bin:/usr/X11R6/bin
5. Conclusão
São necessários alguns ajustes finais no sistema (tirar o
prompt do LILO, colocar senha, etc...), mas agora ele já
está funcional. MUITO CUIDADO ao rebootar a máquina, tenha
CERTEZA de que é possível acessá-la remotamente. As nossas
travas anti-usuário também são travas anti-administrador,
a única maneira de reconfigurar a máquina, será via disco
de boot ou remotamente...
Fizemos um terminal multimídia com recursos presentes em
qualquer distribuição, sem precisar baixar pacotes extras
e sem maiores problemas. Como o Galeon aceita os plugins
do Netscape/Mozilla, as páginas a serem visualizadas poderão
conter Flash, Java, etc...
Qualquer dúvida ou sujestão, entre em contato:
piterpk@terra.com.br
|