Ich versuche verschiedene Gnome-Anwendungen über X11 Forwarding und SSH auszuführen. Bei einigen Anwendungen wird zuerst die Anwendung 'dbus-launch' erzeugt. Das Problem ist, dass dbus-launch beim Beenden der X-Anwendung nicht geschlossen wird und daher beendet werden muss, bevor die SSH-Sitzung ordnungsgemäß geschlossen werden kann.
Ich gehe davon aus, dass das Problem darin besteht, dass die X / Gnome-Anwendungen keine Verbindung zum Hauptnachrichtenbus-Daemon herstellen können und daher eine eigene Kopie starten müssen. Wie kann ich das beheben? Oder was fehle ich?
Hier ist ein Beispiel. Ich habe die X11-Weiterleitung aktiviert, alles scheint gut zu funktionieren.
[me@host ~]$ gnome-calculator &
[1] 4803
(hier wird das Programm gcalctool gestartet und auf meinem X-Server (Xming) angezeigt)
[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
(Jetzt nach dem Schließen der gcalctool-App in der Remote-Sitzung)
[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
Beachten Sie, dass dbus-launch noch aktiv ist. Und das Schlimmste ist, dass dies verhindert, dass die SSH-Verbindung ordnungsgemäß geschlossen wird, bis sie beendet wird.
Beachten Sie, dass der systemweite Nachrichtendämon ausgeführt wird, wie hier zu sehen ist:
[me@host ~]$ ps ax
4696 ? Ssl 0:00 dbus-daemon --system
Was vermisse ich hier? Ich habe dieses Verhalten noch nie gesehen. Vermutlich habe ich bisher nur Anwendungen gesehen, die sich ungehindert mit dem Message Bus Daemon verbinden können? Ich habe in / etc / dbus-1 nach Antworten gesucht, weiß aber nicht, wonach ich suchen soll.
Vielen Dank im Voraus für die Hilfe.
[BEARBEITEN]
OK, mir ist klar, dass ich ein allgemeines Problem habe. Es scheint, dass dies ein ziemlich verbreitetes Verhalten ist, aber ohne eine gute Lösung. Ich habe das SSH-Problem, weil der dbus-Start im tty noch aktiv ist. Aber es scheint keine gute Möglichkeit zu geben, den Start von dbus ruhig zu gestalten.
Ein Blick auf /etc/X11/xinit/xinitrc.d/00-start-message-bus.sh gibt einen Hinweis darauf, was mit einer "normalen" X-Sitzung passieren soll. Dies funktioniert natürlich nicht, wenn Sie eine X-Anwendung nur auf einem Remote-X-Server aufrufen.
Als vorübergehende Problemumgehung habe ich Folgendes zu meinem .bash_logout hinzugefügt:
# ~/.bash_logout
pkill -u $USER -t `tty | cut -d '/' -f 3,4` dbus-launch
Auf diese Weise kann die SSH-Sitzung geschlossen werden, fühlt sich jedoch klobig an. Gibt es da draußen bessere Lösungen? Was ist der richtige Weg, um entfernte X11-Anwendungen auszuführen, ohne dass dbus stört?