На каждом уважающем себя ноутбуке или нетбуке есть разъём для подключения внешнего монитора – для презентаций с проектора вещь необходимая. В Ubuntu подключение внешнего монитора к ноутбуку с приходом Xrandr 1.2 и выше проблем не составляет, но на всякий случай выложу небольшое описание с примерами использования xrandr для работы с внешним монитором на ноутбуке.
Подключаем внешний монитор к ноутбуку с помощью xrandr
Не так давно я прикупил замечательный нетбук Lenovo x220, и сразу же захотелось подключить свой большой монитор, так сказать расширить рабочее пространство. Всё довольно просто – подключаем внешний монитор или проектор и пишем в консольке:
xrandr
На это нам xrandr ответит примерно так (цветовая раскраска – моя):
Screen 0: minimum 320 x 200, current 1024 x 768, maximum 1280 x 1280
VGA connected 1024×768+0+0 (normal left inverted right x axis y axis) 0mm x 0mm
1280×800 60.0
1280×768 60.0
1024×768 60.0*
800×600 60.3
640×480 59.9
LVDS connected 1024×600+0+0 (normal left inverted right x axis y axis) 0mm x 0mm
1024×600 60.0*+
800×600 85.1 72.2 75.0 60.3 56.2
640×480 85.0 72.8 75.0 59.9
720×400 85.0
640×400 85.1
640×350 85.1
TV disconnected (normal left inverted right x axis y axis)
Так, что всё это значит? А значит это вот что:
- VGA – наш внешний монитор или проектор, 1024х768- это разрешение, установленное на устройстве сейчас, 60.0 – частота кадров.
- LVDS – собственно экран ноутбука, на котором сейчас стоит разрешение 1024х600 (так как он широкоформатный), 60.0 – частота кадров.
- TV disconnected – ТВ-выход отключён (так как его попросту в этом нетбуке нет).
И сейчас лёгким и непринуждённым движением мы быстренько поставим на проекторе то разрешение, которое нам нужно.
Режим Clone mode
Это значит, что на внешнем мониторе \ проекторе будет отображено ТО ЖЕ САМОЕ, что и на экране ноутбука.
Чтобы сделать Clone mode на новый монитор делаем так:
xrandr --output VGA --mode 1024x768 --output LVDS --mode 1024x600
Если разрешение внешнего монитора 800х600, то нужно поправить команду так:
xrandr --output VGA --mode 800x600 --pos 800x0 --output LVDS --mode 1024x600 --pos 0x0
Это всё позволит отдублировать изображение с экрана ноутбука на внешний монитор или проектор. А как быть, если нужно показывать два разных изображения?
Здесь имеет место быть маленькое лирическое отступление. Если xrandr отказывается выставлять высокое разрешение на внешнем мониторе, это может быть связано с объёмом видеопамяти. Для того, чтобы решить проблему, нужно иксам указать на использование “большого виртуального экрана”. Делается это правкой файла /etc/X11/xorg.conf где в секции Section “Screen” добавляем:
Section "Screen" Identifier "Default Screen" Device "Generic Video Card" Monitor "Generic Monitor" SubSection "Display" Virtual 2048 1024 EndSubSection EndSection
Здесь указывается разрешение общего виртуального экрана в формате ШИРИНАхВЫСОТА (в данном случае 2048 на 1024). Именно такой вычтя из этого физическое разрешение вашего монитора, вы получите максимальное разрешение внешнего монитора ноутбука, которое можно установить с помощью xrandr.
Режим Dual Monitor mode
При таком режиме вывод на проектор будет отличаться от вывода на монитор ноутбука: то есть вы сможете перетаскивать окна на внешний монитор, а на ноутбучном мониторе их не будет. Это очень удобно, когда вам нужно показать вывод, скажем, латеховского документа и не пугать благородных донов видом латеховского кода.
Сделать это можно с помощью правки xorg.conf, как уже говорилось, или с помощью xrandr.
Чтобы сделать DualHead на внешний монитор с разрешением 1024х768 пишем
xrandr --output LVDS --mode 1024x600 --pos 0x0 --output VGA --mode 1024x768 --right-of LVDS --pos 1024x0
В этом случае ведущим будет внешний монитор (это определяется параметром –pos). То есть где 0 тот и главный монитор (на нём будут менюшки открываться). А вот так:
xrandr --output VGA --mode 1024x768 --pos 1024x0 --output LVDS --mode 1024x600 --pos 0x0
Ведущей будет панель ноутбука.
Горшочек не вари
Чтобы отключить всю эту светомузыку с внешним монитором, нужно дать команду:
xrandr --output VGA --off
после чего всё вернётся на место, внешний штепсель будет выключен и проектор отключится от вашего ноутбука.
Повернуть экран с помощью Xrandr
xrandr -o left
Чтобы повернуть по часовой стрелке изображение на мониторе пишем:
xrandr -o right
Чтобы вернуть всё на место, достаточно дать команду:
xrandr -o normal
И всё вернётся на свои места.
Графические утилиты для xrandr
Для того, чтобы иметь возможность всё делать через графические утилиты и не утруждать свою память разными командами, есть утилита grandr. Выглядит она не просто, а очень просто:
Собственно, она является простой обёрткой для консольной утилиты xrandr и позволяет управлять подключением внешних мониторов (вращение, размещение и прочее) без необходимости что-то набирать в консоли. Аналогичная оболочка для xrandr в KDE называется krandr.
Xrandr и работа с экраном и мониторами
Еще примеры::::
- Меняем частоту монитора:
$ xrandr --output CRT1 --rate 60
- Переворачиваем изображение в верх ногами:
$ xrandr --output CRT1 --rotate inverted
- Поворачиваем изображение по часовой стрелке :
$ xrandr --output CRT1 --rotate right
- Поворачиваем изображение против часовой стрелки :
$ xrandr --output CRT1 --rotate left
- Возвращаем обычный вывод:
$ xrandr --output CRT1 --rotate normal
- Отражаем изображение по вертикали:
$ xrandr --output CRT1 --reflect x
- Отражаем изображение по горизонтали:
$ xrandr --output CRT1 --reflect y
- Отражаем изображение по вертикали и горизонтали:
$ xrandr --output CRT1 --reflect xy
- Возвращаем обычный вывод:
$ xrandr --output CRT1 --reflect normal
- Выключаем экран
$ xrandr --output CRT1 —off
- Для тех, кто интересуется команды можно комбинировать, вот так:
$ xrandr --output CRT1 --mode 1024x768 -rate 60 --reflect y --rotate inverted