ฉันถามคำถามเดียวกันกับ Google และไม่ชอบผลลัพธ์ที่ได้
คือ/tmp/.X11-unix/
อะไร
ฉันถามคำถามเดียวกันกับ Google และไม่ชอบผลลัพธ์ที่ได้
คือ/tmp/.X11-unix/
อะไร
คำตอบ:
เมื่อวันที่เป็นธรรมขึ้นไปวันที่ Arch แล็ปท็อปของฉัน/tmp/.X11-unix/
เป็นไดเรกทอรีที่มีหนึ่งรายการ: X0
เป็นซ็อกเก็ตยูนิกซ์โดเมน
เซิร์ฟเวอร์ X11 (ปกติแล้วXorg
ทุกวันนี้) สื่อสารกับลูกค้าเช่นxterm
firefox และอื่น ๆ ผ่านทางสตรีมไบต์ที่เชื่อถือได้บางประเภท ซ็อกเก็ตโดเมน Unix น่าจะปลอดภัยกว่าซ็อกเก็ต 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 (แอพ) อย่างน้อยที่สุดที่จะใช้อย่างน้อยก็ในเครื่องเดียวกันคือซ็อกเก็ต Unix-domain
ซ็อกเก็ตยูนิกซ์โดเมนเป็นเหมือนคนที่ 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 หลายตัวทำงานอยู่คุณจะมีไฟล์มากกว่าหนึ่งไฟล์
อย่างน้อยกับ manpages ลินุกซ์รายละเอียดเพิ่มเติมเกี่ยวกับซ็อกเก็ต (ทั่วไป) 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