Ubuntu 17.10下如何快速实现笔记本合盖时自动静音?
快速实现Ubuntu 17.10合盖自动静音的方法
不用折腾复杂的通用脚本框架,咱们用系统自带的acpid就能快速搞定,步骤简单直接:
1. 确保acpid已安装
先检查你的系统有没有装acpid,如果没有的话,执行下面的命令安装:
sudo apt update && sudo apt install acpid
2. 创建ACPI事件触发器
新建一个事件配置文件,用来监听合盖动作:
sudo nano /etc/acpi/events/lid-mute
把下面的内容粘贴进去,保存退出(按Ctrl+O回车,再Ctrl+X):
event=button/lid.* action=/etc/acpi/lid-mute.sh
3. 编写静音执行脚本
接着创建实际执行静音操作的脚本文件:
sudo nano /etc/acpi/lid-mute.sh
根据你的音频系统选一个命令就行(二选一):
- 如果你用的是ALSA传统音频:
#!/bin/sh amixer set Master mute
- 如果你用的是Ubuntu默认的PulseAudio:
#!/bin/sh pactl set-sink-mute @DEFAULT_SINK@ 1
保存退出后,给脚本加上执行权限:
sudo chmod +x /etc/acpi/lid-mute.sh
4. 重启服务生效
最后重启acpid让配置生效:
sudo systemctl restart acpid
测试验证
现在合上笔记本盖子,再打开就能看到音频已经自动静音了。如果想提前验证,可以先运行acpi_listen命令监听ACPI事件,然后手动合盖,就能看到脚本是否被触发执行。
至于旧方案失效的原因:Ubuntu 17.10切换到systemd作为默认init系统,电源管理逻辑也有更新,之前依赖的旧工具(比如某些upower钩子)不再适配,而acpid是直接监听硬件ACPI事件的,兼容性更强。
内容的提问来源于stack exchange,提问作者Miladiouss
相关产品推荐
相关产品推荐

