Ritorni di nuova sessione di Tmux: "impossibile creare socket"


8

Ho ucciso una byobusessione per errore (kill -9 byobuSessionId), e ora quando provo ad avviare un altro byobucomando fallisce con "impossibile creare socket".

tmux new-sessionRestituisce anche : "impossibile creare socket"

Ho provato sudo service screen-cleanup startsenza successo!

Qualche idea su come posso risolverlo?

Risposte:


7

Il problema si verifica forse con il processo dead tmux se si controlla l'output per il comando strace -f -e trace = file tmux .

Vedi il file socket creato da tmux, nel mio caso si trova in / tmp // tmux-1001 / default /

È sufficiente eliminare questo file ed eseguire di nuovo il comandoobobu .


5

Controlla le autorizzazioni delle /tmp/tmux*/directory. Dovrebbero essere di tua proprietà e non accessibili a nessun altro.

Quindi modifica l'autorizzazione come:

chmod 700 -R /tmp/tmux*

È importante che la directory socket sia di proprietà dell'utente e non accessibile a tutti, o che qualsiasi utente possa utilizzare il server tmux. Per un po ', tmux ha erroneamente ignorato il controllo della modalità di accesso, questo è stato risolto in 2.0.

Se il tuo sistema non supporta la creazione di directory in / tmp con la proprietà corretta, dovrai usare -S per indicarlo esplicitamente a un socket. Il controllo è importante e non supporteremo sistemi che non dispongono della semantica di autorizzazione dei file Unix.


0

L'autorizzazione di /tmpmay causa questo problema.
Puoi verificare se l'autorizzazione /tmpè 1777, in caso contrario:

sudo chmod 1777 /tmp

1
/tmpdovrebbe avere 4777 (necessita della bandiera + t). Senza di essa, tutti saranno in grado di eliminare i file e rinominare i file o le directory degli altri di seguito /tmp. Inoltre, è una risposta da mago ("do X, ottieni Y" - ma nessuna spiegazione).
Peter - Ripristina Monica il

@peterh Grazie per avermelo ricordato per il permesso.
Honghe, il

0

Ho riscontrato lo stesso problema su un server condiviso, dove non avevo autorizzazioni speciali al di fuori della mia home directory. Succede che tmux stava provando ad accedere alla cartella ~ / tmp dove creare il suo socket. Quella cartella non era presente e quindi l'errore.

La soluzione sul mio caso era quella di creare la cartella ~ / tmp e tutto ha iniziato a funzionare bene.


0

Ho riscontrato lo stesso problema e di seguito è la mia soluzione:

  1. Crea una nuova cartella: /tmp/$(id -u)
  2. Cambiare proprietario: chown -R $(id -nu):$(id -nu) /tmp/$(id -u)
  3. Permesso di cambio: chmod -R 700 /tmp/$(id -u)

Funziona!


0

Ho avuto lo stesso problema, ma è a causa del problema di spazio su disco.


0

su mac quei cmd hanno fatto il trucco:

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

-1

Usando il comando strace -f -e trace=file tmuxpuoi vedere quali file hanno chiamato tmux. Il problema è spesso causato dalle autorizzazioni sulla cartella / tmp. Su un'installazione standard di Ubuntu Server le autorizzazioni sono impostate su 777. Puoi cambiare con

sudo chmod 777 /tmp
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.