Posso dire a iTerm 2 di cambiare colore quando sono root

2

Vorrei dire a iTerm2 di avere il testo in rosso ogni volta che sono root quando si accede a un server.

Nota:

Non sono in grado di modificare alcuna configurazione sul server remoto.

    
posta Nifle 07.03.2011 - 11:35
fonte

2 risposte

3

Non come parte della configurazione di iTerm 2. iTerm non ha modo di sapere che sei andato a fondo in una sessione remota - non sta guardando quello che stai facendo da vicino (e quello che stai chiedendo di capire è in realtà molto complicato da programmare).

È possibile creare un profilo iTerm con testo rosso su qualsiasi colore di sfondo desiderato e utilizzare sempre quel profilo quando si passa al root su una macchina. Non richiede modifiche all'ambiente di root sul computer remoto. Ma richiede che ti ricordi di usare quel profilo per la tua sessione root.

Modifica: mentre scavo ho trovato questo interessante articolo che parla di come è possibile modificare l'immagine di sfondo in iTerm per mostrare il nome host dell'host su cui hai eseguito l'accesso . Notate come tutto si basa sull'ambiente nella shell del vostro client Mac - una volta che siete sulla macchina remota non c'è molto che iTerm possa fare. La modifica di un titolo di tabulazione sembra essere controllata da $PROMPT_COMMAND , come impostato nell'ambiente della sessione remota, ma in iTerm 2 non sembrano esserci hook documentati che consentono di estendere ciò che iTerm fa quando cambia il titolo della scheda. Peccato.

Ti dico: oggetti di scena folle se qualcuno può capire come farlo. Sarebbe utile di sicuro.

    
risposta data 07.03.2011 - 16:23
fonte
1

Non capisco davvero perché dici di non poter cambiare alcuna configurazione, ma sei in grado di usare l'utente root ...

Ma comunque, puoi eseguire la seguente riga ogni volta accedi al tuo server remoto, che colorerà il tuo prompt in rosso (e mostrerà come "root @ hostname | / current / directory" , una volta che sei root con sudo -s :

export SUDO_PS1='\[\e[41m\]\u @ \H | \[\e[7m\] $PWD \[\e[0m\] \n > \[\e[0m\] ' 

Supponendo che la configurazione sshd del server remoto abbia PermitUserEnvironment impostato su "sì", potresti passare la PS1 quando installi la connessione ssh, qualcosa sulla falsariga di (non ci hai provato, però):

ssh user@server -t "SUDO_PS1='$SUDO_PS1'; exec bash"
    
risposta data 07.03.2011 - 16:50
fonte

Leggi altre domande sui tag