На каждом уважающем себя ноутбуке или нетбуке есть разъём для подключения внешнего монитора — для презентаций с проектора вещь необходимая. В Ubuntu подключение внешнего монитора к ноутбуку с приходом Xrandr 1.2 и выше проблем не составляет, но на всякий случай выложу небольшое описание с примерами использования xrandr для работы с внешним монитором на ноутбуке.
Подключаем внешний монитор к ноутбуку с помощью xrandr
Не так давно я прикупил замечательный нетбук Lenovo x220, и сразу же захотелось подключить свой большой монитор, так сказать расширить рабочее пространство. Всё довольно просто — подключаем внешний монитор или проектор и пишем в консольке:
1 |
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 на новый монитор делаем так:
1 |
xrandr --output VGA --mode 1024x768 --output LVDS --mode 1024x600 |
Если разрешение внешнего монитора 800х600, то нужно поправить команду так:
1 |
xrandr --output VGA --mode 800x600 --pos 800x0 --output LVDS --mode 1024x600 --pos 0x0 |
Это всё позволит отдублировать изображение с экрана ноутбука на внешний монитор или проектор. А как быть, если нужно показывать два разных изображения?
Здесь имеет место быть маленькое лирическое отступление. Если xrandr отказывается выставлять высокое разрешение на внешнем мониторе, это может быть связано с объёмом видеопамяти. Для того, чтобы решить проблему, нужно иксам указать на использование «большого виртуального экрана». Делается это правкой файла /etc/X11/xorg.conf где в секции Section «Screen» добавляем:
1 2 3 4 5 6 7 8 9 10 |
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 пишем
1 |
xrandr --output LVDS --mode 1024x600 --pos 0x0 --output VGA --mode 1024x768 --right-of LVDS --pos 1024x0 |
В этом случае ведущим будет внешний монитор (это определяется параметром —pos). То есть где 0 тот и главный монитор (на нём будут менюшки открываться). А вот так:
1 |
xrandr --output VGA --mode 1024x768 --pos 1024x0 --output LVDS --mode 1024x600 --pos 0x0 |
Ведущей будет панель ноутбука.
Горшочек не вари
Чтобы отключить всю эту светомузыку с внешним монитором, нужно дать команду:
1 |
xrandr --output VGA --off |
после чего всё вернётся на место, внешний штепсель будет выключен и проектор отключится от вашего ноутбука.
Повернуть экран с помощью Xrandr
1 |
xrandr -o left |
Чтобы повернуть по часовой стрелке изображение на мониторе пишем:
1 |
xrandr -o right |
Чтобы вернуть всё на место, достаточно дать команду:
1 |
xrandr -o normal |
И всё вернётся на свои места.
Графические утилиты для xrandr
Для того, чтобы иметь возможность всё делать через графические утилиты и не утруждать свою память разными командами, есть утилита grandr. Выглядит она не просто, а очень просто:
Собственно, она является простой обёрткой для консольной утилиты xrandr и позволяет управлять подключением внешних мониторов (вращение, размещение и прочее) без необходимости что-то набирать в консоли. Аналогичная оболочка для xrandr в KDE называется krandr.
Xrandr и работа с экраном и мониторами
Еще примеры::::
- Меняем частоту монитора:
1 |
$ xrandr --output CRT1 --rate 60 |
- Переворачиваем изображение в верх ногами:
1 |
$ xrandr --output CRT1 --rotate inverted |
- Поворачиваем изображение по часовой стрелке :
1 |
$ xrandr --output CRT1 --rotate right |
- Поворачиваем изображение против часовой стрелки :
1 |
$ xrandr --output CRT1 --rotate left |
- Возвращаем обычный вывод:
1 |
$ xrandr --output CRT1 --rotate normal |
- Отражаем изображение по вертикали:
1 |
$ xrandr --output CRT1 --reflect x |
- Отражаем изображение по горизонтали:
1 |
$ xrandr --output CRT1 --reflect y |
- Отражаем изображение по вертикали и горизонтали:
1 |
$ xrandr --output CRT1 --reflect xy |
- Возвращаем обычный вывод:
1 |
$ xrandr --output CRT1 --reflect normal |
- Выключаем экран
1 |
$ xrandr --output CRT1 —off |
- Для тех, кто интересуется команды можно комбинировать, вот так:
1 |
$ xrandr --output CRT1 --mode 1024x768 -rate 60 --reflect y --rotate inverted |