모든 X 모니터에 연결하는 가장 좋은 방법

모든 X 모니터에 연결하는 가장 좋은 방법

C 또는 C++ 프로그램에서 컴퓨터의 모든 X 모니터에 연결하는 가장 좋은 방법은 무엇입니까? 컴퓨터가 모든 모니터에서 유휴 상태인지 확인하기 위해 각 모니터의 X 유휴 시간을 확인하고 싶습니다.

나의 현재 접근 방식은 파일 시스템 모니터링을 켜서 /tmp/.X11-unix새로운 X 소켓을 감지하는 것입니다. 새 디스플레이가 감지되면 연결을 시도하기 전에 몇 초 정도 기다립니다. 일반적으로 프로세스가 디스플레이에 액세스할 수 없기 때문에 이 작업은 실패합니다. 그래서 이 문제를 해결하기 위해 xhost +SI:localuser:rootGDM 프레션 스크립트(LightDM의 디스플레이 설정 스크립트)를 추가했습니다. 이것은 대부분의 경우에 작동하는 것 같습니다.

그러나 이 방법은 종종 실패하는데 그 이유를 모르겠습니다. xhost명령이 신뢰할 수 없기 때문인 것 같습니다 . 각 개별 디스플레이에서 Xauthority 쿠키를 추출하려고 생각하고 있지만 이를 수행할 수 있는 안정적이고 이식 가능한 방법을 찾을 수 없습니다.

관련 정보