Google에 같은 질문을했지만 결과가 마음에 들지 않았습니다.
무엇입니까 /tmp/.X11-unix/
?
Google에 같은 질문을했지만 결과가 마음에 들지 않았습니다.
무엇입니까 /tmp/.X11-unix/
?
답변:
필자의 최신 아치 랩톱 에는 Unix-domain socket 이라는 /tmp/.X11-unix/
항목이있는 디렉토리가 있습니다.X0
X11 서버 (일반적으로 Xorg
요즘)는 xterm
일종의 안정적인 바이트 스트림을 통해, firefox 등과 같은 클라이언트와 통신 합니다. 유닉스 도메인 소켓은 아마도 세계에 개방 된 TCP 소켓보다 조금 더 안전 할 것입니다. 커널이 모든 것을 수행하고 이더넷이나 무선 카드에 의존 할 필요가 없기 때문에 조금 더 빠를 것입니다.
내 X11 서버는 다음과 같이 나타납니다.
bediger 294 293 0 Apr09 tty1 01:23:26 /usr/lib/xorg-server/Xorg -nolisten tcp :0 vt1 -auth /tmp/serverauth.aK3Lrv5hMV
"-nolisten tcp"는 통신을 위해 TCP 포트 6000을 여는 것을 방지합니다.
이 명령 lsof -U
은 어떤 프로세스가 어떤 Unix 도메인 소켓을 사용하고 있는지 알려줄 수 있습니다. 에 Xorg
연결된 것으로 표시 됩니다 /tmp/.X11-unix/X0
.
X 서버에는 X 클라이언트 (앱)와 통신하는 여러 가지 방법이 있습니다. 적어도 같은 머신에서 가장 많이 사용하는 것은 유닉스 도메인 소켓입니다.
유닉스 도메인 소켓은 대신 주소와 포트에 연결, 당신이에 연결하는 것을 제외하고, 더 익숙한 TCP 것들처럼 경로 . 실제 파일 (소켓 파일)을 사용하여 연결합니다.
X 서버는 소켓을 /tmp/.X11-unix
다음 위치에 넣습니다 .
$ ls -l /tmp/.X11-unix/X0
srwxrwxrwx 1 root root 0 Dec 18 18:03 /tmp/.X11-unix/X0
를 참고 s
자사의 소켓을 의미하는 권한 앞에. 여러 X 서버가 실행중인 경우 하나 이상의 파일이 있습니다.
최소한 리눅스 맨 페이지에서는 소켓 (일반)에 대한 자세한 내용은에서 찾을 수 있습니다 man 7 socket
. 유닉스 도메인 소켓에 대한 자세한 내용은에 man 7 unix
있습니다. 이 페이지는 프로그래머 중심입니다.
/tmp/.X11-unix/X{n}은 X 서버가 AF_DOMAIN 소켓을 수신하는 위치입니다. 같은 장소 근처에 /tmp/.X{n}-lock이 있습니다. https://bugzilla.redhat.com/show_bug.cgi?id=503181 에서 논의 된 것처럼 이 체계는 FHS가 좋지 않습니다.