Xlib: 프로토콜이 지정되지 않았습니다.

Xlib: 프로토콜이 지정되지 않았습니다.

중복 가능성:
원격 X 모니터에서 창 열기("모니터를 열 수 없습니다" 이유)?

독립 실행형으로 실행할 때 X11 표시 변수를 설정해야 하는 스크립트가 있습니다. 백그라운드 데몬 작업을 사용하여 이 스크립트를 호출하면 다음 오류가 발생합니다.
Xlib: connection to "localhost.localdomain:0.0" refused by server
Xlib: No protocol specified
이 점에서 내가 어디에서 틀렸는지 알아내도록 도와주세요.
아래 주어진 명령은 스크립트 안에 있습니다.
export DISPLAY=호스트 이름 :0.0
java ScreenCapture
서비스로 실행되는 백그라운드 데몬에서 동일한 스크립트를 호출하면 오류가 발생합니다.

답변1

여기서는 추측일 뿐이지만 디스플레이에 액세스할 수 없는 다른 사용자로 백그라운드 데몬이 실행되고 있을 가능성이 있습니다.

xhost다음을 사용하여 사용자 액세스를 제어 할 수 있습니다 .

xhost 프로그램은 X 서버에 허용된 연결 목록에서 호스트 이름이나 사용자 이름을 추가하고 제거하는 데 사용됩니다.

다음 명령을 실행하여 이것이 문제인지 테스트할 수 있습니다.

xhost +

터미널 창에서는 모든 사용자가 디스플레이에 액세스할 수 있습니다.

xhost +(여기에 사용자 이름을 입력하세요)

특정 사용자에게 액세스가 허용됩니다.

관련 정보