Imprimir

Sesión X Window remota con display manager

Este método utiliza el protocolo XDMCP (X Display Manager Control Protocol) y utiliza los puertos 177 UDP y 6000+n TCP (siendo n=DISPLAY, consultar /etc/services), por lo que tendremos que abrirlos en el firewall. Debemos tener en cuenta que este protocolo transmite la información sin cifrar, por lo que es inseguro y sólo debe usarse en entornos de red seguros, como redes locales protegidas por un firewall. Además, no puede ser entunelado en SSH, ya que SSH sólo soporta protocolos TCP.

  • En el servidor, configuraremos Gdm ejecutando como root el comando:
    # gdmsetup

    En Acceso remoto / Configurar XDMCP, habilitaremos las casillas Activar XDMCP y Confiar en las solicitudes indirectas.

    Activar XDMCP

  • Por seguridad, deshabilitaremos el acceso de root tanto local como remoto.

    Deshabilitar acceso de root

  • Después, reiniciaremos Gdm:
    # /etc/init.d/gdm restart
  • A continuación, ejecutaremos en el cliente como usuario normal el comando:
    $ X -query <IP_del_servidor>

    Por ejemplo:

    $ X -query 192.168.1.3

    Una vez hecho esto se nos mostrará la pantalla de login gráfico de Gdm y se iniciará la sesión X remota en la primera tty libre (si no tenemos otra sesión gráfica abierta será la terminal tty7).

  • En el host cliente tendremos activo el proceso servidor X (Xorg):
    $ pstree
    init-+-
         |-login---bash---Xorg

    y en el servidor tendremos activo el proceso window manager (por ejemplo, icewm-session), que cuelga del proceso display manager (gdm):

    $ pstree
    init-+-
         |-gdm---gdm---icewm-session
  • En el servidor se pueden ejecutar otras sesiones gráficas. Por ejemplo, si se ejecuta una sesión gráfica local además de nuestra sesión remota tendremos:
    $ pstree
    init-+-
         |-gdm-+-gdm-+-Xorg
               |     |-icewm-session
               |-gdm---icewm-session
  • Si en el host cliente ya teníamos abierta una sesión X local, para iniciar la sesión X remota tendremos que especificar el DISPLAY:
    $ /usr/bin/X11/X :1 -query 192.168.1.3

    abriéndose la sesión gráfica en la primera tty libre, por ejemplo la terminal tty8. En este caso, los procesos activos en el host cliente serían:

    $ pstree
    init-+-
         |-gdm---gdm-+-Xorg
         |           |-icewm-session
         |-login---bash---Xorg
  • De la misma manera, si queremos abrir otra sesión X remota en el host cliente tendremos que especificar el DISPLAY, por ejemplo:
    $ /usr/bin/X11/X :2 -query 192.168.1.3

    abriéndose la sesión gráfica en la primera tty libre, por ejemplo la terminal tty9. En este caso, los procesos activos en el host cliente serían:

    $ pstree
    init-+-
         |-gdm---gdm-+-Xorg
         |           |-icewm-session
         |-login---bash---Xorg
         |-login---bash---Xorg

    Los procesos activos en el servidor serían:

    $ pstree
    init-+-
         |-gdm-+-gdm-+-Xorg
               |     |-icewm-session
               |-gdm---icewm-session
               |-gdm---icewm-session

Recursos

1 comentario en “Sesión X Window remota con display manager”

Deja un comentario