有没有办法找出当前会话用户是否正在运行 X 服务器(在 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
但我正在寻找一种脚本方式。