有什么方法可以查明当前会话用户是否正在运行 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
但我正在寻找一种脚本方式。