В общем, самым простым и универсальным способом мне показалось использование утилиты
xrandr
, позволяющей управлять видеовыходами и их видеорежимами на лету. Насколько я понимаю, для этого достаточно, чтобы в системе был установлен более-менее свежий X.org и видеодрайвер с поддержкой расширения RandR (Resize and Rotate).Чтобы посмотреть какие видеовыходы и видеорежимы доступны, нужно выполнить команду
xrandr -q
:~$ xrandr -q
Screen 0: minimum 320 x 200, current 1280 x 800, maximum 1280 x 1280
VGA disconnected (normal left inverted right)
LVDS connected 1280x800+0+0 (normal left inverted right) 331mm x 207mm
1280x800 60.0*+ 60.0
1280x768 60.0
1024x768 60.0
800x600 60.3
640x480 59.9
TV disconnected (normal left inverted right)
Как видно, в данный момент у меня включен только основной экран ноутбука (LVDS) в режиме 1280×800, VGA выход на проектор отключен.
Чтобы включить тот или иной режим на том или ином выходе можно использовать команду:
$ xrandr --output название_выхода --mode порядковый_номер_или_описание_режима
Чтобы отключить видео выход:
$ xrandr --output название_выхода --off
Теперь о подключении к проектору. Проекторы в большинстве случаев рассчитаны на вполне определённое разрешение. Чаще всего 1024×768. Совсем старые могут быть 800×600. Прошу заметить, что это разрешение отличается от разрешения распространённого нанче широкого ноутбучного экрана с соотношением сторон 16:10. Я же предпочитаю видеть на экране ноутбука во время презентации то же изображение, что и на проекторе. Это значит, что прежде чем подключать ноутбук к проектору, необходимо переключить разрешение на экране ноутбука, а затем включить вывод идентичного изображения на VGA. При этом изображение на ЖК-экране ноутбука станет замыленным, но это нормально и связано с интерполяцией разрешения 1024×768 на физическую матрицу 1280×800. Вести презентацию это не мешает. После же презентации нужно отключить внешний VGA-выход и вернуть экранное разрешение к нормальному.
В результате я написал себе два однострочных скрипта, чтобы включить «режим презентации»:
xrandr --output LVDS --mode 1024x768 && xrandr --output VGA --mode 1024x768
и чтобы вернутья в нормальный видео-режим:xrandr --output VGA --off && xrandr --output LVDS --mode 1280x800
Вызывать их можно из терминала, или по кнопке на панели, или по комбинации клавиши (например, с помощью
xbindkeys
). Это уже детали.Ссылки по теме (по-английски):
☙ How to use Linux laptop in presentations
☙ Use XRandR 1.2 to Swtich on External Display for Thinkpad Laptop
☙ Xorg RandR 1.2 (в ThinkWiki)
☙ How to use RandR 1.2 (в Debian Wiki)