3

Я получил это далеко (от .bashrc):

alias i="amixer -c 0 -- sset Master playback +1dB"
alias d="amixer -c 0 -- sset Master playback -1dB"
alias v4="amixer -c 0 -- sset Master playback 40%"
alias v8="amixer -c 0 -- sset Master playback 80%"

Первые две строки должны работать, если я правильно прочитал страницу man amixer , и они не выдают сообщение об ошибке, но их поведение ненадежно: иногда происходит огромное изменение, чаще всего ничего не происходит.

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

Я использую amixer неправильно или есть какой-то другой инструмент, чтобы сделать трюк? (alsamixer , похоже, не обладает такой функциональностью как команды CLI.)

редактировать

Наконец-то заставил это работать. Это было так давно (как грустно!), Поэтому я потерял счет того, кто что сделал. В любом случае, спасибо. (Ниже: для пользователей bash, поместите в .bashrc)

# volume
alias vol="alsamixer"
MASTER="amixer -q -c 0 sset Master playback"
alias i="$MASTER 2dB+"
alias d="$MASTER 2dB-"
alias mute="echo \" Audio muted.\"; $MASTER mute"
alias play="echo \" Audio un-muted.\"; $MASTER unmute"
alias unmute="play"
alias stop="mute"
v () {
  amixer -q sset Master playback $1%
}

1 ответ1

5

Для ваших первых двух псевдонимов кажется, что +/- должно идти после значения, которое будет рассматриваться как относительное изменение, а не как абсолютное значение (страница руководства amixer):

alias i="amixer -c 0 -- sset Master playback +1db+"
alias d="amixer -c 0 -- sset Master playback +1db-"

Я бы заменил два последних (и их 8 предполагаемых собратьев) одной функцией оболочки:

v () {
  amixer -c 0 -- sset Master playback $i%
}

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .