Если отсутствует нужное разрешение монитора в ubuntu

Материал из ТХАБ.РФ
Версия от 01:02, 3 сентября 2017; Админ (обсуждение | вклад) (Сохранение изменений после перезагрузки)

(разн.) ← Предыдущая | Текущая версия (разн.) | Следующая → (разн.)
Перейти к: навигация, поиск

Если отсутствует нужно разрешение монитора, то можно его добавить с помощью xrandr.

Столкнулся с такой проблемой, максимальное разрешение моего монитора 1280x1024, а в настройках только 1024x768. В моем случае это была Xubuntu 16.04.

В консоли набираем:

xrandr

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

Screen 0: minimum 320 x 200, current 3520 x 1080, maximum 8192 x 8192
VGA-1 connected primary 1600x900+1920+0 (normal left inverted right x axis y axis) 443mm x 249mm
  1024x768      75.03    60.00  
  832x624       74.55  
  800x600       75.00    60.32    56.25  
  640x480       75.00    59.94  
  720x400       70.08  
HDMI-1 disconnected (normal left inverted right x axis y axis)
HDMI-2 connected 1920x1080+0+0 (normal left inverted right x axis y axis) 510mm x 290mm
  1920x1080     60.00*+  50.00    59.94  
  1920x1080i    60.00    50.00    59.94  
  1680x1050     59.88  
  1400x1050     59.95  
  1600x900      60.00  
  1280x1024     60.02  
  1440x900      59.90  
  1280x800      59.91  
  1152x864      59.97  
  1280x720      60.00    50.00    59.94  
  1024x768      60.00  
  800x600       60.32  
  720x576       50.00  
  720x480       60.00    59.94  
  640x480       60.00    59.94  

Из этого вывода нам нужно будет запомнить названия входов, в данном случае у меня два входа VGA-1 и HDMI-1. Выбираем тот, к которому подключен нужный монитор.

Для разрешения 1280 1024

Теперь нужно выполнить следующую команду (cvt 1680 1050)

cvt 1280 1024

где, 1280 1024 нужное разрешение, подставьте свое.

Вывод будет такой

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

Отсюда запоминаем всё, кроме слова Modeline.

Теперь создаем новый режим следующей командой

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

то есть, берем вывод предыдущей команды и подставляем в xrandr --newmode.

Добавляем режим к нужному выходу

xrandr --addmode VGA-1 1280x1024_60.00

После этого разрешение должно появится в списке, в настройках экрана.

Также можно изменить разрешение экрана из консоли следующей командой

xrandr --output VGA-1 --mode 1280x1024_60.00

Разрешение должно измениться.

Для разрешения 1680 1050

Теперь нужно выполнить следующую команду

cvt 1680 1050

где, 1680 1050 нужное разрешение, подставьте свое.

Вывод будет такой

Modeline "1680x1050_60.00"  146.25  1680 1784 1960 2240  1050 1053 1059 1089 -hsync +vsync

Отсюда запоминаем всё, кроме слова Modeline.

Теперь создаем новый режим следующей командой

xrandr --newmode "1680x1050_60.00"  146.25  1680 1784 1960 2240  1050 1053 1059 1089 -hsync +vsync

то есть, берем вывод предыдущей команды и подставляем в xrandr --newmode.

Добавляем режим к нужному выходу

xrandr --addmode DP2 1680x1050_60.00

После этого разрешение должно появится в списке, в настройках экрана.

Также можно изменить разрешение экрана из консоли следующей командой

xrandr --output PD2 --mode 1680x1050_60.00

Разрешение должно измениться.

Сохранение изменений после перезагрузки

Проблема решена, но это разрешение сохранится только до следующей перезагрузки.

После перезагрузки, нужно проделать все тоже самое, еще раз.

Можно это автоматизировать, собрать все команды в один скрипт и запустить из автозагрузки.

Для этого создаем файл с названием resolution.sh. Добавляем туда следующие строки

#!/bin/sh
xrandr --newmode "1680x1050_60.00"  146.25  1680 1784 1960 2240  1050 1053 1059 1089 -hsync +vsync
xrandr --addmode   DP2 1680x1050_60.00
xrandr --output PD2 --mode 1680x1050_60.00

или для DVI-I-0

#!/bin/sh
xrandr --newmode "1680x1050_60.00"  146.25  1680 1784 1960 2240  1050 1053 1059 1089 -hsync +vsync
xrandr --addmode DVI-I-0 1680x1050_60.00
xrandr --output DVI-I-0 --mode 1680x1050_60.00

Все команды которые мы запускали выше, перечисленные в нужном порядке, каждая с новой строки. Сохраняем и делаем исполняемым.

Например, так

chmod +x resolution.sh

Теперь этот файл нужно добавить в автозагрузку. У меня в Xubuntu 16.04 это почему-то не сработало. Я добавил его в конец файла .xinputrc

Команда для добавления в автозагрузку следующая

sh /home/goodigy/resolution.sh

Просто добавьте в автозагрузу, в поле команда. Или последней строкой в файл .xinputrc, как в моем случае.

См. также

Ссылки

источник