Imprimir

Sesión X Window local con startx

El script startx es un wrapper para xinit, con más funcionalidades. Por ejemplo, arranca el window manager por defecto en el "sistema de alternativas", en concreto el enlace:

/etc/alternatives/x-session-manager

Si no existe ese enlace, arrancará:

/etc/alternatives/x-window-manager

Si existe el archivo ~/.xinitrc lo ejecutará. Si contiene una línea similar a:

exec /usr/bin/fluxbox

será ese window manager el que se ejecute. Si queremos lanzar un programa al iniciar la sesión añadiremos a este archivo una línea similar a (por ejemplo):

idesk &

Para iniciar una sesión X (con el window manager por defecto) ejecutaremos el comando:

$ startx

Si queremos arrancar un window manager concreto, ejecutaremos:

$ startx <ejecutable_window_manager>

Por ejemplo, para arrancar Xfce:

$ startx startxfce4

¿Cómo sabemos cuál es el ejecutable de un window manager? Para saber cuál es el ejecutable que lanza un window manager consultaremos el archivo:

/usr/share/xsessions/<window_manager>.desktop

Hay uno para cada window manager que tengamos instalado en nuestra máquina. Algunos ejecutables de window manager son:

  • KDE: startkde
  • GNOME: gnome-session
  • Xfce: startxfce4
  • IceWM: icewm-session
  • FluxBox: startfluxbox
  • WindowMaker: wmaker
  • Enlightenment: starte16

Los procesos que tendremos activos serán:

$ pstree
init-+-
     |-login---bash---startx---xinit-+-Xorg
                                     |-x-session-manager-+-icewm

Para iniciar una segunda sesión haremos:

$ startx -- :1

Los procesos que tendremos activos serán:

$ pstree
init-+-
     |-login---bash---startx---xinit-+-Xorg
     |                               |-x-session-manager-+-icewm
     |-login---bash---startx---xinit-+-Xorg
                                     |-x-session-manager-+-icewm

1 comentario en “Sesión X Window local con startx”

  • Manuel Vazquez dice:

    Es una duda con respecto al articulo sobre las X en un sistema Linux. En ese articulo explicas la forma de abrir más de una sesión a un mismo equipo. La cuestión es si por accidente se desconecta uno de las X, y en el caso de que no se cierra la misma, ¿como se conecta uno a esa sesión? Aún no he encontrado una resolución a dicho problema.

    Esto lo pregunto por que estoy trabajando en un proyecto de terminales ligeros parecido a LTSP (TCOS) y hemos detectado ese comportamiento cuando se corta la conexión.

    1 saludo.

Deja un comentario