## 前言
最初契机是遇到 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>