Вопрос или проблема
^_^
С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 может показаться сложной, но правильная диагностика и настройка помогут вам достичь желаемых результатов.