ฉันพยายามเรียกใช้แอปพลิเคชัน Gnome ต่างๆผ่าน X11 Forwarding และ SSH แอปพลิเคชั่นบางตัวจะทำให้แอปพลิเคชัน 'dbus-launch' ถูกวางก่อน ปัญหาคือการเปิดตัว dbus ไม่ปิดเมื่อออกจากแอปพลิเคชัน X ดังนั้นจึงต้องถูกฆ่าก่อนที่จะปิดเซสชัน SSH อย่างถูกต้อง
ฉันถือว่าปัญหาคือแอปพลิเคชั่น X / Gnome ไม่สามารถเชื่อมต่อกับ daemon บัสข้อความหลักและดังนั้นจึงต้องเปิดตัวสำเนาของตัวเอง? ฉันจะแก้ไขสิ่งนี้ได้อย่างไร หรือฉันหายไปอะไร
นี่คือตัวอย่าง ฉันเปิดใช้งานการส่งต่อ X11 ดูเหมือนว่าทั้งหมดจะทำงานได้ดี
[me@host ~]$ gnome-calculator &
[1] 4803
(ที่นี่โปรแกรม gcalctool เปิดตัวและจะปรากฏขึ้นเพื่อลบ X server ของฉัน (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
โปรดทราบว่า dbus-launch ยังคงทำงานอยู่ และส่วนที่แย่ที่สุดก็คือการปิดการเชื่อมต่อ SSH อย่างถูกต้องจนกว่ามันจะถูกฆ่า
โปรดทราบว่า daemon ข้อความของระบบกำลังทำงานอยู่ดังที่เห็นได้ที่นี่:
[me@host ~]$ ps ax
4696 ? Ssl 0:00 dbus-daemon --system
สิ่งที่ฉันหายไปที่นี่? ฉันไม่เคยเห็นพฤติกรรมนี้มาก่อน ฉันเคยเห็นแอปพลิเคชั่นที่สามารถเชื่อมต่อกับ daemon บัสข้อความได้หรือไม่ ฉันค้นหา / etc / dbus-1 เพื่อหาคำตอบ แต่ไม่รู้ว่าจะหาอะไร
ขอบคุณล่วงหน้าสำหรับความช่วยเหลือ
[แก้ไข]
ตกลงฉันตระหนักว่าฉันกำลังประสบปัญหาทั่วไป ดูเหมือนว่านี่เป็นพฤติกรรมปกติ แต่ไม่มีวิธีแก้ปัญหาที่ดี ฉันกำลังประสบปัญหา SSH หยุดทำงานเนื่องจากการเปิดตัว dbus ยังคงทำงานอยู่ใน tty แต่ดูเหมือนจะไม่มีวิธีที่ดีในการทำให้ dbus-launch เกิดขึ้นอย่างเงียบ ๆ
การดูที่ /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 แต่รู้สึก kludgy มีวิธีแก้ปัญหาที่ดีกว่านี้อีกไหม? วิธีที่เหมาะสมในการใช้งานแอปพลิเคชั่น X11 ระยะไกลโดยไม่ต้องใช้ dbus เข้าทางคืออะไร?