/tmp/.X11-unix의 대체 위치는 무엇입니까?

/tmp/.X11-unix의 대체 위치는 무엇입니까?

X 서버와 통신하는 데 사용되는 UNIX 소켓을 포함하는 디렉토리가 /tmp/.X11-unix다른 위치에 있었던 적이 있습니까(예: 이상한 배포로 인해)? 그렇다면 대체 위치를 찾을 수 있는 방법이 있습니까?

답변1

최신 X11 온라인 소스 코드2012년 6월 6일 7.7 출시여러 tar 파일로 제공됩니다. 원천아스팔트libX11-1.5.0/src/OpenDis.clibX11은 파일의 루틴 구현을 보여줍니다 XOpenDisplay(). 연결을 시작하기 위해 _XConnectXCB()인접한 파일을 호출합니다 . xcb_disp.c이것을 이라고 합니다 xcb_connect().아스팔트libxcb-1.8.1/src/xcb_util.clibxcb가 .it 에 있기 때문에 _xcb_open()다음 줄을 사용하여 동일한 파일을 호출합니다.

static const char unix_base[] = "/tmp/.X11-unix/X";

어떤 구성 옵션도 이 행을 변경하지 않지만 Solaris Trusted Extensions에서는 /tmp/launch이를 기본으로 사용하면 작동합니다 HAVE_LAUNCHD(아무것도 모릅니다)./var/tsol/doors/.X11-unix/X

물론 배포판이 이러한 소스 코드를 패치하는 것을 방해하는 것은 없습니다. 배포판을 확인할 수도 있습니다.

strings /usr/lib*/libxcb.so|grep X11

이것은 실제로 내 Fedora에 나타납니다 /tmp/.X11-unix/X.

답변2

X 서버(Xorg로 가정)가 실행 중인 경우 다음과 같이 소켓을 찾을 수 있습니다.sudo lsof -p $(pidof Xorg) | grep unix

관련 정보