Apa itu `/ tmp / .X11-unix /`?


31

Saya mengajukan pertanyaan yang sama kepada Google dan tidak menyukai hasil yang saya dapatkan.

Apa /tmp/.X11-unix/?


2
Wow, saya akan bertanya kepada Anda apa yang tidak Anda sukai tentang mereka ... tetapi itu adalah beberapa hasil yang sangat buruk.
derobert

Apakah Anda menjalankan Xvnc?
toxefa

2
@ py4on Saya rasa tidak, saya bertanya karena minat saya dalam menjalankan aplikasi grafis di dalam wadah buruh pelabuhan, di mana ini menyebutkan untuk memasang soket x11 ini ke wadah. stackoverflow.com/a/25334301/1695680
ThorSummoner

Buruk? Sangat? Di bagian dunia saya, hasil pencarian kedua adalah unix.stackexchange.com/questions/57138 dari situs WWW ini.
JdeBP

3
@ JdeBP memang, tetapi judul kutipan tidak memberi Anda alasan untuk mengkliknya — sepertinya pemecahan masalah beberapa masalah acak. Tentu saja sekarang pertanyaan ini muncul, jadi Google diperbaiki.
derobert

Jawaban:


21

Pada cukup up-to-date Arch laptop saya, /tmp/.X11-unix/adalah direktori dengan satu entri: X0, sebuah Unix-domain socket .

Server X11 (biasanya Xorghari ini) berkomunikasi dengan klien seperti xterm, firefox, dll melalui semacam aliran byte yang dapat diandalkan. Socket domain Unix mungkin sedikit lebih aman daripada soket TCP yang terbuka untuk dunia, dan mungkin sedikit lebih cepat, karena kernel melakukan semuanya, dan tidak harus bergantung pada ethernet atau kartu nirkabel.

Server X11 saya muncul sebagai:

bediger    294   293  0 Apr09 tty1     01:23:26 /usr/lib/xorg-server/Xorg -nolisten tcp :0 vt1 -auth /tmp/serverauth.aK3Lrv5hMV

"-Nolisten tcp" mencegahnya dari membuka port TCP 6000 untuk komunikasi.

Perintah lsof -Udapat memberi tahu Anda proses apa yang menggunakan soket domain Unix mana. Saya melihat Xorgterhubung /tmp/.X11-unix/X0.


1
Baru saja akan menautkan ke jawaban Anda yang lain! unix.stackexchange.com/a/20380/109083
toxefa

2
Bukan untuk nitpick tapi saya ragu soket lokal unix memiliki kelebihan kinerja dibandingkan soket TCP lokal (yang tidak menggunakan antarmuka perangkat keras, dan juga 100% kernel).
goldilocks

@goldilocks - pernyataan yang menarik.
Bruce Ediger


1
@ Max Aku berdiri dikoreksi! Meskipun bukan karena alasan yang dikutip oleh Bruce, tetapi karena overhead untuk stack TCP kernel.
goldilocks

11

Server X memiliki beberapa cara untuk berkomunikasi dengan klien X (aplikasi). Yang paling umum digunakan, setidaknya pada mesin yang sama, adalah soket Unix-domain.

Socket Unix-domain seperti yang lebih dikenal TCP, kecuali bahwa alih-alih menyambungkan ke alamat dan port, Anda terhubung ke jalur . Anda menggunakan file aktual (file socket) untuk menghubungkan.

Server X menempatkan soketnya di /tmp/.X11-unix:

$ ls -l /tmp/.X11-unix/X0 
srwxrwxrwx 1 root root 0 Dec 18 18:03 /tmp/.X11-unix/X0

Perhatikan sdi depan izin, yang artinya soket. Jika Anda memiliki beberapa server X yang berjalan, Anda akan memiliki lebih dari satu file di sana.

Setidaknya dengan manual Linux, detail lebih lanjut tentang soket (secara umum) dapat ditemukan di man 7 socket. Rincian tentang soket Unix-domain ada di man 7 unix. Perhatikan bahwa halaman-halaman ini berfokus pada programmer.


Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.