mac os x lion; Utilizzo di Iterm2;
Desidero cambiare i miei profili colore iterm2 se eseguo ssh on terminal.
Questo può essere fatto?
Risposta molto tarda, ma ho trovato un modo qui che volevo condividere. Questo presuppone che tu stia eseguendo Zsh e oh-my-zsh ma con alcune esperienze di scripting della shell dovresti essere in grado di adattarlo ad altre shell.
Ho copiato queste istruzioni qui per i posteri:
Crea due profili iTerm:
* Your personal preference theme (can be named anything)
* SSH color theme (must be named SSH)
Vai nella tua directory ~/.oh-my-zsh/custom
e crea un nuovo file dal titolo iTerm2-ssh.zsh
. Copia e incolla quanto segue o copia dal repository:
function tabc() {
NAME=$1; if [ -z "$NAME" ]; then NAME="Default"; fi
# if you have trouble with this, change
# "Default" to the name of your default theme
echo -e "3]50;SetProfile=$NAME\a"
}
function tab-reset() {
NAME="YOUR_CUSTOM_PROFILE_NAME_HERE"
echo -e "3]50;SetProfile=$NAME\a"
}
function colorssh() {
if [[ -n "$ITERM_SESSION_ID" ]]; then
trap "tab-reset" INT EXIT
if [[ "$*" =~ "web*|production|ec2-.*compute-1" ]]; then
tabc SSH
fi
fi
ssh $*
}
compdef _ssh tabc=ssh
alias ssh="colorssh"
La ripartizione di questo codice:
tabc()
prende il nome ssh dopo che è stato inserito il comando $ ssh
. Questo
cambia il nome SetProfile in ssh .
tab-reset()
è responsabile di quando si esce dalla sessione ssh per tornare a
un nome profilo a tua scelta. Ricorda di creare un nome profilo personalizzato e sostituire _YOUR_CUSTOM_PROFILE_NAME_HERE_
con il nome del tuo profilo .
colorssh
determina quando cambiare il nome SetProfile . Al momento lo farà
passa al profilo SSH quando uno dei seguenti valori esiste dopo $ ssh
:
- web *
- production
- ec2-.*compute-1
Ancora una volta, non il mio codice, solo un utente felice. Grazie per questo, Hector Leiva !