Acesso direto ao conteúdo
Logotipo Dicas-L, por Ricardo Burile

Busca

Visite também: Segurança Linux ·  UnderLinux ·  VivaOLinux ·  LinuxSecurity ·  NoticiasLinux ·  BR-Linux ·  SoftwareLivre.org ·  [mais]   
 

Você está aqui: Home  → Arquivo Dicas-L

 

Curso de Inglês Online

Assine a Lista Dicas-L

Receba diariamente por email as dicas
de informática publicadas neste site
Para se descadastrar, clique aqui.

Redirecionando o X (X11 Forwarding) no GNU Linux

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:

  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@192.168.1.1
    

  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 a relação completa dos artigos de Sandro do Prado Gambini

Formato PDF
Newsfeed RSS
Formato para impressão
PDF RSS Imprimir

Referências Adicionais

Referências adicionais sobre os assuntos abordados neste site podem ser encontradas em nossa Bibliografia.

Avalie esta dica

  • Currently 2.97/5
  • 1
  • 2
  • 3
  • 4
  • 5

Avaliação: 3.0 /5 (1640 votos)

Opinião dos Leitores

Seja o primeiro a comentar este artigo
*Nome:
Email:
Me notifique sobre novos comentários nessa página
Oculte meu email
*Texto:
 
  Para publicar seu comentário, digite o código contido na imagem acima
 


Powered by Scriptsmill Comments Script

Treinamentos, Consultorias e Soluçoes em TI. Baseados em softwares livres e padrões abertos para ambientes de missão crítica

Submarino.com.br

SEM e SEO - 2ª Edição