Mi entendimiento es que con Lion mis ventanas de terminal deberían restaurar su estado. Sin embargo, esto no me pasa. Me pregunto si esto es porque uso tcsh en lugar de bash?
¿Hay algo que pueda hacer para que mis sesiones de iterm2 se reanuden donde se quedaron?
Mi intento actual de hacer esto ha sido usar
alias precmd 'if ( $?TERM_PROGRAM && ${TERM_PROGRAM} == "iTerm.app" ) /opt/local/libexec/gnubin/echo -ne "\033];$cwd\007"'
set prompt = '%{\e]2;%~\a%}%S[%m:%c3] %n%#%s '
Pero esto solo establece las etiquetas de las pestañas. La etiqueta de la ventana obtiene los nombres de archivo abreviados con ~ en lugar del nombre completo del archivo. No sé si esto está relacionado con mi fracaso para obtener la reanudación de terminal. En cualquier caso, cuando salgo y reinicio todas mis ventanas de terminal, las pestañas están de vuelta en mi directorio de inicio.
Los puntos de bonificación adicionales serían una solución sensible al uso de slogin.
Tampoco puedo obtener el comportamiento de reanudación correcto con el Apple Terminal incorporado cuando cambio lo anterior a
if ( $?TERM_PROGRAM && ( ${TERM_PROGRAM} == "iTerm.app" || ${TERM_PROGRAM} == "Apple_Terminal") ) then
alias precmd ' /opt/local/libexec/gnubin/echo -ne "\033];$cwd\007"'
set prompt = '%{\e]2;%~\a%}%S[%m:%c3] %n%#%s '
endif
No vuelvo al mismo directorio de trabajo y, aunque puedo ver el historial de comandos, no puedo usarlo (no puedo usar ^ P para subir, por ejemplo, y el comando de historial no devuelve nada). Asique creer de alguna manera esto no funciona con tcsh, a diferencia de bash. Mis colegas me aseguran que no pierden el directorio de trabajo al salir de la aplicación.
/etc/bashrc
. Puede que necesites encontrar a alguien que lo adapte para tcsh. En otro lugar en Stack Exchange publiqué un código equivalente para zsh.
$TERM_SESSION_ID
a una ID única; su valor exacto está sujeto a cambios, pero actualmente es un UUID. Al restaurar, restaura esta ID. Por ejemplo, puede usar la ID para generar una ruta de acceso al archivo y guardar los datos en ella, y luego leerla de nuevo cuando se inicie el shell. Es probable que desee eliminar periódicamente los datos de la sesión anterior, ya que no sabe si una sesión se restaurará nuevamente.