从命令行正常重启 Linux 笔记本电脑

从命令行正常重启 Linux 笔记本电脑

在脚本中,我想像 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

或者使用qdbusQt 自带的工具:

# New interface:
qdbus org.kde.Shutdown /Shutdown logoutAndReboot

# Old interface:
qdbus org.kde.ksmserver /KSMServer logout 0 1 -1

这篇 Reddit 帖子有关所接受参数的详细信息logout(同时注意它是一个旧的 KDE 3 时代功能)。

相关内容