Nach dem Ausführen von X-Programmen über SSH wird SSH nach dem Beenden der Shell nicht beendet (muss zB verwendet werden CtrlC, um es zu beenden ).
Ich vermute, obwohl das X-Programm bereits beendet ist, gibt es noch eine "Verbindung" (nicht freigegeben). Die Ausnahmen, die ich jetzt gefunden habe, sind gtk-demo
und acroread
.
Kennt jemand den Grund? Ist dies ein Problem mit der Konfiguration von ssh {, d}?
ssh
x11
xforwarding
Yuyichao
quelle
quelle
C-c
Drücken freigegeben wurden ).Antworten:
Durch das Starten des X-Programms wird wahrscheinlich ein Hintergrundprozess gestartet, der beim Schließen des Programms nicht beendet wird (oder das Programm selbst wird nicht ordnungsgemäß beendet). Sehen Sie hier für eine Erklärung , was passiert.
Um dies zu beheben, können Sie versuchen, herauszufinden, welche Prozesse noch ausgeführt werden, und entweder verhindern, dass sie beim Anmelden über SSH gestartet werden, oder sie einfach beenden, bevor Sie sich abmelden. Sie können die SSH-Verbindung aber auch einfach beenden, wenn Sie sich abgemeldet haben.
quelle
systemd-cgls
~~) (Ich habe versucht,killall -KILL
das Programm selbst zu verwenden, weil ich dachte, es könnte vorher einen Hintergrundprozess auslösen, aber das scheint nicht der Fall zu sein.) Gibt es also eine Möglichkeit, Dinge gut zu machen? (zB dbus (gconf) automatisch töten) THXkillall dbus
oder so etwas in Ihr setzen.logout
, aber das würde wahrscheinlich andere Dinge durcheinander bringen (dh wenn Sie lokal angemeldet sind).kill-session=1
und hoffentlich kann systemd mir sagen, welcher Prozess der richtige ist, um zu töten (dh Prozesse in anderen Sitzungen nicht zu töten). ~~~ THX