有没有办法查明当前会话用户是否正在运行 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
但我正在寻找一个脚本的方式。