## 前言
最初契機是遇到 KDE 沒有回應,但應用程式卻活著的狀況。
(後來得知重新啟動 KWin 就恢復,也許是我的顯示晶片異常?)
為了嘗試到 tty 去正常關閉應用程式/存檔,所以才研究這個指令。
網路上一堆人貼這個指令,但沒看過有人詳細解釋那三個數字,很不放心就自己去查了。
## 指令
> qdbus org.kde.ksmserver /KSMServer logout <confirm> <type> <mode>
## 參數說明
* confirm:
+ -1:採用使用者的預設值
+ 0:一律不顯示確認畫面
+ 1:一律顯示確認畫面
* type:
+ -1:採用前一次設定,或使用預設值
+ 0:登出
+ 1:登出並重新開機
+ 2:登出並關機
+ 3:請勿使用,但效果和 0 一樣
* mode:(似乎在 KDE5 沒路用,可能只對關機行為有效)
+ -1:採用前一次設定,或使用預設值
+ 0:排程在所有工作階段結束後關機/重開機
+ 1:如果沒有工作階段就關機,否則取消
+ 2:強制結束所有工作階段並關機
+ 3:若還有使用中的工作階段,先向使用者確認
## 範例
* 不顯示確認畫面就登出:
> qdbus org.kde.ksmserver /KSMServer logout 0 0 -1
* 顯示確認畫面,預設選擇登出,並在閒置 30 秒後登出:
> qdbus org.kde.ksmserver /KSMServer logout 1 0 -1
## 其他應用
可以自製桌面捷徑,方便省略確認畫面並快速關機。
## 參考資料
(這是一行網址)
<https://github.com/KDE/plasma-workspace/blob/
fb30ea87e68407515f9be246426dc27ac2630934/libkworkspace/kworkspace.h>