有没有办法找出当前会话用户是否正在运行Xserver(在Linux下)?
我从以下事情开始:
ps -e | grep X
但这并不总是有效
我尝试的另一件事是检查$DISPLAY
变量
还有其他方法可以检查吗?
编辑:有人建议使用$ DISPLAY变量,但是如果用户摆弄这个变量怎么办?如果他尝试执行某项操作并更改此变量,然后在我检查它时,它将不再反映系统的准确状态该怎么办?是否有特定方法可以始终返回正确答案?
我发现可以通过编程方式完成:
#include <X11/Xlib.h>
int main()
{ exit(XOpenDisplay(NULL) ? 0 : 1); }
$ gcc -o xprobe xprobe.c -L/usr/X11R6/lib -lX11
但是我正在寻找一种脚本方式。