logo       

Redirecionando o X (X11 Forwarding) no GNU/Linux: msg#02683

culture.publications.dicas

Subject: Redirecionando o X (X11 Forwarding) no GNU/Linux

Consultório Sentimental: Rau-Tu Madame Myrna
http://rau-tu.univates.br/madame_myrna/
--------------------------------------------------------------------

Redirecionando o X (X11 Forwarding) no GNU/Linux
================================================

Colaboração: Sandro do Prado Gambini

Muitos já tabalharam com o redirecionamento do X, ou seja, em uma máquina
servidora (que pode ser qquer distro GNU/Linux) setamos a variável de sistema
$DISPLAY para o ip_cliente:0.0 e ao executarmos qualquer programa que se
utiliza do ambiente gráfico X, a interface do programa vai ser aberta na
máquina especificada em $DISPLAY.

Para isto antes temos que certificar que o X da máquina cliente está apto
a receber conexões remotas. Em distribuições voltadas para o desktop como
o Kurumin e o Ubuntu, geralmente o X é aberto com a opção -no listen tcp,
que desabilita a opção de receber conexões remotas. Uma forma de verificarmos
isto é através do comando ntstat, veja:


kurumin@cliente:~$ netstat -atn
Conexões Internet Ativas (servidores e estabelecidas)
Proto Recv-Q Send-Q Endereço Local Endereço Remoto Estado
tcp 0 0 0.0.0.0:111 0.0.0.0:* LISTEN
tcp 0 0 0.0.0.0:631 0.0.0.0:* LISTEN

Quando o X está apto a receber conexões remotas veremos a porta 6000 em estado
"LISTEN" e quando não estiver apto, simplesmente não aparecerá essa porta em
escuta. Caso a porta não esteja em LISTEN (escutando), como no exemplo acima,
teremos que verificar como o gerenciador de display executa o X.

Nas distros que possuem o KDE como ambiente gráfico, o gerenciador de display
utilizado é o KDM (KDE Display Manager), como no Kurumin e nas distros que
utilizam o Gnome normalmente é utilizado o GDM (GNOME Display Manager),
como no Ubuntu por exemplo. Existe ainda o XDM (X Display Manager) que é o
gerenciador implementado pelo próprio X.

Para saber como o KDM e o GDM vão executar o X temos que verificar os
seguintes arquivos:

1. No KDM, no arquivo /etc/kde3/kdm/Xservers
temos a seguinte linha que inibe o redirecionamento do X:

:0 local@tty1 /etc/X11/X -dpi 75 -nolisten tcp vt7


esta linha deve ser substituída pela linha abaixo:

:0 local@tty1 /etc/X11/X -dpi 75 vt7


observem que foi retirado o parâmetro "-nolisten tcp"

2. No GDM em /etc/gdm/gdm.conf
Procure pela sessão

[security]


e altere a opção:

DisallowTCP=True


para:

DisallowTCP=false


Resumindo, vamos supor um ambiente de rede com um Servidor, ip 192.168.1.1 e
uma máquina Cliente, ip 192.168.1.2 e vamos executar um programa no Servidor
e visualizá-lo no Cliente, ou seja redirecinando o X:

1. Temos que certificar que a porta tcp:6000 está aberta (LISTEN);

kurumin@cliente:~$ netstat -atn
Conexões Internet Ativas (servidores e estabelecidas)
Proto Recv-Q Send-Q Endereço Local Endereço Remoto Estado
tcp 0 0 0.0.0.0:111 0.0.0.0:* LISTEN
tcp 0 0 0.0.0.0:6000 0.0.0.0:* LISTEN
tcp 0 0 0.0.0.0:631 0.0.0.0:* LISTEN


2. Acrescentar à lista de controle de acesso do X local(cliente), o ip do
servidor

kurumin@cliente:~$ xhost +192.168.1.1
192.168.1.1 being added to access control list

ou ainda desabilitar o controle de acesso do X local(cliente):

kurumin@cliente:~$ xhost +
access control disabled, clients can connect from any host

3. Abrir uma conexão com o Servidor:


kurumin@cliente:~$ telnet 192.168.1.1

ou

kurumin@cliente:~$ ssh usuario@xxxxxxxxxxx


4. Já no Servidor basta apontar a variável $DISPLAY para o cliente (para o ssh
não precisa):


kurumin@Server1:~$ export DISPLAY=192.168.1.2:0.0


5. E finalmente executar o programa desejado:


kurumin@Server1:~$ mozilla &


Com isso o navegador mozilla firefox será executado no servidor porém será
visualizado na máquina local.

--------------------------------------------------------------------
Veja também do arquivo da Dicas-L:

"Canivete Suiço do Programador Shell (Bash)"
http://www.dicas-l.com.br/dicas-l/20040410.php

"Gthumb: Geração de Albuns para a Web"
http://www.dicas-l.com.br/dicas-l/20040816.php

"Tecnologias Livres para Celulares"
http://www.dicas-l.com.br/dicas-l/20040127.php

"Guia Programação Bash"
http://www.dicas-l.com.br/dicas-l/20040821.php

"Achando os pacotes RPM que contém depedências não resolvidas"
http://www.dicas-l.com.br/dicas-l/20041021.php

--------------------------------------------------------------------
Colabore com a Dicas-L. Publique seu comentário sobre esta mensagem
em http://www.Dicas-L.com.br/dicas-l/20060730.php
--------------------------------------------------------------------
As mensagens da lista Dicas-L são veiculadas diariamente
para 27556 assinantes.

Todas as mensagens da Dicas-L ficam armazenadas em
http://www.Dicas-L.com.br/dicas-l/

A redistribuição desta e outras mensagens da lista Dicas-L pode
ser feita livremente segundo a licença Creative Commons
http://creativecommons.org/licenses/by-nc-sa/2.0/br/deed.pt

Dicas-L: Uma dica por dia desde 3 de março de 1997
--------------------------------------------------------------------



<Prev in Thread] Current Thread [Next in Thread>
Google Custom Search

News | FAQ | advertise