银河麒麟系统需用KShutdown、cron+notify-send或shutdown命令实现定时关机前可视化提醒。KShutdown最简单,支持弹窗和声音;cron方案可定制多阶段提醒;shutdown命令仅广播消息,无强制弹窗。

如果你希望银河麒麟系统在定时关机前弹出可视化提醒(如桌面通知、声音提示、倒计时浮窗),而不是静默执行关机,就必须绕过底层 shutdown 命令的默认行为——它本身不提供提醒功能,只负责调度和执行关机动作。你需要用图形化工具或自定义脚本主动触发提醒,再延后执行关机。
用KShutdown设置带弹窗提醒的定时关机
这是最简单、原生支持提醒的方式,适合桌面用户,无需命令行操作。
第一步:安装KShutdown(若未预装)→ 打开“软件商店” → 搜索 【kshutdown】 → 点击“安装”。
第二步:启动KShutdown → 主界面中,在“Select an action”下拉菜单选择 【Shut down】(不是Reboot或Suspend)。
第三步:切换到“倒计时”选项卡 → 输入你希望的等待分钟数(例如 10)→ 勾选“显示警告对话框”和“播放声音” → 点击“OK”。
这一步会立刻生效:10分钟后,系统先弹出全屏确认窗口+播放提示音,倒计时结束后才真正关机。注意:如果勾选了“自动确认”,则跳过弹窗直接关机——【务必取消该选项,否则无提醒】。
用cron+notify-send实现自定义提醒
适用于需要精确控制提醒内容、时间点或与现有运维流程集成的用户。此方法需启用桌面通知服务,且仅对当前登录用户有效。
方法一:两阶段提醒(5分钟前弹窗 + 1分钟前再次弹窗 + 到点关机)
1. 打开终端,以当前用户身份编辑自己的crontab:crontab -e。
2. 添加三行任务(以22:30关机为例):
25 22 * * * export DISPLAY=:0 && export XAUTHORITY=/home/$(who | awk '{print $1}' | head -n1)/.Xauthority && notify-send -u critical "⚠️ 系统将在5分钟后关机" "请保存您的工作"
29 22 * * * export DISPLAY=:0 && export XAUTHORITY=/home/$(who | awk '{print $1}' | head -n1)/.Xauthority && notify-send -u critical "⏰ 关机倒计时1分钟" -t 10000
30 22 * * * /usr/sbin/shutdown -h now
关键点:DISPLAY和XAUTHORITY变量必须显式声明,否则notify-send无法连接到桌面会话;【/usr/sbin/shutdown路径必须用绝对路径,否则cron中会失败】。
方法二:单次强提醒 + 延迟关机(更可靠)
写一个脚本/home/用户名/bin/popup-shutdown.sh:
#!/bin/bash
export DISPLAY=:0
export XAUTHORITY=/home/用户名/.Xauthority
notify-send -u critical "?️ 即将关机!" "系统将在60秒后关闭,请立即保存所有文件" -t 0
sleep 60
sudo /usr/sbin/shutdown -h now
然后在crontab里只加一行:30 22 * * * /home/用户名/bin/popup-shutdown.sh。记得给脚本加执行权限:chmod +x /home/用户名/bin/popup-shutdown.sh。
用shutdown命令配合自定义警告消息
这是最轻量的方案,不依赖图形环境,但提醒仅限于终端广播和登录用户桌面通知(部分桌面环境自动转为弹窗)。
运行这条命令即可:
sudo shutdown -h +15 "系统将在15分钟后关机维护,请及时保存数据"
该消息会实时推送到所有已登录用户的TTY和图形桌面(GNOME/KDE等通常自动转为右上角通知),但不会强制弹窗或播放声音。如果当前无人登录图形界面,则只有SSH用户能看到终端提示。
取消提醒只需执行:sudo shutdown -c。

















