La mia comprensione è che con Lion le finestre del mio terminale dovrebbero ripristinare il loro stato. Tuttavia, questo non succede per me. Mi chiedo se questo perché uso tcsh invece di bash?
C'è qualcosa che posso fare per far riprendere le mie sessioni su iterm2 da dove erano state interrotte?
Il mio attuale tentativo di farlo è stato quello di utilizzare
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 '
Ma questo imposta solo le etichette delle schede. L'etichetta della finestra ottiene i nomi di file abbreviati con ~ al posto del nome file completo. Non so se ciò sia legato al mio fallimento nell'ottenere la ripresa del terminale. Ad ogni modo, quando esco e riavvio tutte le finestre e le schede del mio terminale sono di nuovo nella mia directory home.
I punti bonus extra sarebbero una soluzione sensibile all'uso dello slogan.
Non riesco nemmeno a ottenere il corretto comportamento di ripresa con l'Apple Terminal integrato, quando cambio sopra
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
Non torno alla stessa directory di lavoro e mentre posso vedere la cronologia dei comandi, non posso usarla (non posso usare ^ P per spostarmi in alto, ad esempio, e il comando history non restituisce nulla). Quindi credo che in qualche modo questo non funzioni con tcsh, al contrario di bash. I miei colleghi mi assicurano che non perdono la directory di lavoro all'uscita dall'applicazione.
/etc/bashrc
. Potrebbe essere necessario trovare qualcuno per adattarlo a tcsh. Altrove su Stack Exchange ho pubblicato un codice equivalente per zsh.
$TERM_SESSION_ID
su un ID univoco; il suo valore esatto è soggetto a modifiche, ma attualmente è un UUID. Durante il ripristino, ripristina questo ID. Ad esempio, è possibile utilizzare l'ID per generare un percorso percorso file e salvare i dati in esso, quindi rileggerlo all'avvio della shell. Probabilmente vorrai eliminare periodicamente i dati della vecchia sessione, poiché non sai se una sessione verrà mai ripristinata di nuovo.