`/ tmp / .X11-unix /` คืออะไร?


31

ฉันถามคำถามเดียวกันกับ Google และไม่ชอบผลลัพธ์ที่ได้

คือ/tmp/.X11-unix/อะไร


2
ว้าวฉันจะถามคุณว่าคุณไม่ชอบอะไรเกี่ยวกับพวกเขา แต่สิ่งเหล่านี้เป็นผลลัพธ์ที่แย่มาก
Derobert

คุณใช้ Xvnc หรือไม่?
toxefa

2
@ py4on ฉันไม่คิดอย่างนั้นฉันถามเพราะความสนใจในการใช้งานแอพแบบกราฟิกภายในคอนเทนเนอร์นักเทียบท่าซึ่งสิ่งนี้กล่าวถึงการวางซ็อกเก็ต x11 นี้ลงในคอนเทนเนอร์ stackoverflow.com/a/25334301/1695680
ThorSummoner

แย่? จริงๆ? ในส่วนของฉันของโลกผลการค้นหาที่สองคือunix.stackexchange.com/questions/57138จากเว็บไซต์ WWW นี้
JdeBP

3
@JdeBP แน่นอน แต่ชื่อข้อความที่ตัดตอนมาให้คุณโดยไม่มีเหตุผลที่จะคลิกมัน - ดูเหมือนว่าการแก้ไขปัญหาบางอย่างสุ่ม แน่นอนคำถามนี้ปรากฏขึ้นดังนั้น Google ได้รับการแก้ไข
derobert

คำตอบ:


21

เมื่อวันที่เป็นธรรมขึ้นไปวันที่ Arch แล็ปท็อปของฉัน/tmp/.X11-unix/เป็นไดเรกทอรีที่มีหนึ่งรายการ: X0เป็นซ็อกเก็ตยูนิกซ์โดเมน

เซิร์ฟเวอร์ X11 (ปกติแล้วXorgทุกวันนี้) สื่อสารกับลูกค้าเช่นxtermfirefox และอื่น ๆ ผ่านทางสตรีมไบต์ที่เชื่อถือได้บางประเภท ซ็อกเก็ตโดเมน 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


1
กำลังจะเชื่อมโยงไปยังคำตอบอื่นของคุณ! unix.stackexchange.com/a/20380/109083
toxefa

2
ไม่ใช่ nitpick แต่ฉันสงสัยว่าซ็อกเก็ตยูนิกซ์มีข้อได้เปรียบด้านประสิทธิภาพใด ๆ เหนือซ็อกเก็ต TCP ท้องถิ่น (ซึ่งไม่ได้ใช้อินเทอร์เฟซฮาร์ดแวร์และเป็นเคอร์เนล 100%)
goldilocks

@goldilocks - การยืนยันที่น่าสนใจ
Bruce Ediger


1
@ Max ฉันยืนแก้ไข! แม้ว่ามันจะไม่ได้เป็นเพราะเหตุผลที่อ้างถึงโดยบรูซ แต่เพราะค่าใช้จ่ายสำหรับสแต็ก TCP ของเคอร์เนล
goldilocks

11

เซิร์ฟเวอร์ 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รายละเอียดเกี่ยวกับซ็อกเก็ตยูนิกซ์โดเมนอยู่ใน โปรดทราบว่าหน้าเหล่านี้เน้นโปรแกรมเมอร์


โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.