我想获取有关显示器的信息,例如xrandr
,但包含更多信息。
我想知道他们的立场。因此,如果我连接了两个或多个显示器,我想知道它们之间的关系。如果我们将显示器用作扩展而不是复制品。通过 shell 命令,我想知道左、右、上、下是否有任何显示。
有类似的东西吗?或者至少有一个命令,我可以在其中给出显示器的 ID,它会告诉我在任何方向上是否有另一个显示器?
答案1
好吧,我无法测试所有选项,但似乎xrandr
有一个左边到正确的和顶部到底部方向。
这是我的显示器的屏幕截图,以帮助更好地理解:
当我xrandr
在终端上运行时,我得到的是:
Screen 0: minimum 320 x 200, current 3046 x 1050, maximum 32767 x 32767
LVDS1 connected 1366x768+0+282 (normal left inverted right x axis y axis) 344mm x 193mm
1366x768 60.0*+
1360x768 59.8 60.0
1024x768 60.0
800x600 60.3 56.2
640x480 59.9
VGA1 connected 1680x1050+1366+0 (normal left inverted right x axis y axis) 473mm x 296mm
1680x1050 60.0*
1024x768 60.0
800x600 60.3 56.2
848x480 60.0
640x480 59.9
现在,对于我来说,首先,没有任何东西可以让我弄清楚它们是如何相关的,但是搞乱了监视器布局,阅读后我发现 xrandr 如何表示监视器之间的关系。
如果您注意到我的显示器具有不同的分辨率屏幕,并xrandr
创建了某种结合了不同分辨率的虚拟分辨率最大宽度与最大高度。
这就是为什么在输出的第一行我得到的当前分辨率是:
3046 x 1050 = (1366+1680) x 1050
我们添加两个宽度分辨率并保留最大的高度。
这是因为我的监视器布局是并排的,如果有机会我将监视器布局更改为如下所示:
是xrandr
这样的:
Screen 0: minimum 320 x 200, current 1680 x 1818, maximum 32767 x 32767
LVDS1 connected 1366x768+314+0 (normal left inverted right x axis y axis) 344mm x 193mm
1366x768 60.0*+
1360x768 59.8 60.0
1024x768 60.0
800x600 60.3 56.2
640x480 59.9
VGA1 connected 1680x1050+0+768 (normal left inverted right x axis y axis) 473mm x 296mm
1680x1050 60.0*
1024x768 60.0
800x600 60.3 56.2
848x480 60.0
640x480 59.9
您可能已经注意到,现在的虚拟分辨率是:
1680 x 1818 = 1680 x (768+1050)
现在回到第一个布局和xrandr
输出,我的笔记本电脑分辨率是这样的:
LVDS1 connected 1366x768+0+282
所以这意味着我的笔记本电脑尽可能远离原点(我的 X 为零),并且从顶部到原点的距离也为 282 像素(我的 Y 为 282 像素或 -282 像素,但为了方便起见,我们假设 282 像素简单起见):
如果我检查xrandr
其他监视器的输出,我会得到:
VGA1 connected 1680x1050+1366+0
1366是我的笔记本电脑显示器的宽度,所以我可以假设该显示器位于我的笔记本电脑显示器的右侧。