Возможно, вы сможете использовать блок 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 байтов включают идентификатор производителя, код продукта и серийный номер (байты 12 -15 ), а также неделю и год выпуска. производство. Конечно, это также работает только для определенных мониторов. (Если вам нужна большая гибкость, вам потребуется более продвинутая логика принятия решений и «библиотека» захватов EDID)
Выходные данные xrandr
показывают байты EDID в шестнадцатеричных строках по 16 байтов, поэтому вам может понадобиться -A2
, чтобы получить первые 32 байта для каждого монитора. (см., например, wikipwedia для описания блока EDID ).