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

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

1
задан 26 March 2012 в 09:25

1 ответ

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

Так, Ваш сценарий должен быть помещен в этот каталог, чтобы быть названным на этих событиях. Первый аргумент сценарию (т.е., в $1) будет действие, которое выполняется (т.е., один из suspend, hibernate, resume или thaw). Ваш скрипт может быть запущен на резюме и действиях оттепели для отключения звука объемов соответственно. Смотрите на некоторые существующие сценарии там для примеров. Документация для этих сценариев рычага находится в 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 будут зависеть от Вашей определенной конфигурации звукового оборудования.

2
ответ дан 26 March 2012 в 09:25

Другие вопросы по тегам:

Похожие вопросы: