Piter Punk's HomePage - Artigos
 
English version
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


Links Principal Artigos Piter Punk Dicas Programas
 
Powered by Slackware Linux - Written in VIm (the best one!) Last Update: 30 Oct 2004