Saya mencoba menjalankan berbagai aplikasi Gnome melalui X11 Forwarding dan SSH. Beberapa aplikasi akan menyebabkan aplikasi 'dbus-launch' muncul pertama kali. Masalahnya adalah bahwa peluncuran dbus tidak menutup ketika aplikasi X keluar, dan karena itu harus dibunuh sebelum sesi SSH dapat ditutup dengan benar.
Saya berasumsi masalahnya adalah bahwa aplikasi X / Gnome tidak dapat terhubung dengan daemon bus pesan utama dan karena itu harus meluncurkan salinannya sendiri? Bagaimana saya bisa memperbaikinya? Atau apa yang saya lewatkan?
Berikut ini sebuah contoh. Saya telah mengaktifkan X11 Forwarding, semua sepertinya berfungsi dengan baik.
[me@host ~]$ gnome-calculator &
[1] 4803
(di sini program gcalctool diluncurkan dan ditampilkan ke server X saya hapus (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
(sekarang, setelah menutup aplikasi gcalctool di sesi jarak jauh)
[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
Perhatikan bahwa peluncuran dbus masih aktif. Dan bagian terburuknya, ini mencegah koneksi SSH dari menutup dengan benar sampai terbunuh.
Perhatikan bahwa daemon pesan lebar sistem sedang berjalan, seperti yang dapat dilihat di sini:
[me@host ~]$ ps ax
4696 ? Ssl 0:00 dbus-daemon --system
Apa yang kulewatkan di sini? Saya belum pernah melihat perilaku ini sebelumnya. Agaknya, saya hanya pernah melihat aplikasi yang dapat terhubung ke daemon bus pesan tanpa hambatan? Saya telah mencari di / etc / dbus-1 untuk jawaban, tetapi tidak tahu harus mencari apa.
Terima kasih sebelumnya atas bantuannya.
[EDIT]
Oke, saya menyadari bahwa saya mengalami masalah yang sama. Sepertinya ini adalah perilaku yang cukup umum, tetapi tanpa solusi yang baik. Saya mengalami hang SSH karena dbus-launch masih aktif di tty. Tapi sepertinya tidak ada cara yang baik untuk membuat peluncuran dbus terjadi dengan tenang.
Melihat /etc/X11/xinit/xinitrc.d/00-start-message-bus.sh memberikan beberapa petunjuk tentang apa yang seharusnya terjadi dengan sesi X "normal". Ini tentu saja tidak berfungsi ketika hanya menjalankan aplikasi X ke server X jarak jauh.
Sebagai solusi sementara, saya telah menambahkan ini ke .bash_logout saya:
# ~/.bash_logout
pkill -u $USER -t `tty | cut -d '/' -f 3,4` dbus-launch
Ini akan memungkinkan sesi SSH untuk menutup, tetapi rasanya kumal. Apakah ada solusi yang lebih baik di luar sana? Apa cara yang tepat untuk menjalankan aplikasi X11 jarak jauh tanpa dbus menghalangi?