Уже длительное время для просмотра видео на домашнем компьютере я использую отдельно подключенный через HDMI-выход телевизор. Т.к. при работе и запуске некоторых игр второй монитор иногда может стать помехой, то подключение второго монитора я уже давно делаю при помощи одной команды с xrandr. Вместе с этим мне приходилось переключать выход аудио с обычного аналогового на HDMI.
К сожалению, до сегодняшнего дня я не мог найти иного решения, чем переключения устройства через GUI, что меня не вполне устраивало.
Вопросы о переключении вывода для pulseaudio на форумах почему-то не получали ответа. К счастью, сегодня я случайно наткнулся на отличный обзор по управлению pulseaudio, в котором нашел решение для своей проблемы, а также еще много интересной и полезной информации, с которой будет небезынтересно ознакомиться, если вы нуждаетесь в переназначении выводов звуковой карты, усилении звука для отдельных приложений и т.п. Я остановлюсь лишь на необходимом мне, но все же настоятельно рекомендую при наличие свободного времени обратить внимание на вышеупомянутую публикацию.
Итак, прежде чем осуществлять переключение, нам необходимо узнать, какой "сток" (sink) отвечает за вывод для первого и второго случая. Для этого воспользуемся командой
pactl list | moreи, пролистывая, обнаружим подобную информацию:
Как мы видим, за вывод на аналоговый выход отвечает Sink #1, а за выход на HDMI - Sink #0.
Следовательно, команды переключения вывода примут такой вид:
pacmd set-default-sink '0' - вывод на HDMI
Управление мониторами я осуществлял следующим способом. Активация ТВ-выхода, для вывода через HDMI:pacmd set-default-sink '1' - вывод по аналоговому выходу
xrandr --output DFP2 --mode 1280x720 --pos 1280x0
Я не буду здесь останавливаться на подробном описании xrandr, которое вы можете получить при помощи команды man xrandr, а лишь прокомментирую приведенную выше команду.
--output DFP2 - указывает на то, что команда касается цифрового подключения (напоминаю, у меня ТВ подключен по HDMI, а монитор по обычному D-sub);
--mode 1280x720 - разрешение ТВ (у меня HDReady - 720p, поэтому для меня целесообразно такое);
--pos 1280x0 - указывает, с какой позиции будет начинаться вывод на второй экран. Разрешение основного монитора 1280х1024, поэтому ТВ-экран будет размещен "справа" от монитора (после 1280й позиции по Х-координате) и сразу от верхней границы экрана, без отступа (отступ по Y - 0). Это позволяет перетаскивать мышью окна за правую границу основного монитора, тем самым перемещая их на ТВ.Для обратного переключения на один монитор выполняется команда
xrandr --output DFP2 --offВ результате у меня есть два скриптовых файла с двумя командами в каждом из них
pacmd set-default-sink '0' и xrandr --output DFP2 --mode 1280x720 --pos 1280x0 в одном, а также xrandr --output DFP2 --off и pacmd set-default-sink '1' во втором.
Выполнение этих скриптовых файлов мы можете реализовать через кнопку запуска на панели или рабочем столе, или же через клавиатурные комбинации (подробнее здесь) - как вам будет удобнее.
Комментариев нет:
Отправить комментарий
Примечание. Отправлять комментарии могут только участники этого блога.