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

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

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

Когда я поставил себе Ubuntu, то первой серьезной проблемой было разрешение моего монитора: ubuntu никик не хотела понимать, что мой моник (Acer AL1916W) крут и его рабочее разрешение - это 1440x900, а не 1024x768.

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

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

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


xrandr

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

Доступные разрешения мониторов в Linux

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

итак, если нужное вам разрешение присутствует в списке разрешений для вашего монитора, то применить его можно очень просто: xrandr --output Название_выхода --mode Режим. В моем случае команда будет выглядеть так:


xrandr --output DVI-0 --mode 1280x1024

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

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

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

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


cvt 1440 900 60

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

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

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

"1440x900_60.00" 106.50 1440 1528 1672 1904 900 903 909 934 -hsync +vsync

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


xrandr --newmode "1440x900_60.00"  106.50  1440 1528 1672 1904  900 903 909 934 -hsync +vsync

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


xrandr --addmode VGA-0 1440x900_60.00
xrandr --output VGA-0 --mode 1440x900_60.00

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

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

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

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

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


cd ~
mkdir .bin
cd .bin

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


touch load_screen.sh

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


nano load_screen.sh

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


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

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


chmod +x load_screen.sh

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

Для Ubuntu c 12.04 до 13.10 надо править следующий файл: /etc/lightdm/lightdm.conf, для Ubuntu 14.04 и выше - /usr/share/lightdm/lightdm.conf.d/50-unity-greeter.conf. Итак, открываем файл:


sudo nano /usr/share/lightdm/lightdm.conf.d/50-unity-greeter.conf

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


[SeatDefaults]
greeter-session=unity-greeter
display-setup-script=/home/krut1/.bin/load_screen.sh

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