De acordo com as Leis 12.965/2014 e 13.709/2018, que regulam o uso da Internet e o tratamento de dados pessoais no Brasil, ao me inscrever na newsletter do portal DICAS-L, autorizo o envio de notificações por e-mail ou outros meios e declaro estar ciente e concordar com seus Termos de Uso e Política de Privacidade.
Colaboração: Sandro do Prado Gambini
Data de Publicação: 30 de Julho de 2006
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:
:0 local@tty1 /etc/X11/X -dpi 75 -nolisten tcp vt7esta linha deve ser substituída pela linha abaixo:
:0 local@tty1 /etc/X11/X -dpi 75 vt7observem que foi retirado o parâmetro "-nolisten tcp"
[security]e altere a opção:
DisallowTCP=Truepara:
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:
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
kurumin@cliente:~$ xhost +192.168.1.1 192.168.1.1 being added to access control listou ainda desabilitar o controle de acesso do X local(cliente):
kurumin@cliente:~$ xhost + access control disabled, clients can connect from any host
kurumin@cliente:~$ telnet 192.168.1.1ou
kurumin@cliente:~$ ssh usuario@192.168.1.1
kurumin@Server1:~$ export DISPLAY=192.168.1.2:0.0
kurumin@Server1:~$ mozilla &
Com isso o navegador mozilla firefox será executado no servidor porém será visualizado na máquina local.
This policy contains information about your privacy. By posting, you are declaring that you understand this policy:
This policy is subject to change at any time and without notice.
These terms and conditions contain rules about posting comments. By submitting a comment, you are declaring that you agree with these rules:
Failure to comply with these rules may result in being banned from submitting further comments.
These terms and conditions are subject to change at any time and without notice.
Comentários