Obtener resolución de Xorg remotamente

2019/11/25

Se desea obtener la resolución de una instancia del servidor Xorg de forma remota utilizando ssh para lo cual se utilizará el programa xrandr.

Para ello, luego de conectarnos al pc utilizando ssh se listarán los procesos correspondientes al servidor Xorg:

$ pgrep -a Xorg
1894 /usr/lib/xorg/Xorg -core :0 -seat seat0 -auth /var/run/lightdm/root/:0 -nolisten tcp vt7 -novtswitch
3005 /usr/lib/xorg/Xorg -core :1 -seat seat0 -auth /var/run/lightdm/root/:1 -nolisten tcp vt8 -novtswitch

De estos se deberá elegir uno de los procesos anteriores, al cual se le consultará, mediante el programa xrandr por la resolución utilizada. En lo que sigue y como ejemplo se elegirá el correspondiente al display 0.

Para poder conectarnos al servidor Xorg se necesitará establecer dos variables de entorno:

  1. DISPLAY, correspondiente a display name, que indica a las aplicaciones como deben conectarse al servidor Xorg.
  2. XAUTHORITY, relativa al control de acceso, indica la ruta del archivo de autorización, que contiene la información necesaria para obtener acceso al servidor Xorg.

Ya que es probable que no pueda tenerse acceso con un usuario normal a las rutas en las que se encuentre el archivo de authorización, se utilizará [sudo][sudo] para ejecutar el comando xrandr. Tomando de la salida anterior los valores del display name y la ruta del authorization file se tiene:

$ sudo DISPLAY=:0 XAUTHORITY=/var/run/lightdm/root/:0 xrandr