Pengembalian sesi baru Tmux: "tidak dapat membuat soket"


8

Saya telah membunuh sebuah byobusesi secara tidak sengaja (kill -9 byobuSessionId), dan sekarang ketika saya mencoba memulai byobuperintah lain gagal dengan "tidak dapat membuat socket".

Juga tmux new-sessionmengembalikan: "tidak dapat membuat socket"

Saya telah mencoba sudo service screen-cleanup starttanpa keberhasilan!

Adakah yang tahu bagaimana saya bisa menyelesaikannya?

Jawaban:


7

Masalah terjadi mungkin oleh proses tmux mati jika Anda memeriksa output untuk perintah strace -f -e trace = file tmux .

Anda melihat file socket dibuat oleh tmux, dalam kasus saya terletak di / tmp // tmux-1001 / default /

Anda cukup menghapus file ini dan menjalankan lagi perintah byobu .


5

Periksa izin /tmp/tmux*/direktori. Mereka harus dimiliki oleh Anda dan tidak dapat diakses oleh orang lain.

Jadi ubah izin sebagai:

chmod 700 -R /tmp/tmux*

Adalah penting bahwa direktori socket dimiliki oleh Anda dan tidak dapat diakses oleh semua orang, atau pengguna mana pun dapat menggunakan server tmux Anda. Untuk sementara, tmux salah melompati pemeriksaan mode akses, ini diperbaiki dalam 2.0.

Jika sistem Anda tidak mendukung pembuatan direktori di / tmp dengan kepemilikan yang tepat, Anda harus menggunakan -S untuk mengarahkannya secara eksplisit ke soket. Pemeriksaan ini penting dan kami tidak akan mendukung sistem yang tidak memiliki semantik izin file Unix.


0

Izin dari /tmpdapat menyebabkan masalah ini.
Anda dapat memeriksa apakah izinnya /tmpadalah 1777, jika tidak melakukan ini:

sudo chmod 1777 /tmp

1
/tmpseharusnya memiliki 4777 (perlu + t flag). Tanpa itu, semua orang akan dapat menghapus file dan mengganti nama file atau direktori yang lain di bawah ini /tmp. Selain itu, ini adalah jawaban seperti pesulap ("do X, you get Y" - tetapi tidak ada penjelasan).
peterh

@peterh Terima kasih telah mengingatkan saya untuk izinnya.
Honghe.Wu

0

Saya telah menemukan masalah yang sama pada server bersama, di mana saya tidak memiliki izin khusus di luar direktori rumah saya. Kebetulan tmux mencoba mengakses folder ~ / tmp tempat membuat socketnya. Folder itu tidak ada dan dengan demikian kesalahan.

Solusi pada kasus saya adalah membuat folder ~ / tmp dan semua mulai berfungsi dengan baik.


0

Saya mengalami masalah yang sama dan di bawah ini adalah solusi saya:

  1. Buat folder baru: /tmp/$(id -u)
  2. Ubah pemilik: chown -R $(id -nu):$(id -nu) /tmp/$(id -u)
  3. Ubah izin: chmod -R 700 /tmp/$(id -u)

Berhasil!



0

pada mac cmds itu melakukan trik:

sudo rm -r '/tmp/tmux-'$(id -u)
sudo chmod -R 4777 /tmp/

-1

Menggunakan perintah, strace -f -e trace=file tmuxAnda dapat melihat file apa yang disebut tmux. Masalah sering disebabkan oleh izin pada folder / tmp. Pada instalasi standar, izin Server Ubuntu diatur ke 777. Anda dapat mengubahnya dengan

sudo chmod 777 /tmp
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.