Как сохранить новую настройку разрешения с помощью xrandr?

Я нашел где-то на форуме решение проблемы, где единственными доступными разрешениями были 800x600 и 1024x768. Мне удалось получить 1440x900, который работает очень хорошо. Каждый раз при перезагрузке он пропадает. Я вынужден перепечатывать команды, так как я могу сохранить это? Я предполагаю, что это простая команда, но я самый крупный из нубов, когда дело доходит до Ubuntu. Команды:

  • xrandr --newmode "1440x900_60.00" 106.50 1440 1528 1672 1904 900 903 909 934 -hsync +vsync
  • xrandr --addmode VGA1 1440x900_60.00
  • xrandr --output VGA1 --mode 1440x900_60.00

3 ответа

Решение

У вас есть несколько вариантов, но, возможно, самый простой - это разместить команду точно так, как вы указали в $HOME/.xprofile файл. Отсюда он будет выполняться каждый раз, когда вы входите в систему.

По умолчанию этот файл не существует в Ubuntu, поэтому может потребоваться создать его вручную, а затем сделать исполняемым. Следующие команды сделают это:

touch $HOME/.xprofile
chmod +x $HOME/.xprofile

Обратите внимание на 2 небольших недостатка этого метода:

  1. .xprofile Доступ происходит довольно поздно в процессе запуска, поэтому вы можете увидеть некоторые изменения размера исходного разрешения
  2. Это настройка для каждого пользователя, и, возможно, ее придется повторить для других пользователей вашей системы.

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

Рекомендации:

Принятый ответ применяется одна и та же конфигурация независимо от состояния подключенных дисплеев. Это не сработало для меня, так как я подключен к различным дисплеям на работе и дома. autorandr позволяет автоматически настраивать xrandr для различных настроек дисплея. Чтобы использовать autorandr,

  1. Установить с sudo apt install autorandr (проверено на Ubuntu 18.04)
  2. Настройте свой монитор по своему вкусу с помощью xrandr
  3. Сохраните свою конфигурацию с autorandr --save work (Я храню свою рабочую конфигурацию, выберите подходящее имя)
  4. Возобновить конфиг с autorandr --change work выбрать конфиг или просто autorandr --change чтобы он выводил ваш конфиг с ваших подключенных мониторов.

Автозапуск XDG.desktop также предоставляется и устанавливается в /etc/xdg/autostart/autorandr.desktop по умолчанию.

Следующая простая конфигурация работает для меня, и при подключении мой монитор автоматически использует правильное разрешение без какого-либо ручного вмешательства.

sudo nano /etc/X11/xorg.conf

Обратите внимание, что этот файл может существовать или не существовать. Добавьте следующее:

Section "Monitor"
    Identifier "VGA1"
    Modeline   "1440x900_60.00"  106.50  1440 1528 1672 1904  900 903 909 934 -hsync +vsync
EndSection    

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

Фон

У меня ноутбук UX32VD, и я хотел иметь 4K по HDMI, хотя в настройках дисплея нет опции 3840x2160.

Моей первой задачей было вычислить моделин. Пропустите этот шаг, если вы уже знаете моделин. ( Модельный ряд ниже может работать для вас.) Я скачал umc-0.2.tar.gz, распаковал и запустил ./configure а также make, Чтобы получить режим синхронизации с обратным гашением 25 Гц, я запустил

umc-0.2/src/umc 3840 2160 25 --rbt

какие выводы

    # 3840x2160x24.99 @ 54.625kHz
    Modeline "3840x2160x24.99"  218.500000  3840 3888 3920 4000  2160 2163 2167 2186  +HSync -VSync

Далее я хотел проверить эту моделину. Бег xrandr без аргументов, я увидел, что мое устройство HDMI называется HDMI-1, Я проверил этот режим, выполнив команды, аналогичные командам Джейкоба:

xrandr --newmode "3840x2160x24.99"  218.500000  3840 3888 3920 4000  2160 2163 2167 2186  +HSync -VSync
xrandr --addmode HDMI-1 "3840x2160x24.99"
xrandr --output HDMI-1 --mode "3840x2160x24.99" --preferred

Наконец, чтобы сделать разрешение постоянным, я создал /etc/X11/xorg.conf со следующим содержанием:

Section "Monitor"
    Identifier "HDMI-1"
    Modeline   "3840x2160x24.99"  218.500000  3840 3888 3920 4000  2160 2163 2167 2186  +HSync -VSync
EndSection  

Чтобы проверить, перезагрузите компьютер.

Я должен отметить, что я бегу nvidia-driver-390 на Ubuntu 18.04. Надеюсь, моя техника хорошо обобщает другие конфигурации. (Пожалуйста, дайте мне знать в комментариях.)

Вы можете использовать каталог автозапуска, чтобы применить правильныеxrandr настройки при запуске графической среды:

  1. Обозначить xrandrкоманда для использования. Например, при использовании инструмента GUIarandr, вы можете выполнить "Макет → Сохранить как…", а затем открыть этот файл, чтобы найти команду.

  2. Используйте графический интерфейс конфигурации среды рабочего стола, чтобы настроить пользовательское приложение автозапуска с xrandr команда, которую вы нашли.

  3. Перезагрузите компьютер, чтобы увидеть эффект.

В качестве альтернативы нет. 2, вы можете сделать то же самое вручную, создав файл~/.config/autostart/xrandr-settings.desktop со следующим содержанием:

[Desktop Entry]
Type=Application
Version=1.0
Name=custom xrandr settings

# Replace with your own xrandr command:
Exec=xrandr --output LVDS-1 --pos 0x1024 --output VGA-1 --pos 0x0

Преимущества, подробности

Мне этот механизм нравится больше, чем помещать команду в $HOME/.xprofileкак предлагается в другом ответе. Потому что наверняка каталог автозапуска уже будет содержать записи, предоставленные или даже требуемые средой рабочего стола, и таким образом у меня есть все автозапускаемые материалы, включая.xrandr вместе в одном месте, вместо того, чтобы выяснять, где что-то запускается автоматически, если я когда-нибудь захочу это изменить.

Каталог автозапуска - это механизм FreeDesktop, поэтому он должен работать во всех основных средах рабочего стола Linux. Из другого ответа (от villapx, под лицензией CC-BY-SA 4.0):

В autostartКаталог является частью спецификации автозапуска настольных приложений freedesktop.org/XDG. Согласно этой спецификации, совместимая среда рабочего стола будет искать$XDG_CONFIG_HOME/autostart для любой .desktop файлы и запускать их при запуске.

Ни один из ответов здесь не помог мне. Я использую Ubuntu 20.04 и gdm3 в качестве диспетчера дисплея. Вот как я сохранял конфигурацию при перезагрузках и пользовательских сеансах. Я сохранил xrandr команда в файл '~/.config/autostart/setup_monitor_display.desktop', сделал его исполняемым с помощью chmod +x.

# Wait until GUI is ready
X-GNOME-Autostart-Delay=1
xrandr --output DP-0 --rotate left

Затем я добавил выполнение скрипта в список запускаемых приложений.

  1. Открыть настройки запускаемого приложения
  2. Нажмите Добавить
  3. Введите имя и комментарий
  4. Для команды сделайте что-нибудь вроде sh -c '~/.config/autostart/setup_monitor_display.desktop'

Основываясь на ответе здесь: /questions/806494/ne-udaetsya-povernut-monitor-2004/806497#806497

Наконец, после бесконечной возни с xrandr а также .xprofile а также .xinitrc а также /etc/xorg.conf, ни одна из которых не сработала для встречающего и не закрепилась навсегда, вот что сработало:

Обратите внимание, что путь /usr/share/X11/xorg.conf.d/

Создать новый файл 10-my-monitor.conf там...

# sudo vi /usr/share/X11/xorg.conf.d/10-my-monitor.conf

И включите экран и фрагмент монитора из xorg.conf.

Section "Monitor"
    Identifier  "LGThing"
    Modeline    "FourK30" 338.75  3840 4080 4488 5136  2160 2163 2168 2200 -hsync +vsync
    Option      "PreferredMode" "FourK30"
EndSection

Section "Screen"
    Identifier  "MyScreen"
    Monitor     "LGThing"
    DefaultDepth    24
    SubSection  "Display"
        Modes     "FourK30"
    EndSubSection
EndSection

Я получил моделин от cvt.

Другие вопросы по тегам