openeuler2509锁屏/登录界面无法按电源键关机

举报
山涧烟雨村 发表于 2026/09/01 11:17:12 2026/09/01
【摘要】 系统问题修复记录:锁屏/登录界面无法按电源键关机记录日期:2026-08-04 1. 问题描述在 锁屏界面 或 用户登录界面(greeter) 下按电源键无任何反应,无法关机;仅桌面正常会话下可关机。 2. 系统环境项目值操作系统openEuler 25.09桌面环境UKUI(X11)显示管理器LightDM + ukui-greetersystemdv255-54.oe2509 3. 根...

系统问题修复记录:锁屏/登录界面无法按电源键关机

记录日期:2026-08-04

1. 问题描述

锁屏界面用户登录界面(greeter) 下按电源键无任何反应,无法关机;仅桌面正常会话下可关机。

2. 系统环境

项目
操作系统 openEuler 25.09
桌面环境 UKUI(X11)
显示管理器 LightDM + ukui-greeter
systemd v255-54.oe2509

3. 根因分析

/etc/systemd/logind.conf.d/power-ignore.conf 这个 drop-in 将电源键处理设置为:

[Login]
HandlePowerKey=ignore

而 systemd 的 drop-in 配置优先级高于主配置文件 /etc/systemd/logind.conf 中的 HandlePowerKey=poweroff,因此 logind 实际生效的电源键策略为 ignore(忽略),表现为按电源键无响应。

排查确认过程:

  1. 主配置 /etc/systemd/logind.conf 已正确配置 HandlePowerKey=poweroff,acpid 未运行(不会与 logind 冲突)。
  2. systemd-analyze cat-config systemd/logind.conf 显示 drop-in 覆盖了主配置,生效值为 ignore
  3. 通过 D-Bus 查询确认生效值:busctl get-property ... HandlePowerKeys "ignore"
  4. loginctl(经 D-Bus ListInhibitors)确认无任何进程持有 handle-power-key 类型 inhibitor,排除进程拦截因素,纯属配置问题。

4. 修复步骤

修改 /etc/systemd/logind.conf.d/power-ignore.conf

[Login]
# 电源键关机:修复锁屏/登录界面无法关机的问题(原为 ignore,覆盖了主配置的 poweroff)
HandlePowerKey=poweroff
# 即使有进程(如锁屏组件)声明抑制电源键,也执行关机,保证锁屏/登录界面可用
PowerKeyIgnoreInhibited=yes

重启 logind 使配置生效:

systemctl restart systemd-logind

5. 验证结果

检查项 结果
生效的 HandlePowerKey(D-Bus) s "poweroff"
生效配置合并(cat-config) HandlePowerKey=poweroffPowerKeyIgnoreInhibited=yes
logind 监听电源键 日志出现 Watching system buttons on /dev/input/event0 (Power Button)
systemd-logind 服务状态 active,无报错 ✅
会话状态 正常,未受影响 ✅

6. 说明与回滚

  • PowerKeyIgnoreInhibited=yes 保证即使锁屏组件(如 ukui-screensaver-backend)将来声明抑制电源键,logind 仍会执行关机;代价是桌面环境下会跳过应用/桌面环境的"关机确认对话框"直接关机。
【声明】本内容来自华为云开发者社区博主,不代表华为云及华为云开发者社区的观点和立场。转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息,否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。