使用 Wayland,我如何镜像两个显示器并扩展第三个显示器?

使用 Wayland,我如何镜像两个显示器并扩展第三个显示器?

我想镜像两个显示器(笔记本电脑和左显示器)并扩展第三个显示器(右显示器)。

如果这还不清楚,我发现了一个基本相同的问题如何在 GNOME Wayland 中“覆盖”/克隆显示其中包括一些方便的图像,显​​示两个显示器是镜像的并且一个是扩展的。

遗憾的是,唯一的答案是尝试手动操作。在 Xorg 下,这很容易做到,xrandr所以我很失望在 Wayland / Ubuntu 22.04 中找不到简单的解决方案。

我找到了一个“手动”且相当丑陋的解决方案,但我希望有更好的方法。如果没有更好的选择,我最终会详细发布手动解决方案。简而言之,我~/.config/monitors.xml在更改配置时多次保存,推断出哪个配置处于活动状态以及如何镜像两个显示器,编辑一个<logicalmonitor>包含<monitor>镜像的两个实例的单个配置,然后重新启动。

答案1

我在办公室又要这么做了,所以这里有一个(痛苦的)过程,可以作为一种解决方法。首先生成差异来找到要编辑的配置(我的monitors.xml有 8 个配置,所以不容易发现要编辑什么)。为了使这更容易,最好将主显示器放在正确的位置。否则,很容易意外删除<primary>yes</primary>,这会破坏解决方法。

cd ~/.config
cp monitors.xml monitors.xml.before
gnome-control-center  # move a display and apply the changes
diff monitors.xml monitors.xml.before  # to confirm/locate the change

成功更改 后<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>

相关内容