Piter Punk's HomePage - Artigos
 
English version
Compartilhando uma Sessão do X Window

Piter PUNK

Que é possível executar programas X em uma máquina e visualizar em outras, já não é novidade para ninguém. Servidores de aplicação X estão a cada dia mais comuns. Mas nem sempre é isso que queremos, às vezes queremos nos conectar remotamente à uma seção do X que já está funcionando, e é este o objetivo desse artigo.

1. Introdução

Conectar-se remotamente a uma seção do X em funcionamento tem várias utilidades. Além da óbvia execução de programas em uma máquina remota, pode ser utilizada para a manutenção e monitoramento. Ao invés do pobre responsável pela manutenção ficar se locomovendo pela firma inteira, ele pode acessar a tela do usuário e ir mostrando (enquanto fala no telefone) o que fazer.

Quando utilizamos o VNC em uma máquina com o sistema operacional do Bill, isso é bem simples, o VNC já exporta o ambiente gráfico que está sendo executado. Porém, quando fazemos isso no Linux, o vncserver cria um novo X, e não exporta o que estamos utilizando. Uma luz surgiu no KDE 3.1, onde é mencionado que o desktop corrente é exportado. Segundo os desenvolvedores do KDE, isso é baseado em um tal de RFB.

Como não uso KDE, fui atrás do tal RFB e (surpresa!) ele funciona que é uma maravilha! Agora posso exportar meu desktop sempre, quando resolvem limpar a sala eu posso continuar trabalhando no computador do quarto! Sem interrupção alguma. O processo todo é bem simples, como iremos ver logo abaixo.

2. Obtendo e instalando os softwares

A primeira coisa a fazer é obter os softwares necessários. Como estou utilizando o WindowMaker como gerenciador de janelas, além do rfb iremos baixar também o wmswallow (depois iremos ver o porquê). Baixe estes tarballs:

  • xclass-0.6.2.tar.gz
  • rfb-0.6.1.tar.gz
  • wmswallow.tar.Z

Os dois primeiros podem ser encontrados em http://download.hexonet.com/software/ e o último em http://burse.uni-hamburg.de/~friedel/software/wmswallow.html. Depois, basta compilar...

2.1. xclass

Utilize:

	tar -xvzf xclass-0.6.2.tar.gz
	cd xclass-0.6.2
	./configure
	make
	make install

2.2. rfb

Faça:

	tar -xvzf rfb-0.6.1.tar.gz
	cd rfb-0.6.1
	make depend
	make
	cp x0rfbserver/x0rfbserver /usr/local/bin
	cp xrfbviewer/xrfbviewer /usr/local/bin
	cp xplayfbs/xplayfbs /usr/local/bin
	cp man/man1/* /usr/local/man/man1

2.3. wmswallow

Use os comandos:

	tar -xvZf wmswallow.tar.Z
	cd wmswallow
	make xfree
	cp wmswallow /usr/local/bin/wmswallow

3. Configurando...

Execute o x0rfbserver. Irá aparecer uma tela pedindo as suas configurações. Se você quiser colocar uma senha no seu X que está sendo exportado (o que é uma boa idéia) faça isso agora. Também é possível selecionar outras configurações na segunda aba. Após terminar de configurar, clique em OK.

Irá aparecer uma janelinha com RFB escrito em verde. Se quiser editar novamente as propriedades dele, basta clicar nele com o botão direito e seguir o menu. Quando houver alguém conectado visualizando o seu desktop, o RFB irá ficar com o fundo escuro, assim fica fácil saber quando se está sendo espionado -;)

Faltam agora alguns detalhes para deixar tudo mais bem organizado...

3.1. .xinitrc ou .xsession

Coloque o seu .xinitrc ou .xsession, antes de iniciar o gerenciador de janelas, uma linha com:

	/usr/local/bin/x0rfbserver &

Atenção para o & no final da linha. Isto fará o x0rfbserver ser iniciado toda vez que você entrar no modo gráfico.

3.2. wmswallow

Agora é hora de usar o wmswallow, é bem simples... estando já no WindowMaker e com o x0rfbserver rodando, execute:

	wmswallow x0rfbserver

A janela do x0rfbserver será absorvida por um ícone. Pegue este ícone e o coloque no Clip (ou no Dock). Clique na bordinha dele com o botão direito e no menu selecione Settings. Irá aparecer uma janela com algumas opções, deixe a selecionada a opção Start when Window Maker is started.

Com isto, toda vez que o WindowMaker for acionado, o wmswallow também será... e irá atrair o x0rfbserver para dentro dele, ficando muito mais elegante que aquela janela flutuante.

4. Conclusão

Pronto! Conseguimos sem muito esforço habilitar o compartilhamento de um desktop já em funcionamento. Para testar, basta ir até outro computador (com VNC) e fazer:

	vncviewer computador_rodando_x0rfbserver:0

E utilizar o seu desktop remoto. Além de usos em manutenção e da facilidade da mobilidade, esse recurso também gera várias possibilidades em sala de aula (já que existe uma opção do x0rfbserver para impedir os visualizadores remotos de manipular a máquina remota).

Qualquer dúvida, crítica ou idéia a respeito deste artigo, mande e-mail para: 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