mac instalar for awesome macos zsh putty tmux iterm

macos - instalar - oh my zsh ubuntu



tmux no se vuelve a colocar (4)

En mi caso, aparentemente se limpió la carpeta temporal.
Esta publicación del blog me ayudó a recuperar mi sesión "perdida":

Finalmente obtuve la solución: el envío de la señal 10 forzó a tmux a recrear sockets. Después de eso pude ejecutar tmux de nuevo sin perder mi sesión:

$ killall -10 tmux

Recientemente cambié de usar screen a tmux (obtenido a través de macports), ya que me gusta más el conjunto de funciones. Sin embargo, parece que no puedo hacer que tmux se vuelva a unir desde una ubicación alternativa, como puedo filtrar.

En mi casa, en mi mac, abriré iTerm2, mi shell por defecto es zsh, y comenzaré una sesión de tmux con tmux . Puse todas mis salpicaduras configuradas, ssh''d en los servidores apropiados, etc., y trabajo por un tiempo. Hora de ir a trabajar. <Ca> d - tmux se separa.

Me pongo a trabajar, donde uso una máquina windows xp. Enciendo masilla, ssh en mi mac de vuelta a casa, intento un tmux attach y aparece un mensaje de error:

no sessions

Parece que no puedo determinar por qué sucedería esto. No tengo miedo de profundizar en esto, pero ni siquiera sé por dónde empezar. ¿Pensamientos?

PS Ya eliminé mi archivo .tmux.conf, por lo que está usando la configuración predeterminada.


La opción -U de lsof enumera archivos de socket abiertos, por lo que lsof -U | grep ''^tmux'' lsof -U | grep ''^tmux'' mostrará una lista de todos los sockets que usa tmux . Si no ha iniciado sesión como el mismo usuario que inició tmux , deberá usar sudo .

La última columna de cada fila es el nombre del archivo. Los archivos que te interesan comienzan con un / .

Las filas que estás buscando se verán así:

tmux 1234 username 6u unix 0xffffffabcd123456 0t0 /private/var/folders/M8/M8tFwolmH08fOvJ+-35VI++++TM/-Tmp-/tmux-502/default tmux 56789 username 6u unix 0xffffff123456789a 0t0 /private/tmp/tmux-502/default


Tengo una variante de la sugerencia de lsof que he estado utilizando con cierto éxito para "recuperar" la variable TMPDIR que puede ayudar a solucionar un montón de molestias. La ventaja, supongo, es que uno puede ser un poco más exigente acerca de lo que devuelve lsof y más fácil de analizar el valor correcto (en la posibilidad remota en algún punto de algunos caracteres atípicos, pero aún así válido, siempre de salida).

Un rápido, de una sola línea es:

$ lsof -Fn -d6 -aUc tmux | grep ^n | cut -c2- /private/var/folders/_l/f_n8blps05xfnkw6fs3dcn_80000gp/T/tmux-502/default

Uso el siguiente script (también podría ser una función en ~ / .bash_profile u otro lugar apropiado, supongo):

#!/bin/bash if [[ -z "${TMPDIR}" ]]; then while read line; do case $line in n*) line="${line#n}" export TMPDIR="${line%%/tmux-$(id -u)/*}" ;; esac; done < <(lsof -Fn -d6 -aUc tmux) else echo ">> /$TMPDIR already defined: $TMPDIR" 1>&2 fi

https://gist.github.com/jps3/769d50a6a7611949473b


tmux almacena su socket de servidor en un directorio bajo el directorio especificado por la variable de entorno TMPDIR.

En su sesión de GUI es probable que termine con un TMPDIR que apunte a algún lugar debajo de /var (por ejemplo, /var/folders/mV/mVip4IQ4EXOriTiLJmeSuk+++Tc/-Tmp-/ ).

Cuando ha iniciado sesión a través de SSH, probablemente termine sin un conjunto TMPDIR, por lo que tmux busca en /tmp/ su zócalo.

En un sistema 10.6, aquí está mi TMPDIR con zsh / Terminal , y con zsh / SSH:

% echo local: ${TMPDIR-unset}; ssh localhost ''echo remote: ${TMPDIR-unset}'' local: /var/folders/mV/mVip4IQ4EXOriTiLJmeSuk+++Tc/-Tmp-/ remote: unset

Si conoce el valor que necesita usar para TMPDIR, puede especificarlo al adjuntar (o ejecutar algún otro comando tmux fuera de la sesión):

TMPDIR=/var/folders/mV/mVip4IQ4EXOriTiLJmeSuk+++Tc/-Tmp-/ tmux attach

Si no conoce el directorio que estaba usando su sesión de GUI, podría encontrarlo con algo como esto (la sintaxis es específica de zsh ; busca en /var/folders/ -Tmp- /var/folders/ un directorio llamado -Tmp- que es propiedad de el usuario actual):

echo /var/folders/**/*/-Tmp-(U/)

Para evitar problemas en el futuro, es posible que desee desactivar TMPDIR antes de iniciar su servidor (o configurarlo en algo que pueda predecir más fácilmente).