对齐具有不同分辨率的显示器边缘

对齐具有不同分辨率的显示器边缘

我有三台分辨率不同的显示器,尤其是并排放置的高度尺寸。我的主显示器是 4K(2160h),位于中间,两边各有两台较小的显示器:一边是 1200h,另一边是 768h。

问题是 4K 显示器美观且紧凑,但其他显示器更大,但各有用途。1900x1200 显示器的物理尺寸与 4K 显示器相同,但 4K 的像素高度几乎是 4K 的两倍。

这意味着,在 4K 屏幕的一半区域,我的鼠标光标会“碰到”边缘,我必须上下移动才能进入较小的显示器。另一侧的情况更糟。

鉴于主显示器和第二个显示器的高度相同,我希望鼠标光标能够平移一些 Y 坐标,以便从一个显示器的底部移动到另一台显示器上的位置与在另一个显示器上的位置相同,返回时也处于相同的位置。

是否可以将两个像素高度不同的显示器并排放置,但其底部和顶部在桌面上对齐?

从数学上讲,当鼠标从 1>2 移动时,Y 坐标会减半,以便它“看起来”处于正确的位置,并且在返回的途中会再次加倍。

编辑:这是我的系统上出现的情况。我可以让屏幕与顶部对齐(在屏幕底部形成“中断”),或者将它们移动到中间,这样鼠标每次都会在顶部和底部捕捉到(最不理想)。

通过阅读最近提出的解决方案,我已经广泛地尝试了 GUI 设置,并且无论我使用多少可用资源都无法实现“对齐”。

使用缩放选项会影响所有显示器,结果与我想要的相反。缩放到 200%(如果应用于单个显示器,我可以处理),会将所有屏幕放大到 200%。如果我可以只放大侧面显示器,我会很高兴。是的,它们会很粗糙而且很大,但我会在那个屏幕上显示适合那里显示的特定内容。

我希望证明我错了,但多年来我一直在寻找解决方案。我不相信这是可能的。

我刚才在评论中提到,我在另一款名为“协同作用“。我已经很多年没用过它了,但它的使用案例特定于一起运行的计算机的虚拟化 KVM 网络。在协同系统中,您可以将一个显示器的出口和入口点与下一个显示器对齐,而不管高度是否不匹配。我不知道现在是否仍然如此,我已经十多年没有使用过该产品了(并且经历了收购和接管),而且它的用法与我现在使用的完全不同。然后我使用协同通过 4 个网络远程桌面一台计算机,所有屏幕都相互接触。这是一个不错的解决方案。但是,主要的区别在于应用程序始终仅限于自己的桌面。您不能让应用程序跨越远程桌面。因此,鼠标移动要简单得多。 你可以看到并排的差异

答案1

您可以使用 GUI(在 xubuntu 中,使用xfce4-display-settings,但我确信 gnome 有等效功能)或使用 来调整屏幕的位置xrandr

这是您必须手动执行的操作,因为计算机无法知道两个显示器之间的相对物理位置。它们可能对齐在顶部,一个可能在中间,等等。只要您告诉计算机第二个显示器的位置,您就可以根据它们的物理位置正确对齐它们。通过一些实验,您可以获得效果很好的结果。

使用 GUI 就像拖放一样简单。如下图所示,右侧屏幕与另一个屏幕的左上角对齐。您可以简单地单击并拖动它,根据您的喜好将其向上或向下移动。

在此处输入图片描述

使用xrandr,相关设置是--pos

   --pos xxy                                                 
          Position  the  output within the screen using pixel coordinates. In
          case reflection or rotation is applied, the translation is  applied
          after the effects.

该位置0x0是所有屏幕的左上角。例如,假设您有两个显示器,一个主显示器位于左侧,分辨率为 1920x1080,另一个位于右侧,分辨率为 1280x960。如果它们的顶部像素物理对齐,则需要使用类似以下命令:。xrandr --output SCREENNAME --auto --pos 1920x0这表示您希望它在 x 轴(水平)上移动 1920 像素并放置在 y 轴(垂直)上的像素 0 处。如果它是底部对齐的,则可以使用:xrandr --output SCREENNAME --auto --pos 1920x120,即 1080 减 960。

一些可以帮助你形象化它的东西。

(virtual screen coordinates)           The x margin is 3200 pixels
     0                                 The y margin is 1080 pixels
   0 A-----------------------          A position is 0x0
     |                      |          B position is 1920x120
     |                      |B---------------
     |                      |               |
     |         MAIN         |      SEC      |
     |                      |               |
     |       1920x1080      |    1280x960   |
     |                      |               |
1080 ----------------------------------------

对于您的设置,您可能还想使用--scale,因为像素大小非常不同。您必须调整值才能获得您喜欢的效果,但这是一个很大的权衡。如果您保持合理的比例,您可能会得到一些好看的东西。

   --scale xxy
          Changes the dimensions of the output picture. Values superior to  1
          will  lead to a compressed screen (screen dimension bigger than the
          dimension of the output mode), and values below 1 leads to  a  zoom
          in on the output. This option is actually a shortcut version of the
          --transform option.

   --scale-from wxh
          Specifies the size in pixels of the area of the framebuffer  to  be
          displayed  on this output.  This option is actually a shortcut 
          version of the --transform option.

记住这些信息,并了解使用 的其他基础知识xrandr,例如每个屏幕的名称、选择其分辨率、刷新率、翻转或您想要在设置中使用的任何其他特殊设置,您可以轻松地对齐所有显示器,以便它们的物理位置与虚拟位置相匹配。检查man xrandr大量有用的命令。

相关内容