क्या यह पता लगाने का कोई तरीका है कि वर्तमान सत्र उपयोगकर्ता Xserver (Linux के अंतर्गत) चला रहा है या नहीं?एक्स सर्वर चल रहा है या नहीं जांचें?
I'v जैसी चीजों के साथ शुरुआत की:
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
लेकिन मैं एक स्क्रिप्ट तरीका के लिए देख रहा हूँ।
क्यों नहीं देता है "ps -e | grep X "हमेशा काम करते हैं? – stephendl
और $ DISPLAY काम क्यों नहीं करता है? –
@stephendl: मैंने पाया कि कुछ स्थितियों में एक्स चल रहा है लेकिन उपयोगकर्ता टर्मिनल के माध्यम से कोई एक्स @matthew के साथ जुड़ा हुआ है: क्या होगा यदि उपयोगकर्ता fiddles यह चर और यह अब सिस्टम की वास्तविक स्थिति को प्रतिबिंबित नहीं करता है? –