С Wayland как я могу дублировать два дисплея и расширить третий?

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

Я хочу зеркалировать два дисплея (ноутбук и левый дисплей) и расширить третий (правый дисплей).

Если это неясно, я нашел существенно эквивалентный вопрос на Как “наложить”/клонировать дисплеи в GNOME Wayland, который включает несколько полезных изображений, показывающих, что два дисплея зеркалируются, а один расширяется.

К сожалению, единственный ответ заключался в том, чтобы попробовать что-то ручное. Под Xorg это легко сделать с помощью xrandr, поэтому я разочарован тем, что не нахожу простого решения в Wayland / Ubuntu 22.04.

Я нашел “ручное” и довольно некрасивое решение, но надеюсь, что есть и другой способ. В конечном итоге я опубликую подробное ручное решение, если не будет лучших вариантов. В кратце, я многократно сохранял ~/.config/monitors.xml, меняя конфигурацию, выяснял, какая конфигурация активна и как зеркалировать два дисплея, редактировал один <logicalmonitor>, чтобы он содержал два <monitor> экземпляра, которые зеркалируются, и перезагружал систему.

Я в офисе и делаю это снова, поэтому вот (болезненный) процесс, который работает как обхідное решение. Сначала создайте дельты для нахождения конфигурации, которую нужно редактировать (мой monitors.xml имел 8 конфигураций, поэтому было не легко заметить, что редактировать). Чтобы облегчить задачу, желательно разместить основной монитор в правильном месте. В противном случае легко случайно удалить <primary>yes</primary>, что нарушит обходное решение.

cd ~/.config
cp monitors.xml monitors.xml.before
gnome-control-center  # перемещаем дисплей и применяем изменения
diff monitors.xml monitors.xml.before  # чтобы подтвердить/найти изменения

Как только вы успешно внесли изменения в <configuration>, вы можете посмотреть на дельты, чтобы определить, какой блок <configuration> нужно редактировать. Имейте в виду, что большинство инструментов diff не имеют опыта работы с xml, поэтому вы можете увидеть, как дельта начинается и останавливается посреди xml блоков (<x>...</logicalconfiguration></configuration><configuration><logicalconfiguration> вместо <configuration><logicalconfiguration><x>...</logicalconfiguration></configuration>)

Редактируйте следующим образом:

  1. Откройте ~/.config/monitors.xml
  2. Найдите раздел, который был отредактирован
  3. Обратите внимание на смещения секций <logicalmonitor> и используйте эту информацию, чтобы найти неправильно размещенный монитор. В моем случае у меня есть два дисплея, где я хочу, чтобы они были (на <x>0</x> / <y>0</y> и на <x>1980</x> / <y>0</y>) и третий, который находится не в том месте (на <x>3840</x> / <y>830</y>)
  4. Вырежьте весь раздел <logicalmonitor>...</logicalmonitor>, который находится не в том месте, и вставьте его в второй документ (чтобы удалить его из monitors.xml и оставить доступным для следующего шага)
  5. Скопируйте только секцию <monitor>...</monitor> из второго документа
  6. Вставьте содержимое, скопированное в пункте 5, прямо перед или после существующей строки <monitor>...</monitor> в разделе, который вы хотите зеркалировать.
  7. Подтвердите, что один (и только один) из разделов <logicalmonitor> содержит <primary>yes</primary>.
  8. Создайте резервную копию monitors.xml, так как ошибка приведет к удалению файла Gnome, что приведет к потере всех других конфигураций (если это ноутбук и вы используете несколько внешних дисплеев).
  9. Перезагрузите компьютер, войдите в Gnome и, надеюсь, вы увидите вашу новую конфигурацию.

Примечание: вы можете вставить в раздел с <primary>yes</primary> и зеркалировать основной дисплей. Если вы вырезаете из раздела, содержащего это, вам также необходимо скопировать/вставить его. Эта строка идет после <scale>1</scale> (или какой бы ни была ваша шкала) и перед первым <monitor> в разделе <logicalmonitor>.

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

Как отразить два дисплея и расширить третий с помощью Wayland

Введение

С переходом к графической системе Wayland в Linux, пользователи, ранее привычные к Xorg и инструменту xrandr, сталкиваются с необходимостью поиска альтернативных решений для настройки многодисплейных конфигураций. В данной статье мы рассмотрим метод, при котором два дисплея (ноутбук и левый монитор) будут зеркалиться, а третий монитор (правый) будет расширением рабочего стола.

Настройка дисплеев в Wayland

  1. Открытие настроек дисплея:
    Для начала откройте gnome-control-center, если у вас установлен GNOME. Это можно сделать через командную строку, введя следующую команду:

    gnome-control-center
  2. Выбор дисплеев:
    Перейдите в раздел «Дисплеи». Здесь вы увидите все подключенные устройства. Обратите внимание на то, что Wayland не поддерживает такие возможности, как «зеркалирование» (mirroring) дисплеев через графический интерфейс по умолчанию, как это было с xrandr в Xorg. Поэтому нам придется использовать некоторые обходные методы.

  3. Настройка monitors.xml:
    После того как вы произвели изменения в конфигурации дисплеев, сохраните их в файл конфигурации monitors.xml, который можно найти по пути:

    ~/.config/monitors.xml

    Этот файл хранит последнюю конфигурацию ваших дисплеев. Для эффективной работы с ним рекомендуется создать резервную копию перед внесением изменений:

    cp ~/.config/monitors.xml ~/.config/monitors.xml.bak
  4. Изменение конфигурации:
    Для того чтобы отразить два дисплея, выполните следующие шаги:

    1. Откройте файл monitors.xml в текстовом редакторе.
    2. Найдите блок <configuration>, связанный с вашей конфигурацией.
    3. Выделите <logicalmonitor> для левого дисплея и копируйте его содержимое.
    4. Вставьте скопированный блок в рядом стоящий <logicalmonitor>, представляющий ваш ноутбук, тем самым создавая отражение (мирроринг) дисплеев.
  5. Обратите внимание на основной дисплей:
    Важно убедиться, что только один из <logicalmonitor> содержит <primary>yes</primary>. Это указывает на то, какой дисплей будет основным для обмена данными и размещения панелей задач.

  6. Сохранение и перезагрузка:
    Сохраните файл и перезагрузите систему для применения изменений. При входе в GNOME вы должны увидеть новое отображение с отражением на двух дисплеях и расширением на третьем.

Заключение

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

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

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