Разрешение экрана в Linux

С развитием технологий экраны для компьютеров смогли значительно увеличить разрешение. Если старые экраны показывали 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 с помощью графического интерфейса или через терминал. Как видите, это не так сложно, как может показаться на первый взгляд.

5 комментариев

  1. Dou Октябрь 6, 2018 Ответить
  2. Rustam Октябрь 6, 2018 Ответить
  3. Юрий Октябрь 7, 2018 Ответить
    • Rustam Октябрь 10, 2018 Ответить
  4. Дмитрий Октябрь 9, 2018 Ответить

Ответить