xrandr에 대한 DP 모니터를 고유하게 식별합니다.

xrandr에 대한 DP 모니터를 고유하게 식별합니다.

DP1DisplayPort* 를 통해 2개의 모니터가 연결되어 있고 DP2.

나는 다음과 같이 서로 옆에 구성했습니다.

xrandr --output DP1 --pos 0x0 --output DP2 --pos 3840x0

문제: 때때로 시작 시 역순으로 감지되어 왼쪽 모니터에 플래그가 지정되고 DP2오른쪽 모니터에 DP1플래그가 지정됩니다. 이는 무작위이므로 부팅할 때마다 레이아웃을 확인하고 결국 재구성해야 합니다.

그래서 재부팅 시 어떤 모니터가 어떤 모니터인지 안정적으로 감지할 수 있는 방법을 찾고 있습니다. 예를 들어, 할당된 모니터 이름에 해당하는 포트 ID를 확인하는 방법이 있습니까?

나는 Archie에 있습니다. FWIW, Windows 10은 순서를 올바르게 기억합니다.

*중요하다면 Thunderbolt를 통해 연결된 Dell 도크를 사용하고 있습니다.

답변1

디스플레이에 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 캡처 "라이브러리"가 필요합니다)

출력에는 16바이트 16진수 라인의 EDID 바이트가 표시되므로 각 디스플레이의 처음 32바이트를 가져와야 xrandr할 수도 있습니다 . -A2(예를 들어위키피디아EDID 블록에 대한 설명).

관련 정보