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?

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 .


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.


0

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

sudo chmod 1777 /tmp

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.


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!



0

en mac los cmds hicieron el truco:

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

-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
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.