Shell

顯示及其在 shell 腳本中的相對位置

  • July 13, 2014

我想獲取有關顯示器的資訊,例如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

我們添加兩個寬度解析度並保持最大高度。

這是因為我的顯示器佈局是並排的,如果我有機會將顯示器佈局更改為如下所示:

顯示器佈局 2

是這樣的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是我的筆記型電腦顯示器的寬度,所以我可以假設這個顯示器在我的筆記型電腦顯示器的右側。

引用自:https://unix.stackexchange.com/questions/140449