#events #linux #acpi #acpid

app user-acpid

非root Linux acpid的伴随进程(https://sourceforge.net/projects/acpid2/)

1个不稳定版本

0.1.0 2021年12月19日

#1502 in 硬件支持

GPL-3.0-only

17KB
150

user-acpid-rs 状态 Gitlab流水线状态 Crates.io docs.rs

非root Linux acpid的伴随进程(https://sourceforge.net/projects/acpid2/

状态

  • 正常工作!

原因

  • 我们希望有一种方式来响应ACPI事件并在交互式用户会话中采取行动
  • 这意味着可以轻松访问当前的dbus/wayland/pipewire等会话
  • acpid非常棒,但它以root权限而不是当前交互式用户的权限执行钩子
  • 对于除该用户之外的人来说,访问用户会话套接字、总线等相当(故意)麻烦
  • 此工具旨在作为非root用户在其交互式会话的上下文中执行

用例

  • wlr-randr结合使用,根据笔记本电脑盖子状态打开/关闭内置显示器
  • 根据笔记本电脑盖子状态打开/关闭内置USB摄像头
  • pw-cli结合使用,根据笔记本电脑盖子状态打开/关闭内置USB麦克风

依赖关系

  • 要求您的系统运行具有默认--socketfile行为的acpid

路线图

  • 从/var/run/acpid.socket读取事件
  • 识别盖子打开和盖子关闭的ACPI事件
  • 打开时运行~/.config/user-acpid/button-lid-open
  • 关闭时运行~/.config/user-acpid/button-lid-close
  • 启动时检查盖子状态
  • 支持acpid的套接字文件的不同路径
  • 处理套接字关闭,并在延迟后尝试重新打开
  • 在接收到SIGUSER1信号后关闭并重新打开套接字
  • 探索直接内核访问(独立于acpid

依赖关系

~170–630KB