Поскольку я еще не могу комментировать (подписался специально, чтобы улучшить ответ @ jgr), в случае, если ваш приемник по умолчанию является плагином (как любое количество плагинов ladspa), его решение редактирования вернет XX% (примечание конечная запятая), так что это работает немного лучше. Извините, моя awk-fu очень проста, я уверен, что есть способ лучше.
В модифицированном решении также опущен «%», поскольку я не вижу смысла в его сохранении, и если мы вернем только число, мы сможем использовать его в математике. Также исправлен случай setvol, который в моем случае требует особых инструкций.
#/bin/sh
getdefaultsinkname() {
pacmd stat | awk -F": " '/^Default sink name: /{print $2}'
}
getdefaultsinkvol() {
pacmd list-sinks |
awk '/^\s+name: /{indefault = $2 == "<'$(getdefaultsinkname)'>"}
/^\s+volume: / && indefault {print $5; exit}' |
awk -F"%" '{print $1}'
}
setdefaultsinkvol() {
pactl -- set-sink-volume $(getdefaultsinkname) $1
}
Без проблем,
(до тех пор, пока вы правильно перезагружаетесь без гибернации при переключении, также известном как disabe «Быстрый запуск»)
, только ограничения
(никаких причудливых lvmcache, резервных копий моментальных снимков btrfs и т. д. ).