Как автоматически отключить звук после возвращения из спящего режима или приостановить?

1

Я хочу, чтобы динамики и гнездо для наушников автоматически отключились, когда я вернусь из спящего режима / приостановить или, возможно, отключится до того, как я спячку / приостановить. Теперь я могу написать сценарий, чтобы сделать это, но я знаю, что есть много способов, которыми я мог бы это сделать, однако есть ли правильный способ написать этот скрипт и где будет подходящее место для его сравнения по сравнению с основной работой который не получает глубокий системный уровень, где должен находиться этот скрипт.

    
задан philipballew 26.03.2012 в 05:46
источник

1 ответ

2

Каталог /etc/pm/sleep.d/ содержит скрипты, которые запускаются, когда система приостановлена, спящ., возобновлена ​​(т. е. возвращается с приостановления) или оттаивает (возвращается из спящего режима).

Итак, ваш сценарий должен быть помещен в этот каталог, который будет вызываться в этих событиях. Первым аргументом скрипта (т. Е. В ) будет действие, которое выполняется (т. Е. Один из suspend , hibernate , resume или thaw ). Ваш скрипт можно запустить в действиях возобновления и оттаивания, чтобы соответственно отключить их. Взгляните на некоторые из существующих сценариев там для примеров. Документация для этих скриптов hook находится в man-странице pm-action .

Что касается самого мутирования: я бы предложил использовать alsactl , чтобы сохранить «состояние» заглушенной конфигурации в файл (например, /var/lib/alsa/asound-muted.state ). Когда скрипт запущен, он может вызвать alsactl для восстановления из этого сохраненного состояния:

alsactl -f /var/lib/alsa/asound-muted.state restore <card-id>

В качестве альтернативы вы можете использовать amixer , чтобы установить значение определенного регулятора тома в ноль:

amixer -c 0 sset PCM,0 0

- однако аргументы для amixer будут зависеть от вашей конкретной конфигурации аппаратного обеспечения звука.

    
ответ дан Jeremy Kerr 26.03.2012 в 07:23
источник