Как изменить разрешение экрана xrandr

XRandR — расширение X сервера, позволяющее производить настройки режимов работы мониторов. Например, можно изменить разрешение, вывести изображение на внешний монитор, повернуть изображение и тому подобное. Утилита часто полезна для настройки корректного разрешения при подключении к внешнему монитору или телевизору.

Дата добавления: 31 марта 2012

XRandR — расширение X сервера, позволяющее производить настройки режимов работы мониторов. Например, можно изменить разрешение, вывести изображение на внешний монитор, повернуть изображение и тому подобное. Утилита часто полезна для настройки корректного разрешения при подключении к внешнему монитору или телевизору.

Вывод доступных мониторов и режимов
Введя в терминале

xrandr

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

Screen 0: minimum 320 x 200, current 1024 x 600, maximum 4096 x 4096
LVDS1 connected 1024×600+0+0 (normal left inverted right x axis y axis) 223mm x 125mm
1024×600 60.0*+
800×600 60.3 56.2
640×480 59.9
VGA1 disconnected (normal left inverted right x axis y axis)

Возможные названия интерфейсов:

  • LVDS1 — экран ноутбука;
  • VGA1 — экран, подключаемый через VGA;
  • DVI1 — экран, подключаемый через DVI;

Названия интерфейсов могут отличаться в зависимости от используемой видеокарты. Для последующей работы с конкретным интерфейсом, необходимо запомнить его название (например, VGA1 если мы работам на видео от Intel и подключаем монитор по VGA, который и хотим настроить через XRandR).

Изменение разрешения
Лучше всего рассмотреть пример:

xrandr —output LVDS1 —mode 800×600

Опция —output предназначена для указания на нужный интерфейс, а —mode собственно на выбираемый режим работы. Обратите внимание, что выбираемый режим должен быть указан в выводе команды

xrandr

(смотреть предыдущий раздел статьи).
Если нужный вам режим не прописан, то необходимо добавить его вручную. Это позволяет настроить монитор на правильное разрешение, при ситуации, когда в списке оно отсутствует (например, если при подключении 1080p монитора в программах настройки экрана доступно лишь намного меньшее разрешение). Данная проблема связана с тем, что некоторые мониторы и множество телевизоров почему-то не считают нужным передавать информацию о своём разрешении при подключении через VGA.
Создание нового режима
Если режим уже существует (смотреть первую часть статьи), но не связан с нужным интерфейсом, то можно добавить режим таким образом:

xrandr —addmode VGA1 1024×600

— добавляем режим с разрешением 1024×600 и 60 Гц частотой для монитора, подключённого по VGA1.
Если режима ещё не существует, то сначала вызываем утилиту CVT (Coordinated Video Timing) с необходимым разрешением и частотой кадров в качестве параметров (в качестве примера добавим режим 1600×900 при 60Гц):

cvt 1600 900 60

Вывод утилиты cvt с нашими параметрами таков:

# 1600×900 59.95 Hz (CVT 1.44M9) hsync: 55.99 kHz; pclk: 118.25 MHz
Modeline «1600x900_60.00» 118.25 1600 1696 1856 2112 900 903 908 934 -hsync +vsync

Далее мы скопируем всё, что после Modeline при вызове xrandr с ключём создания нового режима:

xrandr —newmode «1600x900_60.00» 118.25 1600 1696 1856 2112 900 903 908 934 -hsync +vsync

Теперь осталось «привязать» созданный режим к нужному интерфейсу (в нашем примере к VGA1):

xrandr —addmode VGA1 1600x900_60.00

Наконец, мы можем выбрать нужное нам разрешение для монитора:

xrandr —output VGA1 —mode 1600x900_60.00

Режимы работы с несколькими мониторами
Отключение дисплея
Отключить не нужный в данный момент дисплей можно с помощью опции —off:

xrandr —output LVDS1 —off

— отключаем монитор ноутбука.
Расположение мониторов относительно друг-друга

xrandr —output VGA1 —right-of LVDS1

— монитор, подключённый по VGA1 будет располагаться «справа» от монитора ноутбука (переходить на внешний монитор необходимо будет через правый угол монитора ноутбука).
Аналогично используется опция —left-of

xrandr —output LVDS1 —primary

— монитор ноутбука становится основным.
Чтобы сделать виртуальный экран большего разрешения, чем физический (в таком режиме, чтобы увидеть всё изображение необходимо будет передвигать курсор за границы) применяем команду:

xrandr —output LVDS1 —mode 1024×600 —fb 1280×720 —panning 1280×720

После этого у вас будет виртуальное разрешение 1280×720 при 1024×600 физическом.

Поворот
Используйте следующие опции применительно к нужному интерфейсу:

  • —rotate normal
  • —rotate left
  • —rotate right
  • —rotate inverted (поворот на 180°)

Сохранение настроек
Для активации необходимых настроек при старте, создайте файл ~/.xprofile (~/ указывает на расположение в домашней директории) и внесите в него необходимые строки команд xrandr.

Статья частично основана по материалам англоязычной документации.

Комментарии:

Автор: Bvz,  
дата: 01 апреля 2012 ,  время: 09:59:52 (MSK).

Целый месяц не писали

Автор: palPred,  
дата: 05 апреля 2012 ,  время: 17:40:41 (MSK).

Спасибо!

Автор: Makc,  
дата: 31 августа 2012 ,  время: 19:18:37 (MSK).

Спасибо, наконец-то настроил, буду искать сведения о «xprofile».

Автор: Shaolin,  
дата: 20 ноября 2012 ,  время: 18:09:44 (MSK).

Спасибо Вам за краткую, емкую, а главное — полезную статью.

Автор: Subsanek,  
дата: 20 ноября 2012 ,  время: 18:10:47 (MSK).

Shaolin, и вам спасибо!

Автор: Yuriy,  
дата: 03 декабря 2012 ,  время: 12:16:08 (MSK).

Спасибо за статью понятную, полезную. Ни где больше не мог найти такую статью везде советы не рабочие и в основном о изменении файла в ручную xorg.conf

Автор: Vadim,  
дата: 11 декабря 2012 ,  время: 13:45:39 (MSK).

Спасибо,и мне очень пригодилось.

Автор: cold water,  
дата: 05 января 2013 ,  время: 20:37:06 (MSK).

Не получается, не могли бы расшифровать сообщения об ошибках:
———————————————-
$ sudo xrandr —addmode VGA-0 «1600x900_60.00»
X Error of failed request: BadMatch (invalid parameter attributes)
Major opcode of failed request: 153 (RANDR)
Minor opcode of failed request: 18 (RRAddOutputMode)
Serial number of failed request: 31
Current serial number in output stream: 32
————————————————
Монитор широкоформатный

Автор: Игорь,  
дата: 19 февраля 2013 ,  время: 20:08:27 (MSK).

Спасибо большое за информацию, долго искал такую статью

Автор: iiihyp,  
дата: 22 марта 2013 ,  время: 14:20:37 (MSK).

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

Автор: Igor,  
дата: 29 марта 2013 ,  время: 21:11:01 (MSK).

спасибо!!!насамом деле все просто, если знаешь как!

Автор: Subsanek,  
дата: 29 марта 2013 ,  время: 21:13:07 (MSK).

Igor, пожалуйста.

Автор: kekspetrovich,  
дата: 06 мая 2013 ,  время: 17:05:00 (MSK).

доброго дня.
можно ли виртуальный экран сделать меньше физического размера монитора?
есть монитор левая часть которого повреждена(темная сторона поглотила).
нужно выводить изображение только на правую половину монитора.
можно ли это реализовать? и как?
пробовал колдовство с xrandr через параметр —panning и —fb
но не хватает знаний и интуиции как это правильно сделать.

Автор: Subsanek,  
дата: 06 мая 2013 ,  время: 18:08:03 (MSK).

kekspetrovich, даже не знаю чем помочь. xrandr не даёт сделать виртуальный экран меньше, чем физический.

Автор: kekspetrovich,  
дата: 08 мая 2013 ,  время: 09:13:32 (MSK).

Похоже на то. а есть у вас идеи по этому поводу? в какую сторону копать? можно же как-то заставить иксы выводить изображение только на половину экрана.

Автор: Subsanek,  
дата: 19 мая 2013 ,  время: 03:34:45 (MSK).

kekspetrovich, даже не знаю. Не типичная задача.

Автор: Светлана,  
дата: 24 мая 2013 ,  время: 13:30:33 (MSK).

а что делать если в списке доступных разрешений — 1024*768 — это Maxixmum
а хочется 1280*800

Автор: Subsanek,  
дата: 24 мая 2013 ,  время: 13:34:14 (MSK).

Светлана, об этом в статье написано в разделе Создание нового режима.

Автор: Subsanek,  
дата: 13 августа 2013 ,  время: 20:43:36 (MSK).

Alex, здравствуйте. А сам монитор то поддерживает более 1600×1200? Если да, то можно создать новый профиль, пример описан в разделе «создание нового режима» этой статьи.

Автор: mexx,  
дата: 07 октября 2013 ,  время: 11:11:06 (MSK).

Добрый день. HDMI будет показан с вариантами разрешения (он единственный подключен, к ТВ)?

Автор: Subsanek,  
дата: 07 октября 2013 ,  время: 11:35:05 (MSK).

mexx, здравствуйте! Да, подключение по HDMI настраивается через XRandR также как и остальные.

Автор: mexx,  
дата: 07 октября 2013 ,  время: 11:57:55 (MSK).

Спасибо. Буду пробовать.

Автор: mexx,  
дата: 08 октября 2013 ,  время: 09:10:44 (MSK).

TV по HDMI:
Screen 0: minimum 320 x 200, current 1920 x 1080, maximum 1920 x 1920
DFP1 connected 1920×1080+0+0 (normal left inverted right x axis y axis) 1280mm x 720mm
1920×1080 60.0*+ 50.0 30.0 25.0 24.0
Что такое 0+0?

Автор: Subsanek,  
дата: 08 октября 2013 ,  время: 09:24:38 (MSK).

mexx, по всей видимости, это смещение изображения по оси x и y (+0+0 без смещения).

Автор: mexx,  
дата: 08 октября 2013 ,  время: 14:52:57 (MSK).

ОК, спасибо.

Автор: Сергей,  
дата: 13 ноября 2013 ,  время: 11:03:15 (MSK).

Спасибо за полезную статью.
Столкнулись с проблемой на производственном компьютере, время от времени (при запуске одного приложения) слетает разрешение и подключается дополнительный монитор. Как сделать, чтобы этого избежать?

Автор: Subsanek,  
дата: 13 ноября 2013 ,  время: 11:08:00 (MSK).

Сергей, как правило, это проблема самого приложения. Нужно смотреть в его настройках.

Автор: Kirimai,  
дата: 11 января 2014 ,  время: 18:01:53 (MSK).

Благодарю за статью, очень полезно. Задал 1920х1080_60.60 для своего ноута dell inspiron 1525 с выходом на телевизор

Автор: Upa,  
дата: 18 апреля 2014 ,  время: 19:54:06 (MSK).

не сохраняются настройки

Автор: Spaser,  
дата: 27 мая 2014 ,  время: 10:05:06 (MSK).

Вы здесь не указали, что ~/.xprofile должен быть исполняемым. В англоязычной версии это описано. Я, как новичок, этого не сделал. И, как следствие, при запуске системы разрешение не устанавливается на нужное автоматически. А таких новичков много в сети.

Автор: Subsanek,  
дата: 27 мая 2014 ,  время: 16:35:43 (MSK).

Spaser, спасибо за дополнение!

Автор: Svetaslav,  
дата: 21 июля 2014 ,  время: 19:13:30 (MSK).

Подскажите как изменить разрешение на удаленном компьютере VDS-debian. Предлагается не более 1024*768
xrandr выдает ошибку:
Failed to get size of gamma for output default
Перебор выходов не помогает. К примеру такое бывает при установке на virtualbox, но там все решает установка гостевых дополнений. А как здесь? Что тут можно установить?

Автор: Andrew,  
дата: 12 августа 2014 ,  время: 11:28:31 (MSK).

Применительно в дистрибьютиву OpenSuse 13.1.
Исполняемый файл, который читается при запуске сеаса, создавать не надо. Он уже есть в домашнем каталоге пользователя и называется .profile
Автору огромное спасибо, добавил в этот файл три строчки xrandr и решил проблему.

Автор: Spaser,  
дата: 15 августа 2014 ,  время: 15:22:12 (MSK).

Для Andrew.
Странно. Внёс команды в .profile, из трёх строчек выполняется только первая. Может так какие паузы повставлять нужно? Или ещё что?

Автор: Abel,  
дата: 21 сентября 2014 ,  время: 10:44:06 (MSK).

Все получилось. Отличная статья! Но у мня есть маленький недочет — виртуальный экран сместился вверх и влево. Xrandr умеет его «вернуть» на место по осям?

Автор: Subsanek@gmail.com,  
дата: 21 сентября 2014 ,  время: 23:25:48 (MSK).

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

Автор: Илья,  
дата: 15 ноября 2014 ,  время: 23:01:59 (MSK).

приподключении через HDMI, название интерфейса HDMI и прописывать?!

Автор: Subsanek,  
дата: 18 ноября 2014 ,  время: 16:37:03 (MSK).

Илья, введите для начала просто xrandr и посмотрите, как обозначен нужный интерфейс. Обычно называется как «HDMI-порядковый номер», в случае подключения через HDMI.

Автор: Илья,  
дата: 18 ноября 2014 ,  время: 20:45:04 (MSK).

2 Subsanek, вот, что терминал пишет «HDMI1 disconnected (normal left inverted right x axis y axis)
HDMI2 disconnected (normal left inverted right x axis y axis)», но вход хдми только один, вот в чём дело

Автор: Subsanek,  
дата: 08 января 2015 ,  время: 03:48:50 (MSK).

Илья, такое может быть, в таком случае нужно опробовать оба интерфейса.

Автор: stereo,  
дата: 24 июля 2015 ,  время: 15:25:00 (MSK).

Ништяк! очень помогло! —primary

Автор: Margo,  
дата: 05 января 2016 ,  время: 18:45:53 (MSK).

Нашла у вас совет, как выключить ненужный монитор,
а как ВКЛЮЧИТЬ случайно отключенный монитор?
У меня теперь в середине загрузки монитор щелкает (в момент, когда система считывает эту команду) и выключается.
Далее загрузка системы происходит как обычно, но я уже ничего этого не вижу. :(
Как теперь проникнуть в систему?

Автор: Subsanek,  
дата: 05 января 2016 ,  время: 18:54:36 (MSK).

Margo, попробуйте перейти в терминал сочетанием Ctrl+Alt+F2 и удалить проблемную команду из ~/.xprofile (можно использовать редактор nano).

Автор: Subsanek,  
дата: 05 января 2016 ,  время: 21:03:55 (MSK).

Margo, попробуйте создать файл ~/.xprofile с командой xrandr —output VGA-1 —mode 1600×1200 и перезагрузить.

Автор: user,  
дата: 16 марта 2016 ,  время: 10:18:25 (MSK).

автор, как сделать включение монитора с клавиши?

Автор: Askar,  
дата: 24 мая 2016 ,  время: 17:13:44 (MSK).

Спасибо помогло

Автор: yuri,  
дата: 20 июня 2016 ,  время: 09:26:01 (MSK).

user@ubuntu:~$ xrandr
Screen 0: minimum 8 x 8, current 1024 x 768, maximum 32767 x 32767
DP1 disconnected (normal left inverted right x axis y axis)
HDMI1 disconnected (normal left inverted right x axis y axis)
VGA1 disconnected (normal left inverted right x axis y axis)
VIRTUAL1 disconnected (normal left inverted right x axis y axis)
user@ubuntu:~$ xrandr -s 1600×900
Size 1600×900 not found in available modes
user@ubuntu:~$

Страницы:
1 | 2 >
>>


Архив статей:

Ноябрь 2018
Октябрь 2018
Май 2017
Март 2017
Апрель 2016
Март 2016
Октябрь 2013
Сентябрь 2013
Май 2013
Март 2013
Ноябрь 2012
Июль 2012
Июнь 2012
Апрель 2012
Март 2012
Февраль 2012
Апрель 2011
Март 2011
Февраль 2011
Январь 2011
Декабрь 2010
Ноябрь 2010
Октябрь 2010
Сентябрь 2010
Август 2010
Июль 2010
Июнь 2010
Май 2010
Апрель 2010
Март 2010

Случайные:

Коллеги:    все

 Linux для всех

linuxnow.ru
linuxnow.ru

Установить баннер

Contents

  1. Resetting an out-of-range resolution
  2. Dynamically testing different resolutions
  3. Panning viewport
  4. How to setup a dual monitor

    1. Introduction

      1. Output port names
    2. Four methods to setup

      1. By Session with .xprofile
      2. Dynamic setup with xrandr
      3. statically setup in xorg.conf
      4. Xrandr Graphical Front End GUI
    3. Not recognised video cards
  5. Adding undetected resolutions
  6. Setting xrandr changes persistently

    1. Setting xrandr commands in .xprofile
    2. Setting xrandr commands in kdm/gdm startup scripts
    3. Setting resolution changes in xorg.conf
    4. Setting resolution changes in xorg.conf — resolution lower than expected

      1. Try this first
      2. Use cvt/xrandr tool to add the highest mode the LCD can do
      3. Goto Ubuntu Menu: System -> Preference -> Display
  7. Obtaining modelines from Windows program PowerStrip

Resetting an out-of-range resolution

If you set a resolution inappropriate for your monitor in the Screen Resolution GUI tool, you can reset it from a terminal by running

  • $ rm ~/.config/monitors.xml

Dynamically testing different resolutions

You can either use the Screen Resolution GUI tool to experiment with different resolutions, or the more powerful xrandr command-line tool. Without parameters, xrandr shows you the names of different outputs available on your system (LVDS, VGA-0, etc.) and resolutions available on each:

  • $ xrandr
    Screen 0: minimum 320 x 200, current 1400 x 1050, maximum 1400 x 1400
    VGA disconnected (normal left inverted right x axis y axis)
    LVDS connected 1400x1050+0+0 (normal left inverted right x axis y axis) 286mm x 214mm
       1400x1050      60.0*+   50.0  
    [...]

You can direct xrandr to set a different resolution like this:

  • $ xrandr --output LVDS --mode 1024x768

    $ xrandr --output VGA1 --mode 1024x768

The refresh rate may also be changed, either at the same time or independently:

  • $ xrandr --output LVDS --mode 1024x768 --rate 75

    $ xrandr --output VGA1 --mode 1024x768 --rate 60

Note that changes you make using xrandr only last through the current session. xrandr has a lot more capabilities — see man xrandr for details.

Panning viewport

If you want to have a panning viewport, i.e., a virtual screen that’s bigger than your physical screen that moves when you move the mouse to the edge («zoomed in» view) specify the desired physical resolution with —mode and the virtual screen size with —fb and panning area (typically same as virtual screen size) with —panning.

For example,

  • $ xrandr --output VGA1 --rate 60 --mode 800x600 --fb 1280x1024 --panning 1280x1024

How to setup a dual monitor

Introduction

This article above will give you some important background information. I will summarize the points that I think are important and add a few points. It makes life easier if you pop open a terminal and type to open your gui monitor program:

  • $ gnome-display-properties

Next uncheck same image in all Monitors. If your watch a lot of movies it is important to set your Monitors to your lower resolution. For example, if they are both 1440 x 900 monitors, make sure it is set to that resolution. If the monitors are different resolutions, you will need it to the resolution of the smaller monitor. So, for example, if one monitor is 1440 x 900 and the other is full HD resolution, you will have to set it at 1440×900. The reason for this is your video will be a black screen when trying to watch a movie so this is very important. Click APPLY. Then you will get a warning and you need to keep your new configuration. You will need to restart your session for this to take effect sometimes. There are 2 simple ways to do this. The first is to log out then log back in, and the second is to hit ctrl+alt+backspace. The second method restarts your x session so make you save your work.

This guide is targeted for people who want to use extended desktop mode on two outputs. Clone mode should work out-of-box with a normal configuration.

With RandR 1.2, you can setup dual head and add/remove monitor dynamically (i.e. on-the-fly, without restarting X).

Output port names

Intel driver — UMS

  • VGA — Analog VGA output

  • LVDS — Laptop panel

  • DP1 — DisplayPort output

  • TV — Integrated TV output

  • TMDS-1 — First DVI SDVO output

  • TMDS-2 — Second DVI SDVO output

The SDVO and DVO TV outputs are not supported by the driver at this time.

Intel driver — KMS

  • LVDS1 — Laptop panel

  • VGA1 — Analog VGA output

  • DVI1 — Digital video output

radeon driver

  • VGA-0 — Analog VGA output

  • LVDS — Laptop panel

  • S-video — Integrated TV output

  • DVI-0 — DVI output

http://www.thinkwiki.org/wiki/Xorg_RandR_1.2

Four methods to setup

  1. By session with .xprofile.
  2. Dynamically by using xrandr tool
  3. Statically by setting in xorg.conf.
  4. Xrandr Graphical Front End GUI.

xrandr tool (an app component in Xorg) is a command line interface to RandR extension, and can be used to set outputs for a screen dynamically, without any specific setting in xorg.conf. You can refer the xrandr manual for details.

By Session with .xprofile

Use your favorite editor to create ~/.xprofile containing something like:

  • xrandr --output VGA1 --mode 1024x768 --rate 60

Now that command will be run every time your start your Xsession. You can force it to run by logging out and logging back in or by executing ~/.xprofile from your terminal.

Here is an example of my ~/.xprofile. The # are for comments just like you do with shell scripts. The purpose of my setup is sometime have laptop on the left and other times I have my laptop on the right. This makes very simple and easy to change which side you want each monitor to be on. I just added the information on how to set your primary monitor.

  • xrandr --output VGA1 --mode 1024x768 --rate 60
    
    #Laptop right extra Monitor Left
    #xrandr --output VGA1 --left-of LVDS1
    
    #Laptop left extra Monitor right
    xrandr --output LVDS1 --left-of VGA1
    
    #This is to set your primary monitor.
    
    #This sets your laptop monitor as your primary monitor. 
    xrandr --output LVDS1 --primary
    
    #This sets your VGA monitor as your primary monitor. 
    #xrandr --output VGA1 --primary

Some people think it is a disadvantage that this only works for one user, other people think this is an advantage. If you want to be able to use this just copy it over to your profile folder.

Important Note: If you just blindly copy some commands from a website, you may see an error message:

  • xrandr: cannot find mode 1024×768

This may be due to some CMS’ way of modifying content: xrandr expects the letter x and not the multiplication cross × between horizontal and vertical resolution.

Incorrect example:

  • $ xrandr --output VGA1 --mode 1024×768 --rate 60

Corrected example

  • $ xrandr --output VGA1 --mode 1024x768 --rate 60

Dynamic setup with xrandr

Xrandr can be used to change outputs’ mode, rotation direction, position, etc. In this guide, we only introduce options related with dual head setting.

You can see the outputs’ status with option ‘-q’. Below is an example:

  • $ xrandr -q
    Screen 0: minimum 320 x 200, current 2048 x 768, maximum 4096 x 4096
    VGA1 connected 1024x768+1024+0 (normal left inverted right x axis y axis) 338mm x 270mm
     1280x1024      60.0 +   75.0  
     1280x960       75.0     70.0     60.0  
     1152x864       75.0     70.0     60.0  
     1024x768       75.1     70.1     66.0     60.0* 
     832x624        74.6  
     800x600        72.2     75.0     60.3     56.2  
     640x480        72.8     75.0     66.7     60.0  
     720x400        70.1  
    LVDS1 connected 1024x768+0+0 (normal left inverted right x axis y axis) 304mm x 228mm
     1024x768       60.0*+
     800x600        60.3  
     640x480        59.9  
    DVI1 disconnected (normal left inverted right x axis y axis)
    TV1 disconnected (normal left inverted right x axis y axis)

In the above example, two outputs (VGA1 and LVDS1) are connected, the resolution of both is 1024×768@60, output VGA’s viewport is at (1024, 0) and output LVDS’s viewport is at (0, 0), i.e. LVDS1 is located at left of VGA. The size of occupied area by both outputs is 2048×768. The virtual screen size (maximum framebuffer) is 4096 x 4096 which is statically set in xorg.conf (see next section). You can decrease the maximum with ‘—fb’ option but can not increase it. You need make sure your screen size fall into the maximum framebuffer, otherwise you should increase the value in xorg.conf.

There are five xrandr options that can be used to set Dual Monitor:

  • $ xrandr --pos <x>x<y>
    $ xrandr --left-of <output>
    $ xrandr --right-of <output>
    $ xrandr --above <output>
    $ xrandr --below <output>

The last four will set the output’s relative position to another output, for example:

  • $ xrandr --output VGA1 --left-of LVDS1

Option ‘-pos’ is more flexible which can place output to anywhere, for example:

  • $ xrandr --output VGA1 --pos 200x200
    $ xrandr --output LVDS1 --pos 400x500

statically setup in xorg.conf

RandR1.2 configuration in xorg.conf is based on per monitor. So you need write a ‘Monitor’ section for each output and specify these monitors in ‘Device’ section.

Below is a example snippet in xorg.conf.

  • Section "Device"
            Identifier      "Intel 945G "
            Driver         "intel"
    
            # Using the name of the output defined by the video driver plus the identifier of a
            #     monitor section, one associates a monitor section with an output by adding an
            #     option to the Device section in the following format:
            #     Option "Monitor-outputname" "monitor ID"
    
            Option          "monitor-VGA" "foo"
            Option          "monitor-LVDS" "bar"
            #Option         "monitor-TMDS-1" "dvi"
    EndSection
    
    Section "Monitor"
            Identifier      "foo"
    
            # specifies a mode to be marked as the preferred initial mode of the monitor
            # Option "PreferredMode"  "800x600"
            # This optional entry specifies the position of the monitor within the X screen.
            #Option        "Position" "1024 0"
            #This optional entry specifies that the monitor should be ignored
            #     entirely, and not reported through RandR.  This is useful if the
            #     hardware reports  the  presence  of  outputs  that do not exist.
            #Option "Ignore"  "true"
    EndSection
    
    Section "Monitor"
            Identifier      "bar"
    
            #Options LeftOf, RightOf, Above, Below specify monitors' relative position
    
            Option "LeftOf"  "foo"
    
            # This optional entry specifies  whether  the  monitor  should  be
            #     turned  on  at  startup.  By default, the server will attempt to
            #     enable all connected monitors.
            #Option "Enable"  "true"       
    
            #This optional entry specifies the initial rotation of the given monitor.
            #     Valid values for rotation are "normal", "left", "right", and "inverted".
            # Option "Rotate"  "left"
    EndSection
    
    Section "Screen"
            Identifier      "Default Screen"
            Device        "Intel Corporation 945G Integrated Graphics Controller"
            Monitor       "foo"
            DefaultDepth  24
            SubSection "Display"
                    Depth          24
                    Modes         "1280x1024"  "1024x768"   "640x480"
            EndSubSection
    EndSection

Xrandr Graphical Front End GUI

  • ARandR

  • Grandr

  • LXRandR

  • Urandr

  • zarfy

Not recognised video cards

It is possible, that resolutions higher than 1024×768 (or 800×600.. 640×480) are not avalaible by default, because the videocard isn’t recognised propely. If you can add and apply the desired undetected resolution(s) dinamically with cvt and xrandr, but you get an error after applying static changes to xorg.conf, etc/gdm/init/default, or .xprofile etc. & reboot, something like ‘Stored settings can’t be applied to monitors, any of the selected modes are not compatible with avalaible modes.. trying modes to 79.CRTC..’, than You could try forcing X to recognize the video RAM.

Use your favorite text editor as root: (open a terminal)

  •  $ sudo nano /usr/share/X11/xorg.conf.d/99-vesahack

or

  •  $ gksudo gedit /usr/share/X11/xorg.conf.d/99-vesahack 

and put this in the newly created file:

  • Section "Device"
        Identifier "Screen0"
        VideoRam 10000
    EndSection

This tells X that there is 10000 kB (~10 MB) of video RAM, enough for 1920×1200 at 4 bytes per pixel. You can replace ‘10000’ above with the amount of avalaible video ram. Save and reboot. (Remove the 99-vesahack file if it doesn’t help.)

Adding undetected resolutions

Due to buggy hardware or drivers, your monitor’s correct resolutions may not always be detected. For example, the EDID data block queried from your monitor may be incorrect.

If the mode already exists, but just isn’t associated for the particular output, you can add it like this:

  • $ xrandr --addmode S-video 800x600

If the mode doesn’t yet exist, you’ll need to create it first by specifying a modeline:

  • $ xrandr --newmode <Mode``Line>

You may create a modeline using the gtf or cvt utility. For example, if you want to add a mode with resolution 800×600 at 60 Hz, you can enter the following command: (The output is shown following.)

  • $ cvt 800 600 60
    # 800x600 59.86 Hz (CVT 0.48M3) hsync: 37.35 kHz; pclk: 38.25 MHz
    Modeline "800x600_60.00"   38.25  800 832 912 1024  600 603 607 624 -hsync +vsync

Then copy the information after the word «Modeline» into the xrandr command:

  • $ xrandr --newmode "800x600_60.00"   38.25  800 832 912 1024  600 603 607 624 -hsync +vsync

After the mode is entered, it needs to be added to the output using the —addmode command as explained above.

Setting xrandr changes persistently

There are several ways to make xrandr customizations permanent from session to session: a) .xprofile, b) kdm/gdm, c) xorg.conf. Each of these mechanisms will be discussed in turn.

Setting xrandr commands in .xprofile

A user’s ~/.xprofile file is executed on Xorg startup if it exists and is executable. You can copy and paste xrandr command line strings into this file so they’re executed when you log in. For example:

  • $ xrandr --output VGA-0 --mode 800x600

There are two disadvantages to using .xprofile for xrandr settings. First, it occurs fairly late in the startup process, so you’ll see some resolution resizing during the initial screen draw; in some cases panel windows may resize improperly as a result. Second, as this is a per-user setting, it won’t affect the resolutions of other users, nor will it alter the resolution on the login screen.

Setting xrandr commands in kdm/gdm startup scripts

Both KDM and GDM have startup scripts that are executed when X is initiated. For GDM, these are in /etc/gdm/ , while for KDM this is done at /etc/kde4/kdm/Xsetup. In either case, you can paste in an xrandr command line string into one of these scripts. For GDM, try putting them right before

  • initctl -q emit login-session-start DISPLAY_MANAGER=gdm

in /etc/gdm/Init/Default.

This process requires root access and mucking around in system config files, but will take effect earlier in the startup process than using .xprofile, and will apply to all users including the login screen.

Setting resolution changes in xorg.conf

While xorg.conf is largely empty these days, it can still be used for setting up resolutions. For example:

  • Section "Monitor"
        Identifier      "External DVI"
        Modeline        "1280x1024_60.00"  108.88  1280 1360 1496 1712  1024 1025 1028 1060  -HSync +Vsync
        Option          "PreferredMode" "1280x1024_60.00"
    EndSection
    Section "Device"
        Identifier      "ATI Technologies, Inc. M22 [Radeon Mobility M300]"
        Driver          "ati"
        Option          "Monitor-DVI-0" "External DVI"
    EndSection
    Section "Screen"
        Identifier      "Primary Screen"
        Device          "ATI Technologies, Inc. M22 [Radeon Mobility M300]"
        DefaultDepth    24
        SubSection "Display"
            Depth           24
            Modes   "1280x1024" "1024x768" "640x480"
        EndSubSection
    EndSection
    
    Section "ServerLayout"
            Identifier      "Default Layout"
            Screen          "Primary Screen"
    EndSection

See man xorg.conf for full details on how to craft an xorg.conf file.

Setting resolution changes in xorg.conf — resolution lower than expected

Try this first

If you video card is recognized but the resolution is lower than you expect, you may try this.

Background: I use Ubuntu 9.0.4 x86, ATI X1550 based video card and two LCD monitors DELL 2408(up to 1920×1200) and Samsung 206BW(up to 1680×1050). Upon first login after installation, the resolution default to 1152×864. xrandr does not list any resolution higher than 1152×864. You may want to try editing /etc/X11/xorg.conf, add a section about virtual screen, logout, login and see if this helps. If not then read on.

Change the default xorg.conf

  • Section "Device"
            Identifier      "Configured Video Device"
    EndSection
    
    Section "Monitor"
            Identifier      "Configured Monitor"
    EndSection
    
    Section "Screen"
            Identifier      "Default Screen"
            Monitor         "Configured Monitor"
            Device          "Configured Video Device"
    EndSection

To:

Section "Monitor"
        Identifier      "Configured Monitor"
EndSection

Section "Screen"
        Identifier      "Default Screen"
        Monitor         "Configured Monitor"
        Device          "Configured Video Device"
->        SubSection "Display"
->                Virtual 3600 1200
->        EndSubSection
EndSection

Section "Device"
        Identifier      "Configured Video Device"
EndSection

About the numbers: I put DELL on the left and Samsung on the right. So the virtual width is of sum of both LCD width 3600=1920+1680; Height then is figured as the max of them, which is max(1200,1050)=1200. If you put one LCD above the other, use this calculation instead: (max(width1, width2), height1+height2).

If that does not help, here’s what I did:

Use cvt/xrandr tool to add the highest mode the LCD can do

The actual order was different, as I tried to add new mode to one LCD at a time. Below is the combined/all-in-one quote

  • aa@aa-desktop:/$ cvt 1920 1200 60
    # 1920x1200 59.88 Hz (CVT 2.30MA) hsync: 74.56 kHz; pclk: 193.25 MHz
    Modeline "1920x1200_60.00"  193.25  1920 2056 2256 2592  1200 1203 1209 1245 -hsync +vsync
    aa@aa-desktop:/$ cvt 1680 1050 60
    # 1680x1050 59.95 Hz (CVT 1.76MA) hsync: 65.29 kHz; pclk: 146.25 MHz
    Modeline "1680x1050_60.00"  146.25  1680 1784 1960 2240  1050 1053 1059 1089 -hsync +vsync
    aa@aa-desktop:/$ xrandr --newmode "1920x1200_60.00"  193.25  1920 2056 2256 2592  1200 1203 1209 1245 -hsync +vsync
    aa@aa-desktop:/$ xrandr --newmode "1680x1050_60.00"  146.25  1680 1784 1960 2240  1050 1053 1059 1089 -hsync +vsync
    aa@aa-desktop:/$ xrandr --addmode DVI-1 "1920x1200_60.00"
    aa@aa-desktop:/$ xrandr --addmode DVI-0 "1680x1050_60.00"

Change one of the LCD’s resolution to a lower one, e.g. 800×600. Apply change, then (I don’t remember the exact order/wording here:) hopefully the GUI will give you a prompt saying something like «the resolution can be improved but virtual screen has to be enabled, you need to however logout and log back in». I did it and on 2nd login, I am able to find the higher resolution listed for that LCD. After that I follow suite and make similar change to 2nd LCD and am able to get both of them working.

Obtaining modelines from Windows program PowerStrip

X.Org Wiki has an article about this.

С развитием технологий экраны для компьютеров смогли значительно увеличить разрешение. Если старые экраны показывали 640х800 пикселей, то более новые отображают уже 1920х1080. У последних моделей разрешение ещё выше.

В операционной системе Linux существует несколько способов настройки разрешения экрана. В обычных системах, как правило, это не нужно. Но если вы хотите использовать несколько мониторов или решили запустить Linux на виртуальной машине, то разрешение может определиться неправильно и тогда придётся его настроить. В этой статье мы рассмотрим, как изменить разрешение экрана в Linux через графический интерфейс и терминал.

Настройка разрешения экрана в GUI

Разберём настройку разрешения на примере дистрибутива Ubuntu и окружения рабочего стола Gnome. Откройте утилиту Настройки из главного меню:

Перейдите на вкладку Устройства, а затем выберите пункт Настройка экранов:

Если к компьютеру подключено два монитора Linux или больше, то у вас будет три варианта работы экранов:

  • Объединение — все экраны объединяются в одно рабочее пространство;
  • Зеркальное отображение — одинаковая картинка на всех экранах;
  • Один экран — картинка только на одном экране, другие отключены.

Независимо от того, какой режим вы выбираете, будут доступны настройки Разрешение и Частота обновления, где вы сможете настроить нужные вам параметры:

Так выполняется настройка монитора Linux через графический интерфейс. Если вы хотите объединить экраны, то можно указать разрешение мониторов Linux для каждого из них отдельно:

Но здесь есть один недостаток, вы можете выбрать только то разрешение экрана, которое предлагает система. Если вы захотите установить разрешение выше или ниже тех, что есть, то у вас ничего не выйдет. Для этого надо воспользоваться терминалом.

Как изменить разрешение экрана через терминал

Для управления настройками экрана из терминала можно использовать утилиту xrandr. Синтаксис утилиты очень прост:

xrandr опции параметры

Разберём основные опции утилиты, которые будем использовать:

  • —verbose — включить более подробный вывод;
  • —version — версия программы;
  • —query — когда установлена эта опция или не указанно никаких опций, выводится текущая конфигурация;
  • -d, —display — позволяет указать какой X экран использовать по имени;
  • -s, —screen — устанавливает дисплей для настройки по ID;
  • —output — устанавливает дисплей для настройки по имени или ID;
  • —primary — выбрать основной экран;
  • —size — позволяет указать размер экрана;
  • —rate — устанавливает частоту обновления;
  • —dpi — устанавливает DPI, количество точек на дюйм, которое позволяет вычислить правильный размер для окон;
  • —newmode — создаёт новый режим отображения по размеру и частоте;
  • —rmmode — удаляет режим отображения;
  • —addmode — добавляет созданный режим к списку доступных для использования;
  • —delmode — удалить режим из списка доступных;
  • —mode — активирует указанный режим;
  • —off — отключает экран;
  • —gamma — позволяет установить коррекцию гаммы, в формате красный:зеленый:синий;

Чтобы посмотреть текущие параметры системы, запустите утилиту без параметров:

xrandr

Как видите, к моей системе подключено два экрана:

  • LVDS-1 — встроенный экран ноутбука;
  • HDMI-1 — внешний экран;

Для каждого экрана доступно несколько разрешений, текущее разрешение отмечено звёздочкой. Чтобы изменить разрешение экрана Linux на одно из доступных, используйте опцию —mode вместе с —output:

xrandr --output HDMI-1 --mode 1680x1050

Теперь звёздочка выводится около разрешения 1680х1050.

Хорошо, мы разобрались с тем, как добавить одно из существующих разрешений. По сути, то же самое, что и в графическом интерфейсе. Но если нужного разрешения в списке нет, то его можно добавить. Для этого сначала нужно конвертировать обычную запись в формат VESA. Для этого используйте утилиту cvt. Например, создадим режим с разрешением 2000х1100 и частотой обновления 60:

cvt 2000 1100 60

Дальше надо скопировать из вывода утилиты всё, что написано после «Modeline». Осталось использовать скопированный текст в xrandr:

xrandr --newmode "2000x1100_60.00" 183.75 2000 2136 2344 2688 1100 1103 1113 1141 -hsync +vsync

Добавляем только что созданное разрешение к списку доступных для нужного нам экрана:

xrandr --addmode HDMI-1 2000x1100_60.00

А затем активируем, как описывалось выше:

xrandr --output HDMI-1 --mode 2000x1100_60.00

xrandr

Но будьте аккуратны с новыми разрешениями. Если вы устанавливаете разрешение выше, чем поддерживает ваш монитор, то он просто не будет показывать. Но такая штука может быть полезна с VirtualBox, или если компьютер не определяет, что ваш монитор поддерживает более высокое разрешение.

Чтобы сохранить настройки после перезагрузки, добавьте команду активации разрешения в конфигурационный файл ~/.xprofile:

vi ~/.xprofile

Синтаксис файла очень похож на ~/.xinitrc. Все команды из него автоматически выполняются при старте сессии. Или же вы можете использовать любой другой метод автозагрузки, который работает после запуска X.

Выводы

В этой статье мы рассмотрели несколько способов настроить разрешение экрана Linux с помощью графического интерфейса или через терминал. Как видите, это не так сложно, как может показаться на первый взгляд.

Creative Commons License

Статья распространяется под лицензией Creative Commons ShareAlike 4.0 при копировании материала ссылка на источник обязательна .

Об авторе

Основатель и администратор сайта losst.ru, увлекаюсь открытым программным обеспечением и операционной системой Linux. В качестве основной ОС сейчас использую Ubuntu. Кроме Linux, интересуюсь всем, что связано с информационными технологиями и современной наукой.

Бывает, что когда вы установили Ubuntu на свой компьютер и подключаете монитор по dvi, но вот максимальное разрешение экрана, на 19-дюймовом мониторе, было 1024х768 вместо 1440х900. Для этого можно воспользоваться программой XRandR.

XRandR — расширение X-сервера, позволяющее производить настройки режимов работы мониторов. Например, можно изменить разрешение, вывести изображение на внешний монитор, повернуть изображение и тому подобное. Утилита часто полезна для настройки корректного разрешения при подключении к внешнему монитору или телевизору.

Вывод доступных мониторов и режимов

Введя в терминале xrandr вы увидите список интерфейсов, по которым могут быть подключены мониторы и доступные режимы работы монитора (разрешение и частота смена кадров в герцах).
Вот пример вывода этой команды:

Возможные названия интерфейсов:

    • LVDS1 — экран ноутбука;
    • VGA1 — экран, подключаемый через VGA;
    • DVI1 — экран, подключаемый через DVI;
    • HDMI — экран, подключенный через HDMI;

Названия интерфейсов могут отличаться в зависимости от используемой видеокарты. Для последующей работы с конкретным интерфейсом, необходимо запомнить его название (например, VGA1 если мы работам на видео от Intel и подключаем монитор по VGA). 

Изменение разрешения экрана.

В предыдущем пункте мы выполнили вывод существующих режимов разрешений экрана:
1366×768       60.0 +
1360×768       59.8     60.0
1024×768       60.0
800×600        60.3*    56.2
640×480        59.9

Чтобы установить любое из этих разрешений, выполняется следующая команда:

xrandr —output LVDS1 —mode

и вписываем после нее одно из названий существующих разрешений, например:
xrandr --output LVDS1 --mode 640x480 После этого установится нужное Вам разрешение.
И хочу заметить, что после опции output мы вписываем название своего интерфейса, в примере LVDS1.

Добавление нового режима.

И теперь приступим к самому важному.
Например мы подключаем 1080p монитор, а в программах настройки экрана доступно лишь намного меньшее разрешение.
Также могут быть проблемы и просто с неверным разрешением, из-за чего могут быть размытости и прочее.
Для начала воспользуемся очень полезной утилитой CVT (Coordinated Video Timing) в параметр ей добавим необходимое нам разрешение и частоту кадров. (В качестве параметров в примере добавим режим 1920×1080 при 60Гц):
cvt 1440 900 60

Вот что выводит данная утилита:

# 1440×900 59.89 Hz (CVT 1.30MA) hsync: 55.93 kHz; pclk: 106.50 MHz
Modeline «1440x900_60.00» 106.50 1440 1528 1672 1904 900 903 909 934 -hsync +vsync

Нам нужна строка, которая находится после Modeline.
И теперь создаем новый режим, он создается командой xrandr —newmode и добавляется строчка после modeline из предыдущей команды, то есть выполняем:
xrandr --newmode "1440x900_60.00" 106.50 1440 1528 1672 1904 900 903 909 934 -hsync +vsync

Теперь осталось «привязать» созданный режим к нужному интерфейсу (Выше я уже объяснял об интерфейсе, в примере я возьму интерфейс DVI1):
xrandr --addmode DVI1 1440x900_60.00

И теперь мы может установить созданное нами разрешение:
xrandr --output DVI1 --mode 1440x900_60.00

Вот и всё.

Добавление новой конфигурации в автозагрузку.

Добавленный новый режим разрешения экрана у нас сохранится до тех пор, пока не будет перезагружен компьютер.
Поэтому создадим скрипт sh с нашими командами. И добавим его в конфигурации lightdm.conf.
1. Создаем sh скрипт и проверяем его.
Ничего сложного нет в этом. Советую создать папку «.bin» в домашнем каталоге, куда будете складывать скрипты. Туда удобно складывать скрипты.

Итак создаем теперь новый документ, называем его как захочется, к примеру screen.sh. В текстовым редакторе добавляем туда наши все команды (полученные вышепо порядку:

#!/bin/bash
xrandr --newmode "1440x900_60.00" 106.50 1440 1528 1672 1904 900 903 909 934 -hsync +vsync
xrandr --addmode VGA1 1440x900_60.00
xrandr --output VGA1 --mode 1440x900_60.00

Сохраняем, закрываем, жмем правой кнопкой мыши по файлу и на вкладке «Права» ставим галочку «Разрешить выполнение как программы».

2. Теперь этот скрипт надо добавить в автозагрузку.
Здесь инструкция разделяется.
Для Ubuntu c 12.04 до 13.10 надо править следующий файл: sudo gedit /etc/lightdm/lightdm.conf Для Ubuntu 14.04 и выше надо править следующий файл: sudo gedit /usr/share/lightdm/lightdm.conf.d/50-unity-greeter.conf 
Добавляем в конец файла строчку:

display-setup-script=/home/edward/.bin/screen.sh

Естественно меняем путь до вашего скрипта после «=» на свой.
В итоге должно получиться так:

Вариант №2

Добавим этот скрипт в Автозагрузку системы.(/etc/xdg/autostart)

Сохраняем и перезагружаемся для проверки.

Все, должно работать!

1222702cookie-checkXRandR: Добавление своего разрешения монитора в Ubuntu

Автор публикации

Комментарии: 6Публикации: 1205Регистрация: 29-04-2020

Данная статья применима к:

  • Astra Linux Special Edition РУСБ.10015-01 и РУСБ.10015-10 (очередное обновление 1.7)
  • Astra Linux Special Edition РУСБ.10015-01 (очередное обновление 1.6)

  • Astra Linux Special Edition РУСБ.10015-16 исп. 1

  • Astra Linux Common Edition 2.12.24 и последующие обновления

Устранение чрезмерного масштабирования экрана при нормальном разрешении монитора (1920х1080): настройка DPI

При работе с мониторами высокого разрешения может некорректно выставляться значение разрешения экрана, что ведет к некорректному масштабированию экрана входа и/или рабочего стола (вход изображения за границы экрана). Разрешение экрана задается в точках на дюйм (Dots Per Inch, DPI). При этом:

  • Вывод команды xrandr показывает, что установлено достаточно низкое разрешение экрана (например, 640х480);
  • В настройках монитора (Стартовая меню-панель Fly > Настройки > Настройки монитора) установлено низкое разрешение экрана;
  • В файле /etc/X11/fly-dm/dpi указано высокое значение DPI (по умолчанию: 96, для планшетов может использоваться 220);
  • В файле /etc/X11/fly-dm/fly-dmrc в параметре ServerArgsLocal указано высокое значение DPI (более 96, для планшетов может использоваться 220, для мобильных устройств — 120);
  • В настройках шрифтов (Стартовая меню-панель Fly > Панель управления > Оформление Fly > Шрифты > Точек на дюйм) указано высокое значение DPI (более 96).

Для настройки DPI:

  1. При невозможности входа в графическую сессию выполнить следующие действия:
    1. Переключиться в консоль (Ctrl+Alt+F1 на физических машинах, или RCtrl+F1 на VirtualBox или через меню на Qemu);
    2. Выполнить вход в консольную сессию от имени пользователя-администратора;
  2. После входа в систему:
    1. В файле /etc/X11/fly-dm/fly-dmrc  указать стандартное значение DPI — 96:

      Если для dpi не указано никакое значение, то применяется стандартное значение 96.

    2. В файле /etc/X11/fly-dm/dpi (если он есть) указать значение 96, или удалить этот файл, так как при его отсутствии применяется стандартное значение 96;

    3. При возможности работы в графической сессии в настройках шрифтов (Стартовая меню-панель Fly > Панель управления > Оформление Fly > Шрифты > Точек на дюйм) выбрать «96» или «По умолчанию» (или подобрать иное приемлемое значение);

    4. После внесения изменений перезагрузить ОС командой:

      sudo reboot

      или перезапустить графический сервис fly-dm командой:

      sudo systemctl restart fly-dm

Добавление собственного разрешения экрана в оснастку «Разрешение» контекстного меню «Настройка монитора…»

Открыть терминал и выполнить следующие действия:

  1. С помощью команды cvt проверить, доступно ли требуемое разрешение. Если разрешение доступно (в примере ниже — разрешение 1824 на 1024) команда выдаст строку настроек монитора для этого разрешения:

    cvt 1824 1024


    # 1824×1024 59.86 Hz (CVT) hsync: 63.63 kHz; pclk: 154.75 MHz
    Modeline «1824x1024_60.00»  154.75  1824 1936 2128 2432  1024 1027 1037 1063 -hsync +vsync

    Далее используются параметры настройки из второй строки, за исключением слова Modeline;

  2. Далее с помощью команды xrandr зарегистрировать параметры настроек:

    xrandr —newmode «1824x1024_60.00»  154.75  1824 1936 2128 2432  1024 1027 1037 1063 -hsync +vsync

  3. Проверить, добавилось ли разрешение «1824x1024_60.00»:

    xrandr


    Screen 0: minimum 320 x 200, current 1920 x 992, maximum 8192 x 8192
    Virtual-1 connected primary 1920×992+0+0 (normal left inverted right x axis y axis) 0mm x 0mm
       1920×992      60.00*+
       1920×1200     59.95  
       1920×1080     60.00  
       1600×1200     59.95  
       1680×1050     60.00  
       1400×1050     60.00  
       1280×1024     59.95  
       1440×900      59.99  
       1280×960      59.99  
       1280×854      59.95  
       1280×800      59.96  
       1280×720      59.97  
       1152×768      59.95  
       1024×768      59.95  
       800×600       59.96  
       848×480       59.94  
       720×480       59.94  
       640×480       59.94  
    Virtual-2 disconnected (normal left inverted right x axis y axis)
    Virtual-3 disconnected (normal left inverted right x axis y axis)
    Virtual-4 disconnected (normal left inverted right x axis y axis)
      1824x1024_60.00 (0x3b4) 154.750MHz -HSync +VSync
            h: width  1824 start 1936 end 2128 total 2432 skew    0 clock  63.63KHz
            v: height 1024 start 1027 end 1037 total 1063           clock  59.86Hz

  4. Включить возможность использования созданного разрешения, например,  для монитора подключенного с использованием интефейса HDMI:

    xrandr —addmode HDMI-1 1824x1024_60.00

  5. При работе в графической сессии:
    1. Использовать в контекстном меню пункт «Настройка монитора…»;
    2. Убедиться, что новое разрешение появилось в оснастке «Разрешение»;
    3. Применить новое разрешение:

Настройки размера панели задач и размера значков рабочего стола

  1. Выбрать «Пуск» -> «Панель управления» -> «Рабочий стол» -> «Оформление Fly» -> «Темы» -> Размеры»;
  2. Отметить пункт «Автоматически» или снять отметку «Автоматически» и выбрать нужные параметры;
  3. Нажать кнопку «Применить».

Изменение размера иконок во вкладке «Панель управления» и изменение шрифта

Эта опция устанавливает значение DPI для шрифтов, что может быть полезно когда реальное DPI аппаратуры определено неверно или используются низкокачественные шрифты, отображающиеся некорректно или некачественно при использовании DPI, отличных от 96 или 120.

В обычных случаях использовать эту опцию  не рекомендуется. Для выбора DPI лучше явно настраивать X-сервер, если возможно (например, через параметр DisplaySize в xorg.conf или добавляя параметр -dpi value в ServerLocalArgs= в файле /etc/X11/fly-dm/fly-dmrc).

Когда шрифт отрисовывается некорректно или некачественно с реальным DPI, лучше использовать другой шрифт или установить конфигурацию хитинга.

  1. Выбрать «Пуск» ->  «Панель управления»-> «Рабочий стол» -> «Оформление Fly» -> «Шрифты» -> «Точек на дюйм»;
  2. Установить значение 96 или «По умолчанию» (или подобрать иное приемлемое значение);
  3. Нажать кнопку «Применить» ;
  4. «Перезапустить приложение»

Сохранение настроек графического режима после перезагрузки

Для сохранения настроек графического режима после перезагрузки:

  1. Определить имеющиеся видеовыходы и видеорежим, который должен восстанавливаться после перезагрузки для каждого видеовыхода. Это можно сделать выполнив команду xrandr без параметров:

    xrandr

    Пример вывода команды:

    Screen 0: minimum 320 x 200, current 3840 x 1080, maximum 7680 x 7680
    HDMI-1 connected primary 1920x1080+0+0 (normal left inverted right x axis y axis) 477mm x 268mm
       1920x1080     60.00*+  50.00    59.94
       1920x1080i    60.00    50.00    59.94
       1680x1050     59.88
       1280x1024     75.02    60.02
       1440x900      74.98    59.90
       1280x720      60.00    50.00    59.94
       1024x768      75.03    60.00
       800x600       75.00    60.32
       720x576       50.00
       720x576i      50.00
       720x480       60.00    59.94
       720x480i      60.00    59.94
       640x480       75.00    72.81    66.67    60.00    59.94
       720x400       70.08HDMI-2 connected 1920x1080+1920+0 (normal left inverted right x axis y axis) 477mm x 268mm
       1280x1024_75.00  74.90 +
       1920x1080     60.00*+  59.94
       1680x1050     59.88
       1280x1024     75.02    60.02
       1440x900      74.98    59.90
       1280x720      60.00    59.94
       1024x768      75.03    60.00
       800x600       75.00    60.32
       720x480       60.00    59.94
       640x480       75.00    72.81    66.67    60.00    59.94
       720x400       70.08  

    В выводе показано наличие двух видеовыходов (HDMI-1 и HDMI-2), далее в примере используется видеовыход HDMI-1 и видеорежим 1920х1080;

  2. Для выбранного видережима получить его параметры командой:

    cvt 1920 1080

    пример вывода команды:

    # 1920x1080 59.96 Hz (CVT 2.07M9) hsync: 67.16 kHz; pclk: 173.00 MHz
    Modeline "1920x1080_60.00"  173.00  1920 2048 2248 2576  1080 1083 1088 1120 -hsync +vsync
  3. Создать в домашнем каталоге пользователя файл .xprofile, в котором:
    1. Для каждого видеорежима указать команду его регистрации:

      xrandr --newmode "1920x1080_60.00" 173.00 1920 2048 2248 2576 1080 1083 1088 1120 -hsync +vsync

      где:

      • «1920x1080_60.00» — имя видеорежима;

      • 173.00 1920 2048 2248 2576 1080 1083 1088 1120 -hsync +vsync — строка параметров видеорежима, полученная с помощью команды cvt;

    2. Для каждого видеовыхода указать команды включения видеорежима:

      xrandr --addmode HDMI_1 "1920x1080_60.00"
      xrandr --output HDMI_1 --mode "1920x1080_60.00"
Изменить разрешение на дистрибутивах на основе GNOME o KDE очень простой. Для тех, кто использует Открытая коробка и деривативов дело обстоит немного сложнее. В большинстве случаев это приводит к длинному объяснению того, как изменить файл конфигурации X сервер: xorg.conf, расположенный в etc / X11.

Хотя в этом методе нет ничего плохого, xorg.conf устарел и может напугать многих пользователей.

Utilizar XRandR больше быстро y простой. Кроме того, он имеет несколько графических интерфейсов и может использоваться для другие предметы первой необходимости очень интересно, например конфигурация двух мониторов и т. д.

Индекс

  • 1 Как использовать xrandr
  • 2 Регулировка dpi
  • 3 Двойные мониторы
  • 4 Настройте xrandr для загрузки при запуске
  • 5 Графические инструменты

Как использовать xrandr

Сначала перечислите различные разрешения, доступные для вашего монитора:

ксрандр -q

Если требуемого разрешения нет в списке, это может быть связано с тем, что ваш монитор его не поддерживает или вам необходимо установить более подходящий драйвер (ati, intel или nvidia).

Затем установите разрешение, которое вы хотите использовать (измените «1400 × 1050» на желаемое):

храндр -с 1400x1050

Регулировка dpi

Dpi отличается от разрешения вашего экрана (пиксели x дюйм) и влияет на оформление окон, размер окна, рендеринг шрифта и т. Д.

На многих мониторах xrandr автоматически установит dpi. Если нет или если вы предпочитаете изменить эту конфигурацию, вы можете указать ее вручную:

xrandr --dpi 96 -s 1400x1050

Если это не удается, вы можете указать dpi в ~ / .Xdefaults

Я открыл редактор и поместил в этот файл следующее:

xft.dpi: 96

Это разрешение будет применяться ко всем открываемым вами новым окнам. Вы также можете выйти из системы, чтобы увидеть результаты этого изменения (перезагружать систему не нужно).

Если 96 вам не подходят, вы можете попробовать 72 или 135.

Двойные мониторы

Также можно использовать xrandr для настройки двух мониторов. Для этого вы должны использовать опции – right-of и –left-of.

Вот пример использования карты nvidia:

Сначала перечислите мониторы с помощью xrandr.

ксрандр -q

Результат будет примерно таким:

Экран 0: минимум 320 x 200, текущий 1920 x 1200, максимум 4096 x 4096
DVI-I-1 подключен 1920x1200 + 0 + 0 (ненормально левый перевернутый правая ось x ось y) 520 мм x 320 мм
1920 × 1200 60.0 * +
1600 × 1200 60.0
1680 × 1050 60.0
1280 × 1024 75.0
1280 × 960 60.0
1152 × 864 75.0
1024 × 768 75.1 70.1 60.0
832 × 624 74.6
800 × 600 72.2 75.0 60.3 56.2
640 × 480 72.8 75.0 60.0
720 × 400 70.1
Подключен DVI-I-2 1920x1200 + 0 + 0 (нормальный левый перевернутый правая ось x и ось) 520 мм x 320 мм
1920 × 1200 60.0 * +
1600 × 1200 60.0
1680 × 1050 60.0
1280 × 1024 75.0
1280 × 960 60.0
1152 × 864 75.0
1024 × 768 75.1 70.1 60.0
832 × 624 74.6
800 × 600 72.2 75.0 60.3 56.2
640 × 480 72.8 75.0 60.0
720 × 400 70.1
ТВ-1 отключен (нормальная левая перевернутая правая ось x ось y)

Затем используйте xrandr для настройки мониторов. Измените имена «DVI-I-1» и «DVI-I-2» на имена ваших мониторов. Вам также может потребоваться отрегулировать разрешение и изменить «–left-of» на «–right-of».

xrandr --auto - выход DVI-I-2 - режим 1920x1200 - слева от DVI-I-1

Он действует так же, как:

xrandr --auto - output DVI-I-1 --mode 1920x1200 - right-of DVI-I-2

Чтобы установить основной монитор, используйте параметр –primary:

xrandr --auto --output DVI-I-1 --mode 1920x1200 --primary - right-of DVI-I-2

Настройте xrandr для загрузки при запуске

Этот метод зависит от используемой вами среды рабочего стола (gnome, kde, xfce).

В openbox добавьте команду xrandr в ~ / .config / openbox / autostart.sh.

В fluxbox проделайте ту же операцию, но в файле ~ / .fluxbox / startup

В зависимости от используемой вами среды рабочего стола вы можете добавить xrandr в ~ / .xinit

Графические инструменты

Для xrandr есть очень хорошие графические интерфейсы. Среди наиболее известных можно упомянуть lxrandr, grandr, krandr и arandr.

Содержание статьи соответствует нашим принципам редакционная этика. Чтобы сообщить об ошибке, нажмите здесь.

Вы можете быть заинтересованы

Содержание

  1. Разрешение монитора в Linux
  2. Проблема с разрешениеv монитора в Linux (Ubuntu)
  3. Изменение разрешения монитора в Linux
  4. Добавление нового разрешения монитора в Linux
  5. Добавление новой конфигурации монитора в автозагрузку
  6. Как изменить разрешение экрана в Linux
  7. 21.10.2018
  8. Как изменить разрешение экрана в Linux Mint 20.1 MATE
  9. Как поменять разрешение Linux Mint 20.1
  10. XRandR: настройка режимов работы с дисплеями (мониторами) в GNU/Linux
  11. Linux смена разрешения экрана через терминал
  12. Вывод доступных мониторов и режимов
  13. Изменение разрешения экрана.
  14. Добавление нового режима.
  15. Добавление новой конфигурации в автозагрузку.

Разрешение монитора в Linux

Проблема с разрешениеv монитора в Linux (Ubuntu)

Да, такое бывает часто. Слава Богу, Что эту проблему достаточно просто решить. В данной статье мы рассмотрим

Изменение разрешения монитора в Linux

Для того чтобы посмотреть, на что вообще способны по мнению Linux ваши мониторы (или монитор, если он один), нужно выполнить команду xrandr из консоли (Ctrl+Alt+T):

В результате вы получите что-то типа такого (у меня 2 монитора):

Вы можеет увидеть здесь два видеовыхода: DVI-0 и VGA-0, а ниже доступные разрешения для каждого из мониторов на этих видеовыходах. У вас выходы могут называться по разному: LVDS1 — экран ноутбука, VGA1 — экран, подключаемый через VGA, DVI1 — экран, подключаемый через DVI, HDMI — экран, подключенный через HDMI.

Вуаля, на вашем мониторе уже должно смениться разрешение 🙂

Добавление нового разрешения монитора в Linux

А что же делать, если нужного нам разрешения нет в предлагаемых? А вот что: можно просто добавить необходимое разрешение вручную. Для этого найдите характеристики вашего монитора и посмотрите, какое разрешение он поддерживает и на какой частоте. ВНИМАНИЕ! Если вы укажите частоту, на которой монитор работать не может, то потеряете графический интерфейс вашего Linux’а.

Ну к примеру, мы выяснили, что монитор Acer AL1916W отлично работает с разрешением 1440×900 на частоте в 60Гц. Давайте сгенерим для него так называемый конфиг командой cvt:

Вывод команды будет таким:

33 cvt s

Отсюда нам нужна вторая строчка, а именно все, что находится после «Modeline»:

Далее мы создаем принципиально новый режим:

Осталось только привязать только что созданный режим к нужному монитору. Помните, в начале статьи мы смотрели, на каком выходе какой из мониторов? Привязка режима к конкретному монитору (выходу) делается так:

Ну вот, ваш монитор погас, включился и вы уже довольны 🙂

Добавление новой конфигурации монитора в автозагрузку

Да да да, вы спросите, и что, делать это каждый раз, когда запускается компьютер?

Нет, каждый раз делать этого не надо: просто не выключайте свой комп 🙂 Шучу. Можно просто добавить эту конфигурацию в автозагрузку, и Linux сам будет все это прекрасно делать при запуске. Как? Давайте по шагам:

Ну на будущее лучше создать в домашнем каталоге папку «.bin», в которой будут храниться все исполняемые скрипты (поверьте, пригодится). Ну и сразу перейдем в эту папку:

В папке создадим файл, назовем его, к примеру, load_screen.sh:

Открываем файл и добавляем в него все наши команды по созданию и добавлению режима монитора. Открыть файл:

Содержимое файла (для монитора, о котором идет речь в этой статье):

Закрываем (Ctrl+X) и сохраняем. Теперь нам надо на файл выставить права, чтоб его можно было выполнять, как команду:

Ну и осталось добавить его в так называемый автозапуск.

И в конец файла дописываем путь к нашему исполняемому скрипту. В итоге, файл 50-unity-greeter.conf у меня выглядит так (не забудьте, что имя пользователя у вас точно другое):

Всё! После перезагрузки разрешение монитора у вас уже должно сразу примениться. Ставьте лайки, друзья, если этот матриал был для вас полезен 😉

Источник

Как изменить разрешение экрана в Linux

21.10.2018

В последнее время часто приходилось сталкиваться с задачей изменения разрешения экрана в Linux. Найти её решение в интернете не сложно. Но чтобы не искать каждый раз решил оставить памятку и у себя на блоге. Дополнительно оказалось, что во многих таких решениях (по всей видимости скопированных друг у друга) демонстрируется непонимание вывода команды xrandr.

Прежде чем менять разрешение экрана нужно выяснить несколько моментов:

На первый и третий вопросы отвечает команда xrandr.

Согласно статье: «xrandr — это расширение X сервера, позволяющее производить настройки режимов работы мониторов».

Теперь главный вопрос, который вызывает непонимание: что выводится в двух колонках? Понятно, что в первой — разрешение экрана, а во второй — его частота в герцах. Но что это за разрешение? Во многих интернет ответах на вопрос «как изменить разрешение экрана в Linux» пишут, что это «доступные разрешения для уcтановки». Это не совсем так. Дальнейшие описываемые действия авторов (создание режима, его добавление непонятно куда и переключение на него) являются абсолютно лишними и только вводят читателей в заблуждение. Так что же выводит xrandr?

Она выводит список доступных режимов работы. То есть, если в нашем примере выводится разрешение 1440×900, то режим для него уже существует. Его не нужно заново создавать и тем более добавлять куда-то. Для переключения на него нужно использовать всего одну команду:

или более короткий вариант:

Команда —newmode нужна для создания нового режима, которого нет в выводе xrandr. А команда —addmode «рассказывает» о нем xrandr.

Допустим, мы хотим задать разрешение 1500×800. Его нет в выводе xrandr, поэтому нужно создать соответствующий ему режим. Но вначале нужно получить всю необходимую информацию. Это делается с помощью команды cvt. В терминале вбиваем:

Аббревиатура cvt расшифровывается как Coordinate Video Timings. Так называется стандарт (VESA-2013-3 v1.2), задающий тайминги компонентов видеосигнала. В качестве параметров утилиты cvt мы указываем желаемое разрешение. Ее вывод направляется в текстовый файл 1.txt (удобнее для последующего копирования текста). Открыв его, мы увидим следующее:

Для создания режима нам понадобится строка после слова Modeline. Обратите внимание: cvt несколько подкорректировала наш запрос. Видимо, так оно лучше соответствует стандартам. Теперь создаем режим и добавляем его в список доступных режимов.

Теперь если мы вновь проверим список доступных режимов, то увидим там наш режим

Осталось только переключиться на него любым описанным ранее способом.

Иногда при добавлении нового режима возникает ошибка.

Источник

Как изменить разрешение экрана в Linux Mint 20.1 MATE

После установки операционной системы она должна сама установить оптимальное разрешение экрана. Но иногда этого не происходит и пользователю приходиться самостоятельно изменять его. Если взять Windows то там все просто а вот с системами Linux могут возникнуть трудности. Изменить разрешения в них можно двумя способами, используя терминал но с этим справятся только опытные пользователи или используя графический интерфейс. Но даже используя графическую оболочку не опытному пользователю все равно будет сложно это сделать. Так как найти данные настройки будет не просто. Сегодня хочу рассказать и показать как это делается в операционной системе Linux Mint 20.1 MATE. Рассмотрим оба варианта.

Прежде чем продолжить дальше хочу вам порекомендовать ранее написанные мною статьи на тему настройки ОС Linux Mint 20.1.

Как поменять разрешение Linux Mint 20.1

Найти настройки экрана можно в «Центре управления» который в свою очередь находиться в пуске.

11 2

В открывшемся окне переходим в раздел «Оборудование» и выбираем пункт «Экраны».

12 2

Вот тут и можно изменить разрешение экрана, указать частоту обновления Гц и ориентацию.

13 2

Теперь рассмотрим второй вариант изменения разрешения экрана через терминал. Первое что нужно сделать это узнать все доступные разрешения введя команду

14 2

После этого вы должны увидеть количество подключенных мониторов и доступных для разрешений экрана. Так как у меня Linux Mint 20.1 установлена на виртуальную машину, монитор называется Virtual1 и ниже отображен список, из которого я могу выбрать.

Для того чтобы изменить разрешение нужно ввести команду.

xrandr —output Virtual1 —mode 1280×768

15

Кстати таким образом можно изменить разрешения экрана практически в любой операционной систем Linux. Так же кода будет вводить команду не ставьте лишних пробелов. Например, если вы напишите так.

xrandr —output Virtual1 — mode 1280×768

Команда не сработает, если кто не заметил то я постав пробел вот тут —_mode.

В общем все достаточно просто, главное нужно быть внимательней.

Источник

XRandR: настройка режимов работы с дисплеями (мониторами) в GNU/Linux

Дата добавления: 31 марта 2012

Изменение разрешения
Лучше всего рассмотреть пример:

Режимы работы с несколькими мониторами
Отключение дисплея
Отключить не нужный в данный момент дисплей можно с помощью опции —off:

После этого у вас будет виртуальное разрешение 1280×720 при 1024×600 физическом.

Сохранение настроек
Для активации необходимых настроек при старте, создайте файл

/ указывает на расположение в домашней директории) и внесите в него необходимые строки команд xrandr.

Статья частично основана по материалам англоязычной документации.

/.xprofile должен быть исполняемым. В англоязычной версии это описано. Я, как новичок, этого не сделал. И, как следствие, при запуске системы разрешение не устанавливается на нужное автоматически. А таких новичков много в сети.

/.xprofile (можно использовать редактор nano).

xrandr вообще отвечает Can’t open display.

А вот как xrandr выглядит в другой системе (зашла со спас.диска):

$ xrandr
Screen 0: minimum 320 x 200, current 1024 x 768, maximum 4096 x 4096
VGA-1 connected 1024×768+0+0 (normal left inverted right x axis y axis) 350mm x 260mm
1600×1200 60.0 60.0
1280×1024 75.0 59.9
1024×768 85.0 75.1 60.0*
800×600 100.0 85.1 75.0 60.3
640×480 85.0 60.0
720×400 70.1
DVI-I-1 disconnected (normal left inverted right x axis y axis)
TV-1 connected 1024×768+0+0 (normal left inverted right x axis y axis) 0mm x 0mm
720×576 50.0 +
1024×768 50.0*
800×600 50.0
720×480 50.0
640×480 50.0
400×300 100.0
320×240 100.0
320×200 100.0

Первый способ:
в начале загрузки выбрать recovery mode,
в recovery mode выбрать resume normal boot,
выйдет предупреждение, что это типа Safe mode и не все графические драйверы могут работать,
кликнула ОК, загрузка продолжилась, пришла куда хотела, всё работает как всегда.
Правда, при перезагрузке та же засада, монитор отключается, т.е. recovery mode теперь пожизненно, если не переписать config файл (но КАКОЙ именно. ).
Ну и ладно, всё равно новую ставить пора, сейчас у меня Минт14 Надя, если кому интересно.

Теперь спокойненько, с кофе и булочкой, бэкапнула закладки и попробую создать файл по вашему совету. 🙂
Спасибо, что поддержали!

$ xrandr
Screen 0: minimum 8 x 8, current 1024 x 768, maximum 32767 x 32767
DP1 disconnected (normal left inverted right x axis y axis)
HDMI1 disconnected (normal left inverted right x axis y axis)
VGA1 disconnected (normal left inverted right x axis y axis)
VIRTUAL1 disconnected (normal left inverted right x axis y axis)
user@ubuntu:

Источник

Linux смена разрешения экрана через терминал

Razreshenie ekrana

Бывает, что когда вы установили Ubuntu на свой компьютер и подключаете монитор по dvi, но вот максимальное разрешение экрана, на 19-дюймовом мониторе, было 1024х768 вместо 1440х900. Для этого можно воспользоваться программой XRandR.

XRandR — расширение X-сервера, позволяющее производить настройки режимов работы мониторов. Например, можно изменить разрешение, вывести изображение на внешний монитор, повернуть изображение и тому подобное. Утилита часто полезна для настройки корректного разрешения при подключении к внешнему монитору или телевизору.

Вывод доступных мониторов и режимов

Введя в терминале xrandr вы увидите список интерфейсов, по которым могут быть подключены мониторы и доступные режимы работы монитора (разрешение и частота смена кадров в герцах).
Вот пример вывода этой команды:

edward@lenovo:+~ 205

Возможные названия интерфейсов:

Названия интерфейсов могут отличаться в зависимости от используемой видеокарты. Для последующей работы с конкретным интерфейсом, необходимо запомнить его название (например, VGA1 если мы работам на видео от Intel и подключаем монитор по VGA).

Изменение разрешения экрана.

В предыдущем пункте мы выполнили вывод существующих режимов разрешений экрана:
1366×768 60.0 +
1360×768 59.8 60.0
1024×768 60.0
800×600 60.3* 56.2
640×480 59.9

Чтобы установить любое из этих разрешений, выполняется следующая команда:

Добавление нового режима.

Добавление новой конфигурации в автозагрузку.

Добавленный новый режим разрешения экрана у нас сохранится до тех пор, пока не будет перезагружен компьютер.
Поэтому создадим скрипт sh с нашими командами. И добавим его в конфигурации lightdm.conf.
1. Создаем sh скрипт и проверяем его.
Ничего сложного нет в этом. Советую создать папку «.bin» в домашнем каталоге, куда будете складывать скрипты. Туда удобно складывать скрипты.

Итак создаем теперь новый документ, называем его как захочется, к примеру screen.sh. В текстовым редакторе добавляем туда наши все команды (полученные выше) по порядку:

Сохраняем, закрываем, жмем правой кнопкой мыши по файлу и на вкладке «Права» ставим галочку «Разрешить выполнение как программы».

Естественно меняем путь до вашего скрипта после «=» на свой.
В итоге должно получиться так:

50 unity greeter.conf+%28 usr share lightdm lightdm.conf.d%29+ +gedit 207

Добавим этот скрипт в Автозагрузку системы.(/etc/xdg/autostart)

Источник

Ссылки по теме

  • Xorg (Русский)
  • Multihead

xrandr — это официальная программа настройки оконной системы X. С ее помощью можно изменить параметры вывода изображения RandR. Для получения информации о настройке вывода изображения сразу на несколько мониторов смотрите статью Multihead.

Contents

  • 1 Установка
  • 2 Тест режимов вывода изображения
  • 3 Настройка
    • 3.1 Примеры
  • 4 Устранение неполадок
    • 4.1 Поиск отсутствующих режимов
      • 4.1.1 EDID checksum is invalid
    • 4.2 Добавление отсутствующих режимов работы
    • 4.3 Разрешение оказалось ниже, чем хотелось бы
  • 5 Смотрите также

Установка

Установите пакет xorg-xrandr. Также существуют графические оболочки arandr и lxrandr.

Тест режимов вывода изображения

Если запустить xrandr без дополнительных параметров, то она проверит все доступные интерфейсы (LVDS, VGA-0, и.т.д.) выведет их состояние и возможные режимы работы для них.

$ xrandr

Screen 0: minimum 320 x 200, current 1440 x 900, maximum 8192 x 8192
VGA disconnected (normal left inverted right x axis y axis)
LVDS connected (normal left inverted right x axis y axis)
   1440x900       59.9*+
   1280x854       59.9  
   1280x800       59.8  
...

Вы можете использовать xrandr для установки разрешения на нужном интерфейсе (режим работы с этим разрешением должен быть в списке выше):

$ xrandr --output LVDS --mode 1280x800

Если в списке присутствуют несколько режимов с одинаковым разрешением, но разной частотой, то необходимо в параметрах так же указывать нужную частоту --rate, либо её можно задать потом отдельно. Например:

$ xrandr --output LVDS --mode 1280x800 --rate 75

Параметр --auto запустит интерфейс в режиме с максимально возможными параметрами (имеющимися в списке выше).

$ xrandr --output LVDS --auto

Можно указывать несколько интерфейсов в одной команде например, выключить LVDS и включить HDMI-0 в автоматическом режиме:

$ xrandr --output LVDS --off --output HDMI-0 --auto

Примечание:

  • Изменения внесённые xrandr не запоминаются после окончания X сессии.
  • xrandr имеет большое количество параметров — читайте xrandr(1).

Настройка

xrandr сам по себе является простым интерфейсом для конфигурации RandR и не имеет собственных файлов конфигурации. Тем не менее существует множество способов задать нужные параметры:

  1. Сконфигурировать RandR можно без помощи xrandr через файлы конфигурации X configuration files, смотрите так же Multihead#RandR. Это метод позволяет создать только статическую конфигурацию.
  2. Также можно использовать xrandr непосредственно в время запуска X сервера. Смотрите Autostarting#Graphical.
  3. Динамические конфигурации можно получить используя различные скрипты вызова xrandr которые в свою очередь можно запускать по определённым события ( подключение, отключение интерфейсов и.т.п. ), смотрите udev и acpid. В секции #Примеры приведено несколько скриптов.

Примечание: В KDM и GDM есть сценарии запуска которые выполняются до запуска X сервера. Для GDM, это /etc/gdm/, а для KDM /usr/share/config/kdm/Xsetup и для SDDM это /usr/share/sddm/scripts/Xsetup. Этот метод требует прав на доступ к корневым каталогам и изменения файлов системных конфигураций, однако позволяет внести изменения до запуска xprofile.

Примеры

1. Позволяет включать интерфейс VGA или .др, отключая при этом LVDS или др.

Примечание:

  • Для ноутбуков по умолчанию используется $IN LVDS.
#!/bin/bash

IN="LVDS1"
EXT="VGA1"

if (xrandr | grep "$EXT disconnected"); then
    xrandr --output $EXT --off --output $IN --auto
else
    xrandr --output $IN --off --output $EXT --auto
fi

2. Позволяет включать интерфейс VGA или .др , и затем отключать их после отключения внешнего монитора.

#!/bin/bash

IN="LVDS1"
EXT="VGA1"

if (xrandr | grep "$EXT disconnected"); then
    xrandr --output $IN --auto --output $EXT --off 
else
    xrandr --output $IN --auto --primary --output $EXT --auto --right-of $IN
fi

3. Позволяет автоматизировать выбор режимов работы для всех подключённых мониторов.

# get info from xrandr
connectedOutputs=$(xrandr | grep " connected" | sed -e "s/([A-Z0-9]+) connected.*/1/")
activeOutput=$(xrandr | grep -E " connected (primary )?[1-9]+" | sed -e "s/([A-Z0-9]+) connected.*/1/")

# initialize variables
execute="xrandr "
default="xrandr "
i=1
switch=0

for display in $connectedOutputs
do
	# build default configuration
	if [ $i -eq 1 ]
	then
		default=$default"--output $display --auto "
	else
		default=$default"--output $display --off "
	fi

	# build "switching" configuration
	if [ $switch -eq 1 ]
	then
		execute=$execute"--output $display --auto "
		switch=0
	else
		execute=$execute"--output $display --off "
	fi

	# check whether the next output should be switched on
	if [ $display = $activeOutput ]
	then
		switch=1
	fi

	i=$(( $i + 1 ))
done

# check if the default setup needs to be executed then run it
echo "Resulting Configuration:"
if [ -z "$(echo $execute | grep "auto")" ]
then
	echo "Command: $default"
	`$default`
else
	echo "Command: $execute"
	`$execute`
fi
echo -e "
$(xrandr)"

4. Позволяет автоматизировать выбор режимов работы для всех подключённых мониторов.

Примечание:

  • I am using it with srandrd in my i3-wm like so (#Example 3 didn’t work for me for some reason or other):.

~/.xprofile

srandrd ~/.i3/detect_displays.sh

#!/bin/bash

XRANDR="xrandr"
CMD="${XRANDR}"
declare -A VOUTS
eval VOUTS=$(${XRANDR}|awk 'BEGIN {printf("(")} /^S.*connected/{printf("[%s]=%s ", $1, $2)} END{printf(")")}')
declare -A POS
#XPOS=0
#YPOS=0
#POS="${XPOS}x${YPOS}"

POS=([X]=0 [Y]=0)

find_mode() {
  echo $(${XRANDR} |grep ${1} -A1|awk '{FS="[ x]"} /^s/{printf("WIDTH=%s
HEIGHT=%s", $4,$5)}')
}

xrandr_params_for() {
  if [ "${2}" == 'connected' ]
  then
    eval $(find_mode ${1})  #sets ${WIDTH} and ${HEIGHT}
    MODE="${WIDTH}x${HEIGHT}"
    CMD="${CMD} --output ${1} --mode ${MODE} --pos ${POS[X]}x${POS[Y]}"
    POS[X]=$((${POS[X]}+${WIDTH}))
    return 0
  else
    CMD="${CMD} --output ${1} --off"
    return 1
  fi
}

for VOUT in ${!VOUTS[*]}
do
  xrandr_params_for ${VOUT} ${VOUTS[${VOUT}]}
done
set -x
${CMD}
set +x

5. Позволяет включить интерфейс если подключённое устройство находится в спящем режиме(DisplayPort и аналоги).

local times=2
local seconds=1

while [ $times -gt 0 ]; do
    xrandr 1> /dev/null
    sleep $seconds
    let times-=1
done

Устранение неполадок

Поиск отсутствующих режимов

Из за различных факторов xrandr не всегда может корректно определить режимы работы устройств. Это можно исправить добавив нужный режим в ручную. Для начала запускаем gtf или cvt чтобы получить Modeline с нужными нам параметрами:

Примечание:

  • для некоторых LCD мониторов (например samsung 2343NW), необходимо использовать «cvt -r».

$ cvt 1280 1024

# 1280x1024 59.89 Hz (CVT 1.31M4) hsync: 63.67 kHz; pclk: 109.00 MHz
Modeline "1280x1024_60.00"  109.00  1280 1368 1496 1712  1024 1027 1034 1063 -hsync +vsync

Примечание: Если используется драйвер intel xf86-video-intel, то необходимый режим вместе с другими параметрами можно увидеть в /var/log/Xorg.0.log — он может отличатся от выданного gtf или cvt:

[    45.063] (II) intel(0): clock: 241.5 MHz   Image Size:  597 x 336 mm
[    45.063] (II) intel(0): h_active: 2560  h_sync: 2600  h_sync_end 2632 h_blank_end 2720 h_border: 0
[    45.063] (II) intel(0): v_active: 1440  v_sync: 1443  v_sync_end 1448 v_blanking: 1481 v_border: 0

xrandr --newmode "2560x1440" 241.50 2560 2600 2632 2720 1440 1443 1448 1481 -hsync +vsync

Теперь можно создать новый режим для xrandr:

Примечание: Modeline из строки нужно убрать.

$ xrandr --newmode "1280x1024_60.00"  109.00  1280 1368 1496 1712  1024 1027 1034 1063 -hsync +vsync

После создания необходимо добавить режим для интерфейса на котором вы будете его использовать.

Примечание: добавлять необходимо только название режима.

$ xrandr --addmode VGA1 1280x1024_60.00

После этого можно его использовать:

$ xrandr --output VGA1 --mode 1280x1024_60.00

Примечание: Изменения внесённые xrandr не запоминаются после окончания X сессии.

Для тестирования режимов лучше всего использовать конструкции типа (которые после таймаута восстанавливают прежний режим):

$ xrandr --output VGA1 --mode 1280x1024_60.00 && sleep 5 && xrandr --newmode "1024x768-safe" 65.00 1024 1048 1184 1344 768 771 777 806 -HSync -VSync && xrandr --addmode VGA1 1024x768-safe && xrandr --output VGA1 --mode 1024x768-safe

EDID checksum is invalid

Если приведущий метод приводит к ошибке *ERROR* EDID checksum is invalid, смотрите KMS#Forcing modes and EDID и [1].

Добавление отсутствующих режимов работы

После того как нашли нужный режим с помощью xrandr, его можно добавить в /etc/X11/xorg.conf.d/*:

/etc/X11/xorg.conf.d/10-monitor.conf

Section "Monitor"
    Identifier "VGA1"
    Modeline "1280x1024_60.00"  109.00  1280 1368 1496 1712  1024 1027 1034 1063 -hsync +vsync
    Option "PreferredMode" "1280x1024_60.00"
EndSection

Section "Screen"
    Identifier "Screen0"
    Monitor "VGA1"
    DefaultDepth 24
    SubSection "Display"
        Modes "1280x1024_60.00"
    EndSubSection
EndSection

Section "Device"
    Identifier "Device0"
    Driver "intel"
EndSection

Примечание: Не забывайте изменять драйвер intel на нужный, например nvidia.

Разрешение оказалось ниже, чем хотелось бы

Примечание: Сначала попробуйте этот метод #Поиск отсутствующих режимов.

Пример: видеокарты на основе ATI X1550 и два ЖК-монитора DELL 2408 (разрешение экрана до 1920х1200) и Samsung 206BW (до 1680×1050). При первом входе в систему после установки, разрешение по умолчанию 1152×864. XRandR не перечисляет разрешения выше 1152×864. Вы можете попробовать отредактировать /etc/X11/xorg.conf.d/*, добавить раздел о виртуальном экране, выйти из системы, войти в систему, и посмотреть, поможет ли это. Если нет, то читайте дальше.

change /etc/X11/xorg.conf.d/*

/etc/X11/xorg.conf.d/10-monitor.conf

Section "Screen"
        ...
        SubSection "Display"
                Virtual 3600 1200
        EndSubSection
EndSection

О цифрах: DELL слева и Samsung справа. Таким образом, виртуальная ширина суммы обоих ЖК шириной 3600 = 1920 + 1680; Высота, — максимальная из них, что максимум (1200,1050) = 1200. Если поставить один LCD выше другого, используйте этот расчет: (максимум (ширина 1, ширина 2), высота 1 + высота 2).

Смотрите также

  • https://wiki.ubuntu.com/X/Config/Resolution
  • RandR 1.2 tutorial
  • Xorg RandR 1.2 on ThinkWiki
  • FAQVideoModes — more information about modelines

Понравилась статья? Поделить с друзьями:
  • Как изменить разрешение экрана ubuntu server
  • Как изменить разрешение экрана samsung s10e
  • Как изменить разрешение экрана samsung galaxy note 10
  • Как изменить разрешение экрана samsung a52
  • Как изменить разрешение экрана lxde