ejecutar-app-grafica-en-otra-sesion-x11-raspberry-pi

Cómo ejecutar una aplicación en otra sesión de x11 en Raspberry Pi

En una Raspberry Pi, como en cualquier sistema Linux, es posible gestionar múltiples sesiones gráficas simultáneamente.

X11 o X Window System es un sistema de ventanas para sistemas Unix y Linux que proporciona la base para la interfaz gráfica de usuario (GUI). Permite a los usuarios ejecutar aplicaciones gráficas y manejar ventanas en su escritorio.

Esto puede ser útil para ejecutar varias aplicaciones gráficas en diferentes sesiones de X11 (X Window System) sin interferir entre sí. También es muy útil cuando tenemos una Raspberry Pi en un montaje con varias pantallas, algunas de las cuales pueden ser “no normales”.

Por ejemplo, esto algo habitual en el caso de una máquina que está destinada a reproducir un video, o una aplicación, o incluso un robot con una pantalla, donde realmente una de las pantallas no es una pantalla “normal”.

En este artículo, exploraremos cómo ejecutar una aplicación gráfica en otra sesión de X11 en Raspberry Pi y, si es necesario, cómo acceder a una sesión de otro usuario importando su token de autenticación.

Ejecutar aplicación en otra sesión

Para ejecutar una aplicación en otra sesión de X11, utilizamos el siguiente comando:

DISPLAY=:0.0 applicationName &

Aquí,

  • DISPLAY=:0.0 indica que la aplicación se ejecutará en la primera sesión de X11 (:0) y en la primera pantalla de esa sesión (.0).
  • El carácter & al final del comando permite que la aplicación se ejecute en segundo plano.

Ejecutar en sesión de otro usuario

Si necesitamos ejecutar la aplicación en una sesión de X11 que pertenece a otro usuario, primero debemos importar el token de autenticación (xauth token) del usuario propietario de esa sesión.

Esto se hace con el siguiente comando:

xauth merge ~user/.Xauthority

En este comando,

  • ~user/.Xauthority es la ruta al archivo .Xauthority del otro usuario, que contiene la información necesaria para autenticarse en su sesión de X11.

Al ejecutar este comando, importamos ese token de autenticación a nuestra sesión, permitiéndonos ejecutar aplicaciones en la sesión del otro usuario.