Shell
顯示及其在 shell 腳本中的相對位置
我想獲取有關顯示器的資訊,例如
xrandr
,但包含更多資訊。我想知道他們的立場。因此,如果我連接了兩個或更多顯示器,我想知道它們是如何相互關聯的。如果我們將顯示器用作擴展而不是重複。使用 shell 命令我想知道我是否在左側、右側、向上或向下有任何顯示。
有沒有類似的東西?或者至少是一個命令,其中我給出了顯示器的 ID,它告訴我是否在任何方向上都有另一個顯示器?
好吧,我無法測試所有選項,但似乎
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 為零),並且從頂部到原點的距離也有 282px(我的 Y 是 282px 或 -282px,但我們假設為 282px)簡單起見):
如果我檢查
xrandr
我的另一個監視器的輸出,我會得到:VGA1 connected 1680x1050+1366+0
1366是我的筆記型電腦顯示器的寬度,所以我可以假設這個顯示器在我的筆記型電腦顯示器的右側。