Здесь показаны различия между двумя версиями данной страницы.
linux:xrandr-set-res [2016/11/11 22:50] |
linux:xrandr-set-res [2021/02/11 09:21] (текущий) |
||
---|---|---|---|
Строка 1: | Строка 1: | ||
+ | ===== Установка и изменение разрешения экрана в linux через консоль ===== | ||
+ | В общем, ноут Sony Vaio, разрешения 1280*600 60Гц и 1600*768 60Гц - но linux упорно выставляет какое-то свое.\\ | ||
+ | Решение: принудительно при загрузке объяснить системе, что у меня есть нужные мне разрешения.\\ | ||
+ | Для начала формируем строку режима которую будем передавать xrandr: | ||
+ | <code> | ||
+ | alexander@alexander-vaio ~ $ cvt 1280 600 60 | ||
+ | 1280x600 59.90 Hz (CVT) hsync: 37.38 kHz; pclk: 61.00 MHz | ||
+ | Modeline "1280x600_60.00" 61.00 1280 1328 1456 1632 600 603 613 624 -hsync +vsync | ||
+ | ------ | ||
+ | "1600x768_60.00" 100.25 1600 1688 1848 2096 768 771 781 798 -hsync +vsync | ||
+ | </code> | ||
+ | Нам нужна строка: "1600x768_60.00" 100.25 1600 1688 1848 2096 768 771 781 798 -hsync +vsync\\ | ||
+ | Аналогично получаем строку для 1280х600.\\ | ||
+ | Своим все в скрипт: | ||
+ | <code> | ||
+ | #!/bin/bash | ||
+ | xrandr --newmode "1280x600_60.00" 61.00 1280 1328 1456 1632 600 603 613 624 -hsync +vsync | ||
+ | xrandr --newmode "1600x768_60.00" 100.25 1600 1688 1848 2096 768 771 781 798 -hsync +vsync | ||
+ | xrandr --addmode LVDS-0 1280x600_60.00 | ||
+ | xrandr --addmode LVDS-0 1600x768_60.00 | ||
+ | xrandr --output LVDS-0 --mode 1280x600_60.00 | ||
+ | </code> | ||
+ | Комментарии:\\ | ||
+ | - Сначала добавляем в систему режимы 1280x600_60.00 и 1600x768_60.00, передавая строки режимов (сформированных cvt) в xrandr (--addmode) | ||
+ | - Затем говорим системе через xrandr, что режимы у нас применяются к экрану ноутбука (LVDS-0) | ||
+ | - Затем принудительно переключаем на режим 1280x600_60.00 для экрана ноутбука (LVDS-0) | ||
+ | - Ну и наконец, добавляем этот скрипт в автозагрузку ([[linux:lubuntu-autostart]]) | ||
+ | Профит.\\ | ||
+ | \\ | ||
+ | === Примечание === | ||
+ | У xrandr есть замечательный параметр: --size - он позволяет переключить __разрешение__, а не __режим__.\\ | ||
+ | А если запустить xrandr без параметров, то будет выдан список разрешений. | ||
+ | Пример: | ||
+ | <code bash> | ||
+ | alexander@alexander-ThinkPad-X201 ~ $ xrandr | ||
+ | Screen 0: minimum 320 x 200, current 1280 x 800, maximum 32767 x 32767 | ||
+ | LVDS1 connected 1280x800+0+0 (normal left inverted right x axis y axis) 261mm x 163mm | ||
+ | 1280x800 60.2*+ 50.0 | ||
+ | 1024x768 60.0 | ||
+ | 800x600 60.3 56.2 | ||
+ | 640x480 59.9 | ||
+ | VGA1 disconnected (normal left inverted right x axis y axis) | ||
+ | HDMI1 disconnected (normal left inverted right x axis y axis) | ||
+ | DP1 disconnected (normal left inverted right x axis y axis) | ||
+ | VIRTUAL1 disconnected (normal left inverted right x axis y axis) | ||
+ | alexander@alexander-ThinkPad-X201 ~ $ xrandr --size 1024x768 | ||
+ | </code> | ||
+ | <code bash> | ||
+ | #Установить разрешение в 1280x1024 | ||
+ | xrandr --size 1280x1024 | ||
+ | </code> | ||
+ | === Манипуляции с дисплеями === | ||
+ | Если у Вас 2х головая видеокарта, и система чудит, пытаясь использовать разрешение одного выхода в другом, то Вам поможет параметр --output и --off: | ||
+ | <code bash> | ||
+ | xrandr --output LVDS1 --off | ||
+ | </code> | ||
+ | LVDS1 - имя дисплея, оно получено запуском чистого xrandr.\\ | ||
+ | Если приведенную выше команду запустить при старте системы, например, автозапуском в lightDM ([[linux:lubuntu-lightdm|Lubuntu: LightDM]]), то это гарантирует корректную работу системы в ситуации, когда ядро считает что есть 2 монитора... | ||
+ | |||
+ | === Смотри также === | ||
+ | [[linux:xrandr-change-res|Linux: смена разрешения экрана по кнопке]] |