X11, Wayland y gestores de sesión gráfica

Introducción

El entorno gráfico en Linux se construye en capas. En la base está el servidor gráfico (X11 o Wayland), encima el gestor de sesión (display manager) que muestra la pantalla de login, y sobre eso el entorno de escritorio (GNOME, KDE, XFCE…).

X11 / Xorg — El servidor gráfico clásico

X Window System (X11) es el sistema de ventanas clásico de Linux y Unix. El servidor Xorg actúa como intermediario entre el hardware gráfico y las aplicaciones. Utiliza una arquitectura cliente-servidor que permite ejecutar aplicaciones gráficas de forma remota.

Instalación:


# apt install xorg            # Debian/Ubuntu
# dnf install xorg-x11-server-Xorg   # Fedora/RHEL
          

Variable de entorno DISPLAY:

Las aplicaciones gráficas saben a qué servidor X conectarse mediante la variable DISPLAY.


$ echo $DISPLAY       # muestra :0 o :0.0 en entorno local
$ export DISPLAY=:0   # definirla manualmente
          

Archivo .xinitrc:

Cuando se inicia una sesión gráfica sin display manager, el archivo ~/.xinitrc define qué entorno de escritorio o gestor de ventanas lanzar.


# ~/.xinitrc
exec startxfce4
          

$ startx          # iniciar sesión gráfica usando .xinitrc
          

Herramientas de diagnóstico X11:


$ xrandr                     # listar y configurar resoluciones y monitores
$ xrandr --output HDMI-1 --mode 1920x1080   # cambiar resolución
$ xdpyinfo                   # información detallada del display
$ xlsclients                 # listar clientes X conectados
$ DISPLAY=:0 xterm           # abrir xterm en el display :0
          

Wayland — El servidor gráfico moderno

Wayland es el sucesor de X11. Simplifica la arquitectura eliminando el servidor intermediario: el compositor Wayland hace directamente de servidor gráfico. Es más seguro (el aislamiento entre aplicaciones es mejor) y más eficiente.

  • GNOME usa Wayland por defecto desde la versión 3.22
  • KDE Plasma usa Wayland por defecto desde la versión 6
  • Los compositores más conocidos son Mutter (GNOME) y KWin (KDE)
  • Para servidores o cuando se necesita acceso remoto gráfico, X11 sigue siendo más compatible

Verificar si se usa X11 o Wayland:


$ echo $XDG_SESSION_TYPE     # devuelve x11 o wayland
$ loginctl show-session $(loginctl | grep $(whoami) | awk '{print $1}') -p Type
          

Gestores de sesión (Display Managers)

El display manager muestra la pantalla de login gráfica y lanza la sesión del usuario. Es un servicio systemd más, que depende de graphical.target.


GDM    → GNOME Display Manager (usado por GNOME, Ubuntu)
LightDM → Display Manager ligero (Ubuntu antiguo, XFCE, LXDE)
SDDM   → Simple Desktop Display Manager (KDE Plasma)
XDM    → X Display Manager (básico, histórico)
          

Gestionar el display manager con systemctl:


$ systemctl status gdm          # ver estado de GDM
# systemctl restart lightdm     # reiniciar LightDM
# systemctl enable sddm         # habilitar SDDM al arranque
# systemctl set-default graphical.target   # activar arranque gráfico
# systemctl set-default multi-user.target  # desactivar arranque gráfico
          

Cambiar el display manager predeterminado (Debian/Ubuntu):


# dpkg-reconfigure gdm3         # asistente para elegir el DM por defecto
          

Entornos de escritorio

  • GNOME → moderno, intuitivo, usado en Ubuntu y Fedora por defecto. Usa GTK
  • KDE Plasma → muy personalizable, completo, similar a Windows. Usa Qt
  • XFCE → ligero y rápido, ideal para equipos con pocos recursos
  • LXDE / LXQt → muy ligero, para hardware antiguo
  • MATE → fork de GNOME 2, clásico y ligero
  • Cinnamon → usado en Linux Mint, aspecto tradicional

En servidores no se instala entorno gráfico. En escritorios, la elección entre X11 y Wayland depende de la distribución y las necesidades de compatibilidad.

Monitorización de memoria: free, vmstat, /proc/meminfo, smem

Índice de la sección

Índice del curso