由于这个问题间歇性 - Dell XPS 9310,22.04 无法在盖子关闭的情况下关闭(盖子开关没有触发)我希望在睡眠开始时得到反馈。
是否可以挂接到盖子开关并在盖子关闭时和/或触发睡眠时播放通知声音?
编辑:我在下面提供了部分答案。但是,声音播放不起作用。还有其他人可以提供包括声音播放在内的答案吗?
答案1
感谢 Jos 和 Tracy 的回答:从暂停状态恢复时执行脚本的正确方法我走了一段路。然后我发现https://bbs.archlinux.org/viewtopic.php?id=246264。
完整解决方案:首先记下您的用户名(例如sam
)和您的用户 ID:
id -u sam
假设你的用户 ID 是1000
。在 Ubuntu 22.04 LTS 上,将包含此内容的文件放入/lib/systemd/system-sleep/
(使用你的用户名sam
和 ID 1000
):
#!/bin/sh
PATH=/sbin:/usr/sbin:/bin:/usr/bin
case "$1" in
pre)
#code execution BEFORE sleeping/hibernating/suspending
/usr/bin/sudo -u sam bash -c "export XDG_RUNTIME_DIR=/run/user/1000; /usr/bin/ogg123 -q /usr/share/sounds/Yaru/stereo/desktop-logoff.oga"
/usr/bin/date >> SOMEDIR/logs/sleep-monitor/pre.log
;;
post)
#code execution AFTER resuming
# same code as above would work here.
;;
esac
exit 0
查看:
- 日志和回放应该手动进行调用(
sudo script.sh pre
)。 - 该脚本应该在系统暂停时工作,因为日志文件
pre.log
会按预期更新。如果没有发生这种情况,请检查暂停服务(请参阅上面的链接):
sudo systemctl status sleep.target suspend.target hibernate.target hybrid-sleep.target
最后说明:根据您的设置等,笔记本电脑可能需要一点时间才能真正挂起。因此,只有在笔记本电脑盖关闭一段时间后,您才会听到声音。