Вопрос или проблема
Я выполнил несколько команд xrandr
, чтобы настроить все свои мониторы так, как мне нужно. Затем я использовал autorandr
, чтобы сохранить состояние в конфигурационный файл, приведенный здесь:
hanke@debian ~ » cat .config/autorandr/3-displays/config
output DP-1
off
output DP-2
off
output DP-3
off
output DP-4
off
output DP-5
off
output DVI-D-0
crtc 1
mode 1600x900
pos 3840x0
rate 59.98
rotate left
output DP-0
crtc 0
mode 1920x1080
pos 1920x191
primary
rate 144.00
output HDMI-0
crtc 2
mode 1920x1080
pos 0x260
rate 60.00
Я использовал autorandr --change 3-displays
в скрипте запуска моего оконного менеджера для настройки дисплеев, но я сталкиваюсь с проблемами с этим подходом, если я включаю lightdm для получения экрана приветствия/входа, который запускается до моего оконного менеджера, и соответственно до того, как мои мониторы будут настроены правильно. Из-за этого экран входа отображается на неправильных мониторах с неправильными разрешениями и ориентацией.
Из-за этого я теперь хочу перенести эти настройки в конфигурационный файл /etc/X11/xorg.conf
.
Вот моя попытка на данный момент:
Section "Monitor"
Identifier "DP-0"
Option "Position" "1920 191"
Option "Primary" "true"
Option "PreferredMode" "1920x1080_144.00"
Option "Enable" "true"
EndSection
Section "Monitor"
Identifier "HDMI-0"
Option "Position" "0 260"
Option "PreferredMode" "1920x1080_60.00"
Option "Enable" "true"
EndSection
Section "Monitor"
Identifier "DVI D-0"
Option "Rotate" "left"
Option "Position" "3840 900"
Option "PreferredMode" "1600x900_59.98"
Option "Enable" "true"
EndSection
Section "Monitor"
Identifier "DP-1"
Option "Enable" "false"
EndSection
Section "Monitor"
Identifier "DP-2"
Option "Enable" "false"
EndSection
Section "Monitor"
Identifier "DP-3"
Option "Enable" "false"
EndSection
Section "Monitor"
Identifier "DP-4"
Option "Enable" "false"
EndSection
Section "Monitor"
Identifier "DP-5"
Option "Enable" "false"
EndSection
К сожалению, это, похоже, не работает. Мой игровой дисплей не настраивается на частоту обновления 144 Гц, ориентация на моем DVI-экране совершенно неверная, и позиции тоже, похоже, игнорируются.
Ранее у меня возникали проблемы с startx
из-за неверных значений xorg.conf, но с использованием этой конфигурации он запускается без сбоев.
Неужели я что-то упускаю? Я просто хочу, чтобы мои экраны были правильно настроены в удобном и декларативном виде.
Запускать кучу команд xrandr в скриптах кажется неаккуратным. Файл xorg.conf выглядит как правильный способ, но у меня не получается добиться его корректной работы.
Буду признателен за любую помощь.
Это не совсем то, что вы спрашиваете, но Xorg -configure должен настроить все, и возможно, вам просто нужно изменить порядок некоторых вещей. Ваш текущий xorg.conf не содержит раздела компоновки, и некоторые элементы находятся не на своих местах, но если вы выполните команду, он напишет все это за вас.
Если я правильно помню, эта команда по умолчанию будет использовать синтаксис стиля “Правее” для Screen0, но, похоже, вам нужно будет изменить это. Так что что-то вроде
С:
Screen 0 "Screen0" 0 0
Screen 1 "Screen1" "RightOf" Screen0
Screen 2 "Screen2" "RightOf" Screen1
На:
Screen 0 "Screen0" 0 0
Screen 1 "Screen1" 1600 0
Screen 2 "Screen2" 3520 0
Ответ или решение
Чтобы правильно перенести настройки xrandr в файл конфигурации xorg.conf, необходимо учесть несколько ключевых аспектов. Так как вы уже используете autorandr для настройки мониторов, важно не упустить детали при переносе этих настроек в статический файл конфигурации X. Вот шаги, которые помогут вам сделать это корректно.
Шаг 1: Понимание секций xorg.conf
Файл xorg.conf состоит из нескольких секций. Для настройки мониторов вам понадобятся следующие секции:
- Section "Monitor" – для каждого монитора.
- Section "Screen" – для указания порядка подключения экранов и их параметров.
- Section "Device" – для описания графического устройства.
Шаг 2: Создание секций для мониторов
На основе вашего вывода конфигурации autorandr вам нужно будет определить следующие параметры для каждой секции монитора.
- Identifier – Название монитора.
- Option – Параметры, такие как Положение, Основной, Предпочитаемый режим и Включено.
Ваша текущая конфигурация выглядит неплохо, но вам нужно добавить параметр Option "Rotate"
в правильную секцию. Например:
Section "Monitor"
Identifier "DP-0"
Option "Position" "1920 191"
Option "Primary" "true"
Option "PreferredMode" "1920x1080_144.00"
EndSection
Section "Monitor"
Identifier "HDMI-0"
Option "Position" "0 260"
Option "PreferredMode" "1920x1080_60.00"
EndSection
Section "Monitor"
Identifier "DVI-D-0"
Option "Rotate" "left"
Option "Position" "3840 0"
Option "PreferredMode" "1600x900_59.98"
EndSection
Шаг 3: Определение секции экрана
Каждый экран должен быть определен в секции Section "Screen" и указывать на используемые мониторы. Это позволит X-серверу правильно учитывать размещение и разрешения. Пример:
Section "Screen"
Identifier "Screen0"
Device "Device0"
Monitor "DP-0"
Option "PreferredMode" "1920x1080_144.00"
EndSection
Section "Screen"
Identifier "Screen1"
Device "Device0"
Monitor "HDMI-0"
EndSection
Section "Screen"
Identifier "Screen2"
Device "Device0"
Monitor "DVI-D-0"
EndSection
Шаг 4: Установка порядка отображения
Убедитесь, что вы правильно настраиваете порядок экрана в зависимости от ваших позиций. Определите их как в вашем autorandr, например:
Screen "Screen0" "DP-0" 0 0
Screen "Screen1" "HDMI-0" "RightOf" "Screen0"
Screen "Screen2" "DVI-D-0" "RightOf" "Screen1"
Шаг 5: Проверка параметров устройства
Вам также может понадобиться создать секцию Section "Device", в которой указывается ваше графическое устройство. Например:
Section "Device"
Identifier "Device0"
Driver "nvidia" # или ваш драйвер
EndSection
Итог
Полный пример вашего xorg.conf может выглядеть так:
Section "Device"
Identifier "Device0"
Driver "nvidia"
EndSection
Section "Monitor"
Identifier "DP-0"
Option "Position" "1920 191"
Option "Primary" "true"
Option "PreferredMode" "1920x1080_144.00"
EndSection
Section "Monitor"
Identifier "HDMI-0"
Option "Position" "0 260"
Option "PreferredMode" "1920x1080_60.00"
EndSection
Section "Monitor"
Identifier "DVI-D-0"
Option "Rotate" "left"
Option "Position" "3840 0"
Option "PreferredMode" "1600x900_59.98"
EndSection
Section "Screen"
Identifier "Screen0"
Device "Device0"
Monitor "DP-0"
EndSection
Section "Screen"
Identifier "Screen1"
Device "Device0"
Monitor "HDMI-0"
EndSection
Section "Screen"
Identifier "Screen2"
Device "Device0"
Monitor "DVI-D-0"
EndSection
Заключение
После выполнения этих пунктов вы можете проверить работу вашего xorg.conf, перезапустив X-сервер. Используйте команду startx
или перезагрузите систему. Убедитесь, что конфигурация корректная, и все мониторы работают в соответствии с вашими требованиями. Надеюсь, эти рекомендации помогут вам добиться желаемого результата.