![첫 번째 시도에서는 X11 액세스가 실패하지만 연속 시도 후에도 계속 작동합니다.](https://linux55.com/image/54592/%EC%B2%AB%20%EB%B2%88%EC%A7%B8%20%EC%8B%9C%EB%8F%84%EC%97%90%EC%84%9C%EB%8A%94%20X11%20%EC%95%A1%EC%84%B8%EC%8A%A4%EA%B0%80%20%EC%8B%A4%ED%8C%A8%ED%95%98%EC%A7%80%EB%A7%8C%20%EC%97%B0%EC%86%8D%20%EC%8B%9C%EB%8F%84%20%ED%9B%84%EC%97%90%EB%8F%84%20%EA%B3%84%EC%86%8D%20%EC%9E%91%EB%8F%99%ED%95%A9%EB%8B%88%EB%8B%A4..png)
X11
로컬 컴퓨터의 출력을 서버로 전달하기 위해 다음 설정을 사용하고 있습니다 . 설정을 간략하게 설명하겠습니다.
X11
서버와 클라이언트가 동일한 로컬 컴퓨터에 있습니다.- 서버가
X11
내 로컬 컴퓨터에서 실행 중입니다A
. - 클라이언트는 내 로컬 컴퓨터에서 이라는 도커 컨테이너로 실행됩니다
B
. R
클라이언트에 있는 프로그램()의 그래픽 출력을B
호스트에 있는 서버로 전달 하려고 합니다A
.
액세스 작동 방식은 다음과 같습니다.
- 내 클라이언트 에는 .so
B
쌍이 있어/tmp/.X11-unix
unix 도메인 소켓에 액세스할 수 있습니다unix:0
. B
xhost +si:localuser:$(USER)
호스트에서 명령을 실행하여 클라이언트가 이 소켓에 액세스하도록 허용 합니다A
. (이것은 단일 로컬 사용자에게 액세스 권한을 부여하는 서버 해석 주소입니다.)
이 모든 것이 예상대로 작동하지만 소켓에 액세스하려고 할 때마다 첫 번째 시도에서는 작동하지 않고 오류가 발생합니다 X11 protocol error: BadAccess (attempt to access private resource denied)
. 그래픽 장치를 다시 닫았다 X11
가 다시 열면 모든 것이 잘 작동합니다. 종속성에 따라 완전히 다른 설정을 사용하더라도 ssh
문제는 여전히 존재합니다 X11-forwarding
. 장치 액세스를 사용한 첫 번째 시도가 성공 cairo
하면 Xlib
장치에 대한 문제를 다시 추적할 수 있습니다. X11
서버의 Unix 도메인 소켓에 액세스하기 위해 장치를 사용하는 프로그램에 대한 경험이 있거나 cairo
이런 일이 발생하는 이유를 아는 사람이 있습니까?