银河麒麟系统需先确认休眠功能可用(cat /sys/power/state含disk)、配置足够swap(如8gb),再通过ukui界面或gsettings设置休眠时间,并禁用logind物理按键干扰以确保定时休眠生效。

您希望银河麒麟系统在空闲一段时间后自动进入休眠状态,以彻底断电保存当前工作状态并节省能耗,但发现图形界面中设置无效、菜单缺失或休眠根本不触发——这通常不是界面操作错了,而是底层休眠能力未就绪或策略被覆盖。
先确认休眠功能是否真正可用
仅修改图形界面中的休眠时间选项毫无意义,若内核未支持休眠或swap空间不足,系统会静默忽略所有设置。
执行 cat /sys/power/state,输出中必须包含 【disk】 字样;若只有 mem、freeze,则休眠不可用。
执行 free -h 查看 swap 大小,若显示为 0B 或数值明显小于 Mem 总内存,必须立即创建 swap 文件。
运行 sudo fallocate -l 8G /swapfile 创建 8GB 交换文件(适配 16GB 及以下内存)。
【必须执行 chmod 600 /swapfile】——否则 mkswap 会报错 “Permission denied”,因 swap 文件不允许组或其他用户读写。
执行 sudo mkswap /swapfile && sudo swapon /swapfile 完成格式化与即时启用。
最后写入 fstab:执行 echo '/swapfile swap swap defaults 0 0' | sudo tee -a /etc/fstab,确保重启后仍生效。
通过 UKUI 图形界面配置休眠时间
该方法面向普通用户,可直观区分交流电与电池两种供电场景下的休眠延迟设定。
① 点击「开始菜单」→「设置」→「电源」。
② 找到「电源计划」区域,点击「更改计划设置」。
③ 再点击「更改高级电源设置」,展开高级选项树。
④ 展开「睡眠」→「休眠」节点。
⑤ 在「使用交流电源时」右侧设为 480(即 8 小时),在「使用电池时」右侧设为 180(即 3 小时)。
点击「确定」保存,系统立即应用新策略。
用 gsettings 命令行精确设置休眠秒数
图形界面最多只提供固定分钟选项,且有时灰色不可调;命令行可设任意整秒值,并绕过 GUI 限制直接写入后端。
方法一:一次性启用并设值
执行 gsettings set org.ukui.power-manager can-hibernate true 开启休眠权限。
执行 gsettings set org.ukui.power-manager sleep-computer-ac 28800(8 小时)。
执行 gsettings set org.ukui.power-manager sleep-computer-battery 10800(3 小时)。
方法二:验证是否生效
执行 gsettings get org.ukui.power-manager sleep-computer-ac,返回应为 uint32 28800。
若返回值不符,说明被系统级 dconf 锁定策略覆盖,需检查 /etc/dconf/db/local.d/locks 是否锁定了该键。
禁用物理按键干扰,确保定时休眠不被中断
合盖、短按电源键等操作默认会直接触发休眠,可能与您设定的空闲时间冲突,导致提前挂起或无法进入休眠。
以 root 权限编辑 logind 配置:sudo nano /etc/systemd/logind.conf。
取消注释并设为 ignore 的三项:
HandlePowerKey=ignore
HandleLidSwitch=ignore
HandleLidSwitchExternalPower=ignore
保存后执行 sudo systemctl restart systemd-logind 生效。











