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
|