Chr*_*ian 8 sound bash suspend systemd
当我在关闭笔记本电脑之前忘记停止视频然后在公共场合打开它时播放声音时,我觉得很烦人。
我尝试将以下脚本添加到/lib/systemd/system-sleep:
#!/bin/bash
amixer -q -D pulse sset Master mute
echo 2 >> /home/user/test
Run Code Online (Sandbox Code Playgroud)
该脚本似乎在挂起时被调用,因为新行被附加到test文件中(两次,这可能表明脚本也在恢复时运行 - 有人可以确认这个假设吗?)。
音响系统要么自动重新启用,要么有其他问题。但是该amixer命令在手动执行时可以正常工作。
有任何想法吗?
您可以通过创建服务在挂起之前将声音静音systemd。
首先,确保您的脚本可执行:
chmod u+x /path/to/your/script.sh
Run Code Online (Sandbox Code Playgroud)然后,systemd通过运行以下命令创建一个运行脚本的服务:
sudo nano /etc/systemd/system/mute_before_sleep.service
Run Code Online (Sandbox Code Playgroud)在窗口中nano输入以下内容:
[Unit]
Description=Mute sound before suspend
Before=suspend.target
[Service]
ExecStart=/path/to/your/script.sh
User=<your_username>
Environment=DISPLAY=:0
[Install]
WantedBy=suspend.target
Run Code Online (Sandbox Code Playgroud)
输入ExecStart=脚本的路径并输入User=您的用户名。
按+保存并关闭nano,然后按+ 。CtrlOCtrlX
最后,启用该服务:
sudo systemctl enable mute_before_sleep.service
Run Code Online (Sandbox Code Playgroud)