Ich greife über NX auf die Maschine (OpenSuse 11 mit KDE) zu.
Ich kann die Tastenkombinationen Alt-Strg-Entf nicht verwenden, da sie von meinem System erfasst werden. Die reguläre Abmeldeschaltfläche beendet nur die NX-Sitzung, ohne die KDE-Sitzung zu beenden. Ich kann nicht anrufen, kdm restart
da ich keine Root-Rechte habe.
Andere wilde Vermutungen mögen logout
und exit
funktionieren auch nicht. Die erste beschwert sich darüber, dass sie sich nicht in einer Login-Shell befindet, und die zweite schließt nur die Konsole.
Mein Shell-Fu ist schwach, daher wird jede Hilfe geschätzt.
Antworten:
Sie können einen Abmeldebefehl über dbus an KDE senden, der (falls möglich) die Sitzung beenden soll.
dbus ist ein Nachrichtensystem, mit dem Anwendungen miteinander kommunizieren können, und der
qdbus
Befehl ist ein Dienstprogramm zum Senden von dbus-Nachrichten an Anwendungen.Anwendungen registrieren sich bei dbus, und der
ksmserver
Teil von KDE ist der Sitzungsmanager - er kümmert sich darum, wer angemeldet ist.Wir senden also eine Nachricht an
ksmserver
die/KSMServer
Benutzeroberfläche und weisen sie an, sich abzumelden. Die Nachricht, die wir senden, ist genau dieselbe Nachricht, die an KSM gesendet wird, wenn Sie auf das Abmeldesymbol auf Ihrem Desktop klicken.Die drei Nullen sind Parameter und können die Art der Abmeldung ändern, die wir durchführen:
Erster Parameter:
Zweiter Parameter:
Der dritte Parameter ist der "Wann" -Parameter, aber es ist nicht klar, welche Auswirkungen er hat.
quelle
DISPLAY
Umgebungsvariable festlegen (am wahrscheinlichsten:0
), bevor Sie diesen Befehl ausführen, da er sich sonst beschwert.Die akzeptierte Antwort ist eine für KDE5 spezifische Lösung, ein allgemeinerer Ansatz wäre
oder
Quelle
Es gibt weitere mögliche Befehle:
quelle