Ubuntu перенаправление звука на HDMI при подключении кабеля

×

Предупреждение

Внимание: этот пост был создан более года назад. Информация может быть устаревшей.

Странно, что этой возможности нет "из коробки", как в винде. Периодически подключаю ноут к телевизору, надоело переключать звук то туда, то обратно, решил это автоматизировать.

За мониторинг подключения кабеля HDMI у нас отвечает udev. Создаем файл

sudo gedit /etc/udev/rules.d/10-hdmi_sound.rules 

следующего содержания

SUBSYSTEM=="drm", ACTION=="change", RUN+="/home/user/hdmi_sound_toggle.sh"

где RUN это запуск некоторого скрипта (не забудьте поменять путь) В самом файле скрипта пишем следующее

#!/bin/sh
USER_NAME="user"
USER_ID=`id -u $USER_NAME`
HDMI_STATUS=`cat /sys/class/drm/card0/card0-HDMI-A-1/status`
# Для 14.04
#export PULSE_SERVER="unix:/run/user/"$USER_ID"/pulse/native"
# Для 12.04 (путь узнал выполнив pulseaudio --start)
export PULSE_SERVER="unix:/home/user/.pulse/0ee7cc0b2b49cb6b515079a600000007-runtime/native"
if [ $HDMI_STATUS = "connected" ]
then
sudo -u $USER_NAME pactl --server $PULSE_SERVER set-card-profile 0 output:hdmi-stereo+input:analog-stereo
else
sudo -u $USER_NAME pactl --server $PULSE_SERVER set-card-profile 0 output:analog-stereo+input:analog-stereo
fi 

Опять таки не забудьте изменить значения USER_NAME и PULSE_SERVER на свои