dbus を介して KDE にログアウト コマンドを送信できます。これにより、(可能であれば) セッションが終了します。
qdbus org.kde.ksmserver /KSMServer logout 0 0 0
dbus は、アプリケーションが相互に通信できるようにするメッセージング システムであり、 qdbus
コマンドは、dbus メッセージをアプリケーションに送信するためのユーティリティです。
アプリケーションは dbus に登録し、ksmserver
KDE の一部はセッション マネージャーです。ログインしているユーザーを監視します。
ksmserver
にメッセージを送信します /KSMServer
に インターフェイスを開き、ログアウトするように指示します。送信するメッセージは、デスクトップのログアウト アイコンをクリックしたときに KSM に送信されるメッセージとまったく同じです。
3 つのゼロはパラメータであり、実行しているログアウトのタイプを変更できます:
最初のパラメータ:
- 0 =確認を待たない
- 1 =確認を待ちます (30 秒のタイムアウトあり)
2 番目のパラメーター:
- -1 =アクションのプロンプト、デフォルトでシャットダウン (確認を待っている場合にのみ意味があります。)
- 0 =ログアウト
- 1 =再起動
- 2 =シャットダウン
3 番目のパラメーターは「いつ」パラメーターですが、その影響が何であるかは明確ではありません。
受け入れられた答えは KDE5 に固有のソリューションであり、より一般的なアプローチは
loginctl list-sessions
loginctl terminate-session <id>
または
loginctl terminate-user <username>
ソース
他にも可能なコマンドがあります:
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