XServer:display:N을 사용하여 누가/무엇을 확인하는 방법

XServer:display:N을 사용하여 누가/무엇을 확인하는 방법

상황이 이상해요. 다음은 내 명령과 그 결과입니다.

user@machine:~/Temp$ Xvfb :10 -screen 0 1024x768x16
_XSERVTransSocketINETCreateListener: ...SocketCreateListener() failed
_XSERVTransMakeAllCOTSServerListeners: server already running
(EE) 
Fatal server error:
(EE) Cannot establish any listening sockets - Make sure an X server isn't already running(EE) 

user@machine:~/Temp$ Xvfb :11 -screen 0 1024x768x16
_XSERVTransSocketINETCreateListener: ...SocketCreateListener() failed
_XSERVTransMakeAllCOTSServerListeners: server already running
(EE) 
Fatal server error:
(EE) Cannot establish any listening sockets - Make sure an X server isn't already running(EE) 

user@machine:~/Temp$ Xvfb :12 -screen 0 1024x768x16
started...

보시다시피 didisplay:10 및 display:11은 무료가 아닙니다. 그러나 .x10-lock 및 .x11-lock 파일은 /tmp에 없습니다. 또한 /tmp/.X11-unix에는 =x10 및 =x11 파일이 없습니다.

모니터 10과 11을 사용할 수 없는 이유를 어떻게 알 수 있나요?

답변1

다음과 같은 방법으로 알아볼 수 있습니다

lsof -i TCP:6010

루트로서 이는 X11을 사용하여 show:10을 표시하는 모든 TCP 리스너를 표시합니다. 6010을 6011로 변경하여 show:11 등을 사용합니다 TCP:6000-6020.

이것이 귀하에게도 문제가 되는 경우 유사하게 파일 소켓 리스너를 확인할 수 있습니다(위의 INET 리스너에 대해서만 오류가 발생했으므로 아직은 발생하지 않았습니다). 예 를 들어 , 다음을 -nolisten tcp사용하여 Xorg를 실행하는 경우lsof /tmp/.X11-unix/*

다음 두 가지를 결합할 수 있습니다.

lsof -iTCP:6000-6020 /tmp/.X11-unix/*

관련 정보