La nueva sesión de Tmux devuelve: "no se puede crear el socket"

8

He eliminado una byobusesión accidentalmente (kill -9 byobuSessionId), y ahora cuando intento iniciar otro byobucomando falla con "no se puede crear el socket".

También tmux new-sessiondevuelve: "no se puede crear el socket"

Lo he intentado sudo service screen-cleanup startsin éxito!

¿Alguna idea de cómo puedo resolverlo?

luilver
fuente

Respuestas:

7

El problema se produce quizás por un proceso tmux inactivo si verifica la salida para el comando strace -f -e trace = file tmux .

Verá el archivo de socket creado por tmux, en mi caso se encuentra en / tmp // tmux-1001 / default /

Simplemente elimine este archivo y vuelva a ejecutarlo con el comando obu .

Al3tz Morales
fuente
5

Verifique los permisos de los /tmp/tmux*/directorios. Deben ser de su propiedad y no accesibles para nadie más.

Entonces cambie el permiso como:

chmod 700 -R /tmp/tmux*

Es importante que el directorio del socket sea de su propiedad y no sea accesible para todos, o cualquier usuario podría usar su servidor tmux. Durante un tiempo, tmux omitió incorrectamente la comprobación del modo de acceso, esto se solucionó en 2.0.

Si su sistema no admite la creación de directorios en / tmp con la propiedad correcta, deberá usar -S para señalarlo explícitamente a un socket. La verificación es importante y no vamos a admitir sistemas que no tengan semántica de permisos de archivos Unix.

Shubham Chaudhary
fuente
0

El permiso de /tmpmayo causa este problema.
Puede verificar si el permiso de /tmpes 1777, si no hacer esto:

sudo chmod 1777 /tmp
Honghe.Wu
fuente
1
/tmpdebería tener 4777 (necesita la bandera + t). Sin él, todo el mundo podrá eliminar los archivos y cambiar el nombre de los archivos o directorios de los demás a continuación /tmp. Además, es una respuesta similar a la de un mago ("haz X, obtienes Y", pero no hay explicación).
peterh - Restablece a Monica
@peterh Gracias por recordarme el permiso.
Honghe.Wu
0

Me encontré con el mismo problema en un servidor compartido, donde no tenía permisos especiales fuera de mi directorio de inicio. Sucede que tmux intentaba acceder a la carpeta ~ / tmp donde crear su socket. Esa carpeta no estaba presente y, por lo tanto, el error.

La solución en mi caso fue crear la carpeta ~ / tmp y todo comenzó a funcionar bien.

vxp
fuente
0

Encontré el mismo problema y a continuación está mi solución:

  1. Crear una nueva carpeta: /tmp/$(id -u)
  2. Cambio de propietario: chown -R $(id -nu):$(id -nu) /tmp/$(id -u)
  3. Cambiar permiso: chmod -R 700 /tmp/$(id -u)

¡Funciona!

JsonBruce
fuente
0

Tuve el mismo problema, pero se debe a un problema de espacio en disco.

Prasad Bonthu
fuente
0

en mac los cmds hicieron el truco:

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

Usando el comando strace -f -e trace=file tmuxpuedes ver qué archivos llamó tmux. El problema es causado por los permisos en la carpeta / tmp. En una instalación estándar de Ubuntu Server, los permisos se establecen en 777. Puede cambiar con

sudo chmod 777 /tmp
Maurizio Aru
fuente