¿Hay alguna forma de averiguar si el usuario de la sesión actual está ejecutando un servidor X (en Linux)?¿Cómo verificar si el servidor X se está ejecutando?
Me'v comenzó con cosas como:
ps -e | grep X
pero esto no funciona siempre
y una cosa más trataba está comprobando la variable de $DISPLAY
¿Hay alguna otra formas de verificar esto?
EDIT: Algunas personas sugirieron usar las variables $ DISPLAY, pero ¿qué pasa si el usuario juguetea con esta variable? ¿Qué pasa si él trata de hacer algo y cambia esta variable y luego cuando la reviso, ya no refleja un estado preciso del sistema? ¿No hay una forma específica de hacer esto que siempre devolverá una respuesta correcta?
He descubierto que se puede hacer mediante programación de este modo:
#include <X11/Xlib.h>
int main()
{ exit(XOpenDisplay(NULL) ? 0 : 1); }
$ gcc -o xprobe xprobe.c -L/usr/X11R6/lib -lX11
pero estoy buscando una manera de guión.
por qué no "ps -e | grep X "¿siempre funciona? – stephendl
¿Y por qué no funciona $ DISPLAY? –
@stephendl: Encontré que en algunas situaciones X se está ejecutando pero el usuario está conectado a través de un terminal sin X @matthew: ¿Qué pasa si el usuario juega con esta variable y ya no refleja el estado real del sistema? –