Уголок новичка
   10325

[Инструкция] Разрешение экрана для широкоформатных мониторов.

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

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

***Предупреждаю! Если вдруг, вы переключили режим через терминал и у вас монитор перестал вообще что либо отображать, то тогда спокойно наберите на клавиатуре reboot и перезагрузите компьютер. Проверьте все команды, если все правильно, то создавайте скрипт. Но не добавляйте пока в автозагрузку. После проверьте скрипт, перезагрузите компьютер и снова проверьте скрипт и изменения масштаба экрана.

1. Открываем терминал. Узнаем список видеовыходов и поддерживаемых разрешений для каждого видеовыхода, командой:

$ xrandr

* Названия интерфейсов могут отличаться, в зависимости, от используемой видеокарты. Для последующей работы с конкретным интерфейсом, необходимо, запомнить его название (например, VGA если вы работаете на видео от Intel, команда для видео выхода, нужного разрешения, будет для этого интерфейса VGA). в моём случае это HDMI-0.

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

$ xrandr --output HDMI-0 --mode 1920x1080

* необходимое и доступное разрешение, выбирайте из списка, которая отобразится после ввода команды xrandr. Это разрешение прописываете в --mode, к примеру я выбрал 1920x1080.

3. В моем случае, моего разрешения в списке xrandr не оказалось. А значит его нужно и можно создать. Добавляем новое для системы разрешение экрана, для этого, воспользуемся утилитой CVT (Coordinated Video Timing) в параметр ей, добавим необходимое нам разрешение и частоту кадров.

$ cvt 2560 1080 60

* после чего вы увидите вывод команды:# 2560x1080 59.98 Hz (CVT) hsync: 67.17 kHz; pclk: 230.00 MHz
Modeline «2560x1080_60.00» 230.00 2560 2720 2992 3424 1080 1083 1093 1120 -hsync +vsync


* Нам нужна строка, которая находится после слова «Modeline».

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

LG 29UM69G 29 " 1040
UB/UM (сверхширокие 21:9)
Экран:29 ", 2560x1080 (21:9)
Матрица:AH-IPS, отклик 5 мс
Функции: крепеж VESAПодключение:HDMI, DisplayPort, USB C

4. Далее создаем новый режим, он создается командой xrandr --newmode и добавляется строчка после modeline из предыдущей команды:

$ xrandr --newmode «2560x1080_60.00» 106.75 2560 2640 2896 3232 1080 1083 1093 1102 -hsync +vsync

5. Задаем системе, созданный режим к нужному интерфейсу (в моём примере интерфейс HDMI-0):

$ xrandr --addmode HDMI-0 2560x1080_60.00


* Обратите внимание, что я использовал такую же строчку с разрешением и частотой, как после Modeline «2560x1080_60.00» — также рекомедую прописать разрешение и частоту кадров.

6. Устанавливаем созданное нами разрешение:

$ xrandr --output HDMI-0 --mode 2560x1080_60.00


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

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

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

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

#!/bin/bash
cvt 2560 1080 60
xrandr --newmode «2560x1080_60.00» 106.75 2560 2640 2896 3232 1080 1083 1093 1102 -hsync +vsync
xrandr --addmode HDMI-0 2560x1080_60.00
xrandr --output HDMI-0 --mode 2560x1080_60.00


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

Создание скрипта:

1. Создать скрипт sh просто. Открываем блокнот, В самом начале, верхняя строчка, написать #!/bin/bash. Далее, вписываем наши команды, без ошибок. Сохраняете изменения и даете название файлу, ставите точку и две буквы sh — в свойствах блокнота в закладке «Права» указать, что файл является исполняемым.

я к примеру свой скрипт, назвал: 2560x1080_60.sh

Что бы разрешение менялось автоматически при загрузки ОС, необходимо сохранить этот файл в системную папку /bin и добавить в автозагрузку.

Что бы сохранить файл в папку /bin нужно через терминал открыть менеджер файлов с рут правами, через sudo:

$ sudo dolphin

Вы откроете менеджер файлов (программ) с правами рут, у всех разный менеджер файлов есть nemo, у кого-то nautilus и др..

В менеджере файлов, просто, копируем ваш созданный файл name.sh в /bin, меняем свойства name.sh файла для исполняемой программы А также меняете владелец:root / доступ: только чтение / группа: root / доступ: только чтение / остальные — / доступ только чтение / Выполнение: ставим галочку — Разрешить выполнение файла как программы.

Далее находим в системе утилиту автозагрузки, автозапуска в настройках системы или еще где, добавьте в автозагрузку этот файл name.sh который скопировали в /bin

перезагружаем компьютер и проверяем.

* у меня терминал упорно не давал право, открыть менеджер файлов через sudo, пришлось установить nautilus и набрать:

$ sudo nautilus

после чего я спокойно смог, скопировать свой скрипт в папку /bin.

Я описал практический метод и мною не раз проверенный метод на Ubuntu, Arch, ArcoLinux,LinuxMint и др.. по замечанию умного форуммена Pushsla :)
Вы можете обратиться r углубленной инструкции к Wiki XRANDR — это официальная программа настройки оконной системы

Уголок новичка: [Инструкция] Разрешение экрана для широкоформатных мониторов.

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

avatar
Это хорошо, что кто-то пишет мануалы. Хороший текст, спасибо Вам за работу. Можно только уточнить, какие моменты освещены в Вашем мануале, но отсутствуют здесь?))) Без сарказма

Не ребяяят… ну серьезно…
Последний раз редактировалось
+2
avatar
Последний раз редактировалось
0
avatar
И еще одно: в целях вашей же безопасности, выполняете все действия с повышенными правами в терминале, используя sudo. Видел пару систем, где, по забывчивости, не закрывали фм с правами рута. Dolphin специально не разрешает открывать его с повышенными привилегиями.
0
avatar
комментарий был удален
avatar
так оно. Но ведь ФМ — это же куча всего. И все, что запустит ФМ с правами рут будет иметь те же права ( это, увы правило, ибо почти никто из разработчиков не заботится о сбрасывании прав). Чем меньше процессов имею права рут, тем лучше) Ну и забывчивость — она такая
+1
avatar
комментарий был удален
avatar
А есть ли возможность проверить, какие программы или фм остались с правам рут?
Thunar, например, при запуске от рута вывешивает соответствующее уведомление в окне. Насколько я помню, он в этом не одинок среди гуевых ФМ.
Финт ушами: поскольку гуевые программы, запущенные от root, используют тему оформления пользователся root, можно выставить для суперпользователя цветовую схему, явно отличную от стандартной. В терминале же стандартное приглашение командной строки все явно указывает.
вроде бы после, закрытия терминала рут права на открытое приложение закрываются???
Что значит «права закрываются»? В общем случае порождаемый процесс наследует права родителя. Если процесс выполняется не в фоновом режиме, то будет завершен вместе с родителем.
Последний раз редактировалось
0
Только зарегистрированные и авторизованные пользователи могут оставлять комментарии.