在脚本中,我想像 KDE GUI 中的重启按钮一样重启我的 Linux 笔记本电脑。
在 KDE 中,如果打开的程序中有未保存的文件,这些程序会显示一条消息“您要保存文件吗?”。
我reboot
甚至尝试过:
dbus-send --system --print-reply --dest=org.freedesktop.login1 /org/freedesktop/login1 "org.freedesktop.login1.Manager.Reboot" boolean:true
但是这些命令只是在终止所有程序后重新启动,而无需确认。
是否有一个 CLI 命令可以触发在 KDE 下运行的应用程序的正常关闭?
答案1
您需要向 KDE 会话管理器发送重启请求。例如:
# New interface:
dbus-send --print-reply --session --dest="org.kde.Shutdown" \
/Shutdown org.kde.Shutdown.logoutAndReboot
# Old interface:
dbus-send --print-reply --session --dest="org.kde.ksmserver" \
/KSMServer org.kde.KSMServerInterface.logout int32:0 int32:1 int32:-1
或者使用qdbus
Qt 自带的工具:
# New interface:
qdbus org.kde.Shutdown /Shutdown logoutAndReboot
# Old interface:
qdbus org.kde.ksmserver /KSMServer logout 0 1 -1
看这篇 Reddit 帖子有关所接受参数的详细信息logout
(同时注意它是一个旧的 KDE 3 时代功能)。