मैं X11 फ़ॉरवर्डिंग और SSH के माध्यम से विभिन्न सूक्ति अनुप्रयोगों को चलाने का प्रयास कर रहा हूं। कुछ एप्लिकेशन पहले 'स्पैनिश-लॉन्च' एप्लिकेशन का कारण बनेंगे। समस्या यह है कि एक्स एप्लिकेशन के बाहर निकलने पर डब-लॉन्च बंद नहीं होता है, और इसलिए एसएसएच सत्र को ठीक से बंद करने से पहले इसे मार दिया जाना चाहिए।
मुझे लगता है कि समस्या यह है कि X / Gnome एप्लिकेशन मुख्य संदेश बस डेमॉन से जुड़ नहीं सकते हैं और इसलिए उन्हें अपनी प्रति लॉन्च करनी चाहिए? मैं इसे कैसे ठीक करूं? या मैं क्या याद कर रहा हूँ?
यहाँ एक उदाहरण है। मेरे पास X11 अग्रेषण सक्षम है, सभी ठीक काम करने लगता है।
[me@host ~]$ gnome-calculator &
[1] 4803
(यहाँ gcalctool प्रोग्राम लॉन्च हुआ है और मेरे एक्स एक्स सर्वर (Xming) को प्रदर्शित किया गया है)
[me@host ~]$ ps
PID TTY TIME CMD
4706 pts/0 00:00:00 bash
4803 pts/0 00:00:00 gnome-calculator
4807 pts/0 00:00:00 dbus-launch
4870 pts/0 00:00:00 ps
(अब, दूरस्थ सत्र में gcalctool ऐप को बंद करने के बाद)
[me@host ~]$ ps
PID TTY TIME CMD
4706 pts/0 00:00:00 bash
4807 pts/0 00:00:00 dbus-launch
4898 pts/0 00:00:00 ps
ध्यान दें कि डब-लॉन्च अभी भी सक्रिय है। और सबसे खराब हिस्सा, यह एसएसएच कनेक्शन को ठीक से बंद होने से रोकता है जब तक कि इसे मार नहीं दिया जाता है।
ध्यान दें कि सिस्टम वाइड मैसेज डेमॉन चल रहा है, जैसा कि यहां देखा जा सकता है:
[me@host ~]$ ps ax
4696 ? Ssl 0:00 dbus-daemon --system
मुझे यहां क्या समझ नहीं आ रहा है? मैंने यह व्यवहार पहले कभी नहीं देखा। संभवतया, मैंने कभी ऐसे एप्लिकेशन देखे हैं जो संदेश बस डेमॉन से अनहोनी से जुड़ सकते हैं? मैंने उत्तर के लिए / etc / dbus-1 में देखा है, लेकिन यह नहीं जानता कि क्या देखना है।
मदद के लिए अग्रिम धन्यवाद।
[संपादित करें]
ठीक है, मुझे एहसास हो रहा है कि मैं एक आम समस्या का सामना कर रहा हूं। ऐसा लगता है कि यह एक काफी सामान्य व्यवहार है, लेकिन एक अच्छा समाधान के बिना। मैं SSH हैंग का अनुभव कर रहा हूं क्योंकि dbus-launch अभी भी tty में सक्रिय है। लेकिन चुपचाप होने के लिए डब-लॉन्च प्राप्त करने का कोई अच्छा तरीका नहीं है।
/Etc/X11/xinit/xinitrc.d/00-start-message-bus.sh को देखते हुए "सामान्य" X सत्र के साथ जो होना चाहिए, वह कुछ संकेत देता है। यह तब काम नहीं करता है जब किसी X अनुप्रयोग को दूरस्थ X सर्वर पर लागू करने के लिए।
अस्थायी वर्कअराउंड के रूप में, मैंने इसे अपने .bash_logout में जोड़ा है:
# ~/.bash_logout
pkill -u $USER -t `tty | cut -d '/' -f 3,4` dbus-launch
यह SSH सत्र को बंद करने की अनुमति देगा, लेकिन यह हास्यास्पद लगता है। क्या कोई बेहतर उपाय है? डब के बिना दूरस्थ X11 अनुप्रयोगों को चलाने का उचित तरीका क्या है?