Есть ли способ узнать, работает ли текущий пользователь сеанса Xserver (под Linux)?
Я начал с таких вещей, как:
ps -e | grep X
но это не всегда работает
и еще одна вещь, которую я пробовал, - это проверить переменную $DISPLAY
Есть ли другие способы проверить это?
EDIT: Некоторые люди предложили использовать переменные $DISPLAY, но что делать, если пользователь спрятал эту переменную? что, если он пытается что-то сделать и изменяет эту переменную, а затем, когда я ее проверю, он больше не отражает точное состояние системы. Нет ли конкретного способа сделать это, который всегда вернет правильный ответ?
Я обнаружил, что это можно сделать программным образом:
#include <X11/Xlib.h>
int main()
{ exit(XOpenDisplay(NULL) ? 0 : 1); }
$ gcc -o xprobe xprobe.c -L/usr/X11R6/lib -lX11
Но я ищу способ script.