Pregunta Necesidad de reiniciar el terminal OS X DESPUÉS de cerrar la sesión de Ubuntu (ssh + zsh)


Tengo un problema que no puedo entender, y no puedo depurar mi vida.

  • Ejecuto Mac OS X 10.9.2 (más reciente) y uso Terminal.app y zsh como mi shell.
  • Un servidor en el que trabajo de forma remota ejecuta Ubuntu 13.04 y zsh como mi caparazón.
  • Mi variable de entorno $ TERM en OS X está configurada para xterm256-color, y lo mismo se muestra después de iniciar sesión en el servidor remoto.
  • Localmente, mi mensaje es [[ ${EUID} != 0 ]] && PS1=$'%{\e[1;32m%}%n@dhm %{\e[1;36m%}%1d %#%{\e[0m%} '. Creo que los códigos de color se escaparon correctamente.
  • En mi .vimrc:
    • set nocompatible " default options
    • set term=ansi " colors on
    • syntax on " syntax highlighting
    • ...
  • Por el momento, estoy averiguando el problema y mi control remoto .zshrc está vacío: # Created by newuser for 5.0.0 es la única línea en el archivo.

Aquí está mi problema:

  • Cuando uso vim normalmente en mi Mac, funciona bien.
  • Cuando entro al servidor de Ubuntu, vim y zsh y etc. funcionan bien
  • Después de cerrar la sesión del servidor remoto, vim hace lo que las teclas de flecha ponen B\n  A\n, C\n, D\n eso generalmente se soluciona mediante, por ejemplo, configuración nocompatible o configurar su terminal para ansi, según otros hilos.
  • Después de una terminal reset en la zona, vim funciona bien.

Otro punto de datos: esto no ocurre cuando configuro mi shell remoto bash. Aunque mi control remoto .zshrc esta vacio.

¿Algún consejo sobre cómo puedo depurar esto? He intentado cosas como comparar env y echo $PS1 antes y después de ssh, pero no encontró ningún cambio.

Editar: publiqué un gist de la salida del proceso de inicio de sesión a través de script aquí: https://gist.github.com/dhalperi/d00f191801c000ff0770


1


origen


Aunque el zshrc del usuario en la máquina remota está vacío, puede haber algún código conflictivo en los archivos de configuración de todo el sistema (/etc/zsh*, /etc/zlogout, etc.) - mpy
Es script disponible en OS X? De ser así, podría tratar de hacer una copia impresa del proceso login-> logout y verificar si se transmiten algunos caracteres no visibles. - mpy
@mpy - Editado para publicar el typescript en una esencia - Dan Halperin
1. ¿Puedes intentar responder? 0 a esa pregunta? Para evitar que ese proceso comience. 2. La forma correcta de depurar shells es ejecutarlos con -x, tratar ssh foo@your-address.org -t 'zsh -x' (y guardar eso en el script). Aunque es un poco ruidoso, deberías poder encontrar la fuente de cualquier personaje divertido. - Francisco
De acuerdo. Una mejor idea: después usted respondió '0' allí para tener un vacío .zshrc. Tratar ssh foo@bar.com -t 'zsh --no-global-rcs'. Esto iniciará zsh omitiendo cualquiera de los archivos de configuración del sistema, es decir, aquellos en /etc. Si utiliza ssh foo@bar.com -t 'zsh -f' Ignorará todos sus propios archivos de configuración. Vale la pena intentarlo también. - Francisco


Respuestas: