Sie können einen Logout-Befehl über dbus an KDE senden, das (wenn es kann) die Sitzung beenden sollte.
qdbus org.kde.ksmserver /KSMServer logout 0 0 0
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 ksmserver
Teil von KDE ist der Sitzungsmanager - er kümmert sich darum, wer angemeldet ist.
Wir senden also eine Nachricht an ksmserver
bis /KSMServer
Schnittstelle und sagt ihr, dass sie sich abmelden soll. Die Nachricht, die wir senden, ist genau dieselbe Nachricht, die an KSM gesendet wird, wenn Sie auf Ihrem Desktop auf das Abmeldesymbol klicken.
Die drei Nullen sind Parameter und können die Art der Abmeldung ändern, die wir durchführen:
Erster Parameter:
- 0 =Nicht auf Bestätigung warten
- 1 =Auf Bestätigung warten (mit einem Timeout von 30 Sekunden)
Zweiter Parameter:
- -1 =Aufforderung zum Handeln, standardmäßig Herunterfahren (Nur sinnvoll, wenn auf Bestätigung gewartet wird.)
- 0 =Abmelden
- 1 =Neustart
- 2 =Herunterfahren
Der dritte Parameter ist der „wann“-Parameter, aber es ist nicht klar, was seine Auswirkung ist.
Die akzeptierte Antwort ist eine für KDE5 spezifische Lösung, ein allgemeinerer Ansatz wäre
loginctl list-sessions
loginctl terminate-session <id>
oder
loginctl terminate-user <username>
Quelle
Es gibt noch mehr mögliche Befehle:
Session Commands:
list-sessions List sessions
session-status [ID...] Show session status
show-session [ID...] Show properties of sessions or the manager
activate [ID] Activate a session
lock-session [ID...] Screen lock one or more sessions
unlock-session [ID...] Screen unlock one or more sessions
lock-sessions Screen lock all current sessions
unlock-sessions Screen unlock all current sessions
terminate-session ID... Terminate one or more sessions
kill-session ID... Send signal to processes of a session
User Commands:
list-users List users
user-status [USER...] Show user status
show-user [USER...] Show properties of users or the manager
enable-linger [USER...] Enable linger state of one or more users
disable-linger [USER...] Disable linger state of one or more users
terminate-user USER... Terminate all sessions of one or more users
kill-user USER... Send signal to processes of a user
Seat Commands:
list-seats List seats
seat-status [NAME...] Show seat status
show-seat [NAME...] Show properties of seats or the manager
attach NAME DEVICE... Attach one or more devices to a seat
flush-devices Flush all device associations
terminate-seat NAME... Terminate all sessions on one or more seats