Можно ли использовать приложение cinnamon-settings в командной строке для изменения звуковой карты по умолчанию? Звуковая карта по умолчанию не установлена в dconf.
Я пытаюсь написать скрипт, который переключается между HDMI и аналоговым звуком.
1 ответ
Я думаю, что вы ищете
pacmd set-default-sink <sink_name|index>
как указано в https://askubuntu.com/questions/690711/change-sound-output-from-command-line и https://askubuntu.com/questions/14077/how-can-i-change-the-default -audio-устройства из-командной строки
Вы можете получить доступный индекс с
pacmd list-sinks|grep index|awk '{print $NF}'
Если вы хотите контролировать громкость, вы можете сделать это в командной строке с помощью alsamixer (ncurses) или amixer.
Если вы собираетесь играть с настройками pulseaudio, то
cp -i /etc/pulse/default.pa ~/.config/pulse/
даст вам собственную копию, которую безопаснее редактировать
pulseaudio -k #should restart pulseaudio after you change settings.
Для вашего сценария вы можете проверить, совместимы ли доступные скорости звука с вашим устройством-приемником:
grep rates $(grep -ci hdmi /proc/asound/card*/codec#0|grep -v :0|sed 's,:.$,,'|head -n1)
и в зависимости от того, к какому профилю прикреплена каждая карта
pactl --server "unix:/run/user/$(id -u)/pulse/native" set-card-profile 1 output:analog-stereo
а также
pactl --server "unix:/run/user/$(id -u)/pulse/native" set-card-profile 0 output:hdmi-stereo
может помочь создать полезные переменные. Похоже, кто-то уже пытался сделать то, что вы делаете:
Но некоторые их переменные либо специфичны для archlinux, либо устарели. (Хотя их путь к запуску вашего скрипта может помочь.)