Non ho modificato / creato un file .screenrc da un po ', ma questo è quello che sto attualmente usando:
# Turn off the screen startup message
startup_message off
# Define format of bottom navigation/status/date/etc. line
hardstatus alwayslastline "%{yk}[ %H ] %-Lw%50>%{gk}(%{-}%n-%t%{gk})%{-}%+Lw%< %=%{yk}[ %c %d.%m.%Y ]"
# Increase scrollback buffer to 30000 lines
defscrollback 30000
Onestamente non ricordo cosa rappresenta tutto nella mia linea di hardstatus, ma voglio capire come potrei cambiare il colore del nome host in base all'utente che ha effettuato l'accesso. È possibile? In questo momento, il nome host è giallo quando eseguo l'accesso con qualsiasi utente; ma voglio che sia rosso se sono root. È qualcosa che può essere modificato nel mio file .bashrc? Ho questo nel mio .bashrc per cambiare i nomi delle nuove finestre dello schermo con il nome host del server a cui sono connesso:
# Set screen window title
case "$TERM" in
screen)
PROMPT_COMMAND='echo -ne "\033k$HOSTNAME\033\\"'
;;
esac
Grazie per qualsiasi aiuto!
MODIFICARE
Ho provato ad aggiungere questo al mio file .bashrc, ma mette semplicemente il codice ANSI davanti al nome host nel mio schermo hardstatus:
case "$TERM" in
screen)
if (( $UID == 0 )); then
PROMPT_COMMAND='echo -ne "\033k$FRED$HOSTNAME$RS\033\\"'
else
PROMPT_COMMAND='echo -ne "\033k$HOSTNAME\033\\"'
fi
;;
esac
MODIFICA 2
Ho anche aggiunto gli attuali codici colore ANSI (ex:) \[\033[31m\]
e i codici di escape dello schermo (ex %kr
:) all'istruzione precedente nel mio .bashrc
, ma nessuno dei due ha funzionato.
MODIFICA 3
Se lo uso come riga di comando del prompt, il nome host appare in rosso davanti alla mia PS1:
PROMPT_COMMAND='echo -ne "\033[31m$HOSTNAME\033\\"'
Se utilizzo il seguente prompt, il nome della finestra cambia in hostname (YES!); ma il colore rimane il valore predefinito (NO!):
PROMPT_COMMAND='echo -ne "\033[31m\033k$HOSTNAME\033\\"'
Ho anche provato a sostituire \033[31m
(e semplicemente [31m
) con la fuga dei colori dello schermo (% kr), ma neanche quello ha funzionato.