войти зарегистрироваться

Linux для всех whois

индекс
181,26

Делаем кнопку переключения видеовыходов для ноутбука

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

Однако, автоматическое переключение видеовыходов — это не всегда хорошо, а аппаратный переключатель есть далеко не на всех моделях ноутбуков.
Под хабракатом — простой способ, позволяющий решить эту проблему.

ВНИМАНИЕ: разрешение внешнего монитора должно отличатся от разрешения ноутбука.

Итак:
1. В консоли выполняем:
xrandr -q

2. Смотрим вывод, запоминаем имена устройств.
У меня это — LVDS для ноутбука и VGA — для внешнего монитора.

3. В той же консоли:
sudo touch /usr/bin/monswitch
sudo chmod +x /usr/bin/monswitch
sudo nano /usr/bin/monswitch

4. Вставляем в открывшийся файл:
#!/bin/bash
laptop="1280x800" #разрешение ноутбука.
current=$(xrandr | grep '*' | awk '{print($1)}')
if [ "$laptop" == "$current" ]
then
xrandr --output LVDS --off --output VGA --auto #вместо VGA и LVDS - названия, полученные из вывода xrandr -q
else
xrandr --output VGA --off --output LVDS --auto #то же самое
fi
exit 0

5. Смотрим комментарии, прописываем нужные значения для пременных.

6. Устанавливаем любое ПО, способное назначить событие на горячую клавишу.
sudo apt-get install keytouch keytouch-editor
или же
sudo apt-get install xbindkeys xbindkeys-config

7. И назначаем запуск monswitch на любимую кнопку.

8. Наслаждаемся жизнью.

комментарии (4)

  • --right-of интереснее
    • Это уже дело вкуса ;-)
      Лично мне удобно так.
      Если кому-то больше нравится ваш вариант - на правку скрипта потребуется очень немного времени.
      • ну там на самом деле надо еще конфиг иксов подправить чтобы размер виртуального стола вмещал в себя оба экрана (можно с разным разрешением даже), и перегрузить иксы соответственно... ну да. к сожалению без перезагрузки иксов этого не сделать, но если по умолчанию экран один, то неудобств это не вызывает, разве что весить Xorg в памяти будет больше.
  • Большое спасибо!
Только авторизованные пользователи могут оставлять комментарии. Авторизуйтесь, пожалуйста.