Sto tentando di eseguire varie applicazioni Gnome tramite X11 Forwarding e SSH. Alcune applicazioni causeranno la prima generazione dell'applicazione 'dbus-launch'. Il problema è che dbus-launch non si chiude all'uscita dall'applicazione X e quindi deve essere interrotto prima che la sessione SSH possa essere chiusa correttamente.
Presumo che il problema sia che le applicazioni X / Gnome non riescono a connettersi con il demone principale del bus dei messaggi e quindi devono avviare la propria copia? Come posso risolvere questo problema? O cosa mi sto perdendo?
Ecco un esempio Ho X11 Forwarding abilitato, tutto sembra funzionare bene.
[me@host ~]$ gnome-calculator &
[1] 4803
(qui il programma gcalctool si avvia e viene visualizzato sul mio server X di rimozione (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
(ora, dopo aver chiuso l'app gcalctool nella sessione remota)
[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
Si noti che dbus-launch è ancora attivo. E la parte peggiore, questo impedisce alla connessione SSH di chiudersi correttamente fino a quando non viene uccisa.
Si noti che il daemon di messaggi a livello di sistema è in esecuzione, come si può vedere qui:
[me@host ~]$ ps ax
4696 ? Ssl 0:00 dbus-daemon --system
Cosa mi sto perdendo qui? Non ho mai visto questo comportamento prima. Presumibilmente, ho sempre visto senza ostacoli le applicazioni in grado di connettersi al demone del bus dei messaggi? Ho cercato in / etc / dbus-1 le risposte, ma non so cosa cercare.
Grazie in anticipo per l'aiuto.
[MODIFICARE]
OK, sto realizzando che sto riscontrando un problema comune. Sembra che questo sia un comportamento abbastanza comune, ma senza una buona soluzione. Sto sperimentando il blocco SSH perché dbus-launch è ancora attivo nel tty. Ma a quanto pare non c'è un buon modo per far sì che il lancio del dbus avvenga in modo silenzioso.
Guardare /etc/X11/xinit/xinitrc.d/00-start-message-bus.sh dà qualche indizio su cosa dovrebbe accadere con una sessione X "normale". Questo ovviamente non funziona quando si richiama semplicemente un'applicazione X a un X Server remoto.
Come soluzione temporanea, l'ho aggiunto al mio .bash_logout:
# ~/.bash_logout
pkill -u $USER -t `tty | cut -d '/' -f 3,4` dbus-launch
Ciò consentirà la chiusura della sessione SSH, ma sembra difficile. Ci sono soluzioni migliori là fuori? Qual è il modo corretto di eseguire applicazioni X11 remote senza che dbus si frapponga?