Linux
唯一標識用於 xrandr 的 DP 監視器
我通過 DisplayPort* 插入了 2 台顯示器,分別命名為
DP1
和DP2
.我將它們彼此相鄰配置,如下所示:
xrandr --output DP1 --pos 0x0 --output DP2 --pos 3840x0
問題:有時,它們在啟動時以相反的順序被檢測到,因此左側顯示器被標記
DP2
,而右側顯示器則變為DP1
。這是隨機的,所以每次啟動後我都需要檢查並最終重新配置佈局。因此,我正在尋找一種方法來可靠地檢測哪個顯示器是哪個顯示器,在重新啟動時。例如,有沒有辦法確定哪個埠 ID 對應於哪個分配的監視器名稱?
我在拱門上。FWIW,Windows 10 正確記住了該順序。
*如果這很重要,我正在使用通過 Thunderbolt 連接的戴爾塢站。
您也許可以將 EDID 塊用於監視器。例如,以所需的方式設置系統,然後執行
$ xrandr --prop | grep -A2 EDID > desired-setup.txt
此後,每次設置完成後,您執行類似的
$ xrandr --prop | grep -A2 EDID > current-setup.txt
然後,如果
current-setup.txt
與 相同desired-setup.txt
,則一切正常,否則您需要使用交換的 DP1 和 DP2 進行替代設置。此方案僅在監視器的 EDID 報告具有獨特性時才有效,其中前 18 個字節包括製造商 ID、產品程式碼和序列號(字節 12-15),以及製造的星期和年份。當然,它也只適用於特定的顯示器。(如果您需要更大的靈活性,您將需要更高級的決策邏輯,以及 EDID 擷取的“庫”)
的輸出
xrandr
以 16 字節的十六進制行顯示 EDID 字節,這就是為什麼您可能需要-A2
為每個監視器獲取其前 32 個字節的原因。(有關 EDID 塊的描述,請參見例如wikipwedia)。