現在のセッション ユーザーが (Linux で) Xserver を実行しているかどうかを確認する方法はありますか?
私は次のようなことから始めました:
ps -e | grep X
しかし、これは常に機能するとは限りません
私が試したもう1つのことは、$DISPLAY
変数をチェックすることです
これを確認する他の方法はありますか?
編集:
変数の使用を提案した人もい$DISPLAY
ますが、ユーザーがこの変数をいじるとどうなるでしょうか? 彼が何かをしようとしてこの変数を変更し、それをチェックしたときに、システムの正確な状態が反映されなくなったらどうなるでしょうか。常に正しい答えを返す特定の方法はありませんか?
次のようにプログラムで実行できることがわかりました。
#include <X11/Xlib.h>
int main()
{ exit(XOpenDisplay(NULL) ? 0 : 1); }
$ gcc -o xprobe xprobe.c -L/usr/X11R6/lib -lX11
しかし、私はスクリプトの方法を探しています。