X11 не устанавливает основной монитор в соответствии с конфигурационным файлом.

Вопрос или проблема

^_^

Сinonimus

Я хочу указать свой основной монитор, используя системные конфигурационные файлы X11, но мои текущие конфигурационные файлы, похоже, ничего не делают! 0_0

Моя ситуация

Я пришел с той же проблемой, что и в этом вопросе: Почему X11 не устанавливает единственный монитор как основной по умолчанию?

А именно, мне нужно, чтобы единственный подключенный к компьютеру монитор был распознан как мой основной монитор, чтобы значки в трее в i3 работали.

Сказав это, я не хочу решать эту проблему с помощью xrandr, потому что я пытаюсь использовать как можно больше одних и тех же dotfiles на двух разных машинах с различными аппаратными конфигурациями.

Поэтому я хотел бы решить эту проблему, используя системные конфигурационные файлы X11.

Тем не менее, это, похоже, не работает так, как ожидается. 😮

Моя текущая настройка

В настоящее время у меня нет файла xorg.conf, но у меня есть файл xorg.conf.d/10-monitor.conf, содержание которого (после этой страницы в вики Arch Linux) следующее:

Section "Monitor"
    Identifier  "HDMI2"
    Option      "Primary" "true"
EndSection

С учётом этого конфигурационного файла, вот вывод xrandr для свежей X-сессии:

Screen 0: minimum 8 x 8, current 1920 x 1080, maximum 32767 x 32767
DP1 disconnected primary (normal left inverted right x axis y axis)
HDMI1 disconnected (normal left inverted right x axis y axis)
HDMI2 connected 1920x1080+0+0 (normal left inverted right x axis y axis) 480mm x 270mm
   1920x1080     60.00*+
   1600x1200     60.00  
   1680x1050     59.88  
   1400x1050     59.95  
   1600x900      60.00  
   1280x1024     75.02    60.02  
   1440x900      59.90  
   1280x800      59.91  
   1152x864      75.00  
   1024x768      75.03    70.07    60.00  
   832x624       74.55  
   800x600       72.19    75.00    60.32    56.25  
   640x480       75.00    72.81    66.67    59.94  
   720x400       70.08  
HDMI3 disconnected (normal left inverted right x axis y axis)
VIRTUAL1 disconnected (normal left inverted right x axis y axis)

Как вы можете видеть, несмотря на то что я указал HDMI2 в конфигурационных файлах как мой основной монитор, DP1 установлен в качестве основного.

Что я пробовал

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

Я попробовал разместить указанный выше конфигурационный файл в /etc/X11/xorg.conf вместо /etc/X11/xorg.conf.d/10-monitor.conf.

Я пробовал включить следующее, чтобы попытаться указать, что основной монитор не является основным:

Section "Monitor"
    Identifier  "DP1"
    Option      "Primary" "false"
EndSection

Я пробовал запустить с использованием стандартного xorg.conf, созданного с помощью X -configure, наряду с моим 10-monitor.conf.

Разная информация

$ uname -a
Linux cheesy-6600k 5.9.8-arch1-1 #1 SMP PREEMPT Tue, 10 Nov 2020 22:44:11 +0000 x86_64 GNU/Linux
$ lscpu | grep name
Model name:                      Intel(R) Core(TM) i5-6600K CPU @ 3.50GHz

Я опоздал на 9 месяцев, но только что столкнулся с этой проблемой и исправил ее.

В моем случае проблема была в LightDM. В конфигурационном файле /etc/lightdm/lightdm.conf, строка 114

display-setup-script=xrandr ...

отправляет команду xrandr при запуске дисплейного менеджера. В ней я указал основной экран и какие экраны находятся слева и справа относительно других экранов.

Единственный способ, которым мне удалось заставить X11 учитывать мою секцию монитора, не добавляя секцию Layout и секции Screen, которые именуют мою секцию монитора, – это назвать мою секцию монитора "<default monitor>". т.е.

Section "Monitor"
    Identifier "<default monitor>"
    #другие параметры здесь.
EndSection

Но это нигде не задокументировано! Я выяснил это, просмотрев /var/log/Xorg.0.log.

Конфигурационный файл xorg.conf, созданный с помощью Xorg --configure, не имеет ничего общего с тем, что ваше оборудование на самом деле делает по умолчанию!

Например, моя система без xorg.conf автоматически использует драйвер radeon, даже несмотря на то что xorg.conf.new, созданный Xorg --configure, указывает драйвер amdgpu.

Кажется, нет способа получить xorg.conf, который бы отражал конфигурацию системы, сгенерированную автоматически!

Ответ или решение

Когда вы сталкиваетесь с проблемой установки основного монитора в конфигурационных файлах X11, существует несколько аспектов, которые следует учитывать для успешного решения данной задачи. Давайте подробно рассмотрим вашу ситуацию и возможные решения.

Проблема

Ваша основная цель — сделать так, чтобы X11 распознал ваш единственный подключенный монитор (HDMI2) как основной. Проблема заключается в том, что несмотря на корректные настройки в файле 10-monitor.conf, система продолжает определять DP1 в качестве основного монитора.

Конфигурация X11

Первым делом стоит убедиться, что ваш формат конфигурации правильный и учитывает специфику X11. Ваша текущая конфигурация:

Section "Monitor"
    Identifier  "HDMI2"
    Option      "Primary" "true"
EndSection

может быть недостаточной без дополнительных настроек. Для корректной работы рекомендуется также указать Layout и Screen секции.

Пример полной конфигурации

Создайте (или отредактируйте) файл /etc/X11/xorg.conf.d/10-monitor.conf, добавив ниже указанный код:

Section "Monitor"
    Identifier "HDMI2"
    Option "Primary" "true"
EndSection

Section "Screen"
    Identifier "Screen0"
    Monitor "HDMI2"
EndSection

Section "ServerLayout"
    Identifier "Layout0"
    Screen 0 "Screen0"
    Option "Xinerama" "0"
EndSection

Данная конфигурация позволит X11 распознать HDMI2 в качестве основного монитора и задать ему соответствующие параметры.

Проверка и тестирование

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

Используйте команду cat /var/log/Xorg.0.log для проверки логов, чтобы убедиться, что ваши настройки были применены. Обратите внимание на любые сообщения об ошибках или предупреждениях.

Влияние дисплейного менеджера

Если вы используете LightDM или другой дисплейный менеджер, возможно, настройки конфигурации LightDM перезаписывают ваши настройки X11. Проверьте файл /etc/lightdm/lightdm.conf на наличие строки, подобной:

display-setup-script=xrandr ...

Если такая строка существует, возможно, она может переопределять ваши настройки, заданные в конфигурации X11. В таком случае удалите или закомментируйте эту строку.

Дополнительные советы

  • Убедитесь, что ваш драйвер правильно настроен и установлен. Иногда использование неправильных драйверов может привести к непредсказуемому поведению.
  • Попробуйте использовать идентификатор "<default monitor>", чтобы доказать функциональность конфигурации, как было указано в вашем описании.
  • Если у вас есть доступ к другим машинам с аналогичной или схожей конфигурацией, проведите эксперимент, сравнивая их конфигурационные файлы.

Заключение

Если после всех предложенных шагов проблема не исчезает, возможно, есть аппаратные ограничения или несовместимости. Возможно, стоит обратиться к документации по вашему конкретному GPU или к сообществу Linux для получения дополнительных рекомендаций и помощи.

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

Оцените материал
Добавить комментарий

Капча загружается...