Я хочу, чтобы мои динамики и разъем для наушников автоматически отключались, когда я возвращался из режима гибернации / приостановки, или, может быть, отключался звук прямо перед тем, как переходить в режим гибернации / ожидания. Теперь я мог бы написать сценарий для этого, но я знаю, что есть много способов сделать это, однако есть ли правильный способ написать этот сценарий и где было бы правильное место для его размещения по сравнению с базовой работой вокруг это не дает глубокого системного уровня, где должен находиться этот скрипт.
Каталог /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 будут зависеть от Вашей определенной конфигурации звукового оборудования.