Вопрос или проблема
На протяжении некоторого времени я использовал настройку с двумя мониторами на своем настольном компьютере. Изначально я создал файл /etc/X11/xorg.conf
для определения этих мониторов. Недавно мой 17-дюймовый монитор вышел из строя (он работал вместе с 24-дюймовым), и поскольку замена была 27-дюймовой, я хотел сделать новый 27-дюймовый монитор основным экраном, а другой – второстепенным. Я создал новый файл /etc/X11/xorg.conf
, как показано ниже.
Section "Device"
Identifier "H67 Integrated Graphics"
Driver "intel"
Option "Monitor-HDMI2" "Iiyama 27in"
Option "Monitor-HDMI1" "Iiyama 24in"
EndSection
Section "Monitor"
Identifier "Iiyama 27in"
Option "DPMS"
Option "Primary"
Option "Position" "0 0"
Option "PreferredMode" "1920x1080"
EndSection
Section "Monitor"
Identifier "Iiyama 24in"
Option "DPMS"
Option "PreferredMode" "1920x1080"
Option "Position" "1920 0"
EndSection
Section "Screen"
Identifier "Default Screen"
Device "H67 Integrated Graphics"
Monitor "Iiyama 27in"
DefaultDepth 24
Subsection "Display"
Depth 24
Modes "1920x1080" "1024x768" "640x480"
EndSubSection
EndSection
Проблема в том, что gdm запускается с экраном входа на вторичном мониторе. Также, когда я перехожу в макет монитора в самом gnome, он обозначает вторичный монитор как 1, а первичный как 2 (хотя и называет монитор 2 первичным, а монитор 1 вторичным).
Я видел предложения использовать файл monitor.xml
из моего домашнего каталога (в каталоге .config
), и я взял его и изменил так, чтобы правильный монитор был определен как основной:
<monitors version="1">
<configuration>
<clone>no</clone>
<output name="HDMI1">
<vendor>IVM</vendor>
<product>PLE2472HD</product>
<serial>1108511312415</serial>
<width>1920</width>
<height>1080</height>
<rate>60</rate>
<x>1920</x>
<y>0</y>
<rotation>normal</rotation>
<reflect_x>no</reflect_x>
<reflect_y>no</reflect_y>
<primary>no</primary>
<presentation>no</presentation>
<underscanning>no</underscanning>
</output>
<output name="HDMI2">
<vendor>IVM</vendor>
<product>PLX2783H</product>
<serial>1128153703037</serial>
<width>1920</width>
<height>1080</height>
<rate>60</rate>
<x>0</x>
<y>0</y>
<rotation>normal</rotation>
<reflect_x>no</reflect_x>
<reflect_y>no</reflect_y>
<primary>yes</primary>
<presentation>no</presentation>
<underscanning>no</underscanning>
</output>
</configuration>
</monitors>
Я пробовал разместить это в нескольких местах, таких как /var/lib/gdm3/.config
и /etc/gdm3/, но ничто из сделанного не изменилось (включая номера на экране в панели настроек/видео gnome).
Так как же я могу изменить это, чтобы gdm отображался на моем основном экране – и также (по возможности, но не обязательно) могу ли я изменить номера мониторов так, чтобы основной был 1, а вторичный – 2.
Прошло несколько лет, и поскольку люди время от времени все еще волнуются по этому поводу, я пытаюсь подвести итог.
Для этого я обращаюсь к ask.fedoraproject.org и wiki.archlinux.org.
Безопаснее всего сначала удалить файл monitor.xml
вашего пользователя (“Если вы используете GDM под Wayland, вы также должны использовать monitors.xml, который был создан под Wayland”, говорит archlinux). Затем создайте новый файл с помощью вашего предпочтительного инструмента настройки дисплея (я использую настройки gnome).
В результате мне удалось просто повторить
# cp ~/.config/monitors.xml /var/lib/gdm/.config/
# chown gdm:gdm /var/lib/gdm/.config/monitors.xml
Я убедился, что каждая запись монитора включает строчку с <primary>yes</primary>
или <primary>false</primary>
.
Ответ или решение
Вопрос о том, как Wayland определяет, какой монитор является каким, имеет несколько ключевых аспектов. Изучим их подробно, учитывая ваш опыт с настройками мониторинга в X11 и ваш переход к Wayland.
1. Основы работы Wayland
Wayland — это современная система диспетчеризации, которая заменяет устаревший X11 (или X.Org Server). В отличие от X11, где конфигурации задавались через файлы, такие как xorg.conf
, в Wayland основное внимание уделяется интерактивному и динамическому управлению дисплеем.
2. Структура файлa monitors.xml
В Wayland для определения конфигураций мониторов используется файл monitors.xml
, который хранится в каталоге конфигурации пользователя. Этот файл включает информацию о каждом подключенном мониторе, включая его разрешение, позицию, частоту и статус (первичный или вторичный). Пример структуры:
<monitors version="1">
<configuration>
<output name="HDMI1">
...
<primary>no</primary>
</output>
<output name="HDMI2">
...
<primary>yes</primary>
</output>
</configuration>
</monitors>
3. Важность правильного monitors.xml
Если вы переходите от X11 к Wayland, важно удалить старый файл monitors.xml
, так как он был создан в рамках X11, и Wayland может не интерпретировать настройки корректно. Убедитесь, что ваш новый файл был создан с использованием инструментов настройки экрана в среде рабочего стола, поддерживающей Wayland (например, GNOME).
4. Настройка GDM и monitors.xml
Поскольку вы используете GDM (GNOME Display Manager), важно правильно настроить файл monitors.xml
в каталоге GDM, так как именно этот файл будет использоваться для отображения экрана входа. Переместите ваш monitors.xml
в /var/lib/gdm/.config/
и установите правильные права доступа, чтобы GDM мог его прочитать:
# cp ~/.config/monitors.xml /var/lib/gdm/.config/
# chown gdm:gdm /var/lib/gdm/.config/monitors.xml
Важно убедиться, что в файле присутствует корректная настройка <primary>
. Например, если вы хотите обозначить 27-дюймовый монитор как основной, убедитесь, что он помечен как yes
в этом файле, а вторичный (no
).
5. Приоритетность настроек Wayland
При использовании Wayland настройки мониторов могут быть субъективными, это связано с тем, как система взаимодействует с драйверами и как она определяет порядок мониторов. Удостоверьтесь, что ваши мониторы подключены последовательно, и если вы используете несколько графических карт или адаптеров, это может повлиять на то, какой монитор будет восприниматься как первый.
6. Завершение и рекомендация
Если у вас по-прежнему возникают проблемы с порядком мониторов или отображением на неверном экране, попробуйте временно отключить один из мониторов, чтобы проверить, изменятся ли настройки при перезагрузке. Это поможет вам определить, правильно ли система воспринимает ваши мониторы.
Следуйте этим рекомендациям, и вы сможете успешно настроить свои мониторы под управлением Wayland, а также упростить процесс отображения на правильном экране.