Gibt es eine Möglichkeit herauszufinden, ob der aktuelle Sitzungsbenutzer einen Xserver (unter Linux) ausführt?
Ich habe mit Dingen angefangen wie:
ps -e | grep X
das funktioniert aber nicht immer
und eine weitere Sache, die ich versucht habe, ist die Überprüfung der $DISPLAY
Variablen
Gibt es andere Möglichkeiten, dies zu überprüfen?
BEARBEITEN: Einige Leute schlugen vor, die $ DISPLAY-Variablen zu verwenden, aber was ist, wenn der Benutzer mit dieser Variablen spielt? Was ist, wenn er versucht, etwas zu tun und diese Variable ändert? Wenn ich sie dann überprüfe, spiegelt sie nicht mehr den genauen Zustand des Systems wider. Gibt es dafür keinen bestimmten Weg, der immer eine korrekte Antwort zurückgibt?
Ich fand, dass es programmatisch so gemacht werden kann:
#include <X11/Xlib.h>
int main()
{ exit(XOpenDisplay(NULL) ? 0 : 1); }
$ gcc -o xprobe xprobe.c -L/usr/X11R6/lib -lX11
Aber ich suche einen Drehbuchweg.