Esiste una sequenza di escape che cambierà il colore di sfondo in Terminal?

1

Tutti gli approcci che ho visto per cambiare il colore di sfondo in Terminal usano il applescript; c'è una sequenza di fuga? Tutti i suggerimenti che ho visto, come questo , usano AppleScript. Voglio inserirmi nel mio .base_profile e nel comando 'ssh' in modo che quando salto da un sistema all'altro il colore cambi correttamente. (A volte devo saltare più sistemi a causa di problemi di connettività)

    
posta vy32 14.09.2012 - 05:22
fonte

2 risposte

2

Ho questo nel mio bash_profile:

# Change the terminal theme when SSH to remote
function tabc() {
    NAME=$1; if [ -z "$NAME" ]; then NAME="Default"; fi
    osascript -e "tell application \"Terminal\" to set current settings of front window to settings set \"$NAME\""
}

# Change the terminal color when remote
function ssh {
  tabc "Hiltmon-Remote"
  /usr/bin/ssh "$@"
  tabc "Hiltmon"
}

Usa Applescript (che non vuoi) per cambiare il profilo del terminale. Sostituisci Hiltmon e Hiltmon-Remote con i tuoi nomi di schema colore. Quando si usa il comando ssh, la macro cambia il tema della shell, quindi esegue ssh. Quando esci dalla sessione remota, la modifica. Molto bello!

Ho provato a utilizzare le sequenze di escape del colore della shell come \[\e[36m\] e \[\e[0m\] , ma la sessione remota può ripristinarle e ripristinarle. Questo funziona benissimo per me.

    
risposta data 14.09.2012 - 13:38
fonte
0

Usa qualcosa come

tput setab <n>

Vedi colorazione di sfondo per i valori da utilizzare per n . Puoi seguire questo comando con il comando clear per ridisegnare l'intera finestra. Tieni presente che ciò non persisterà se incorpori codici di escape nel tuo prompt che ripristinano i colori o se fai qualcos'altro che ripristina i colori del terminale.

    
risposta data 27.01.2014 - 06:31
fonte

Leggi altre domande sui tag