Saya belum mengedit / membuat file .screenrc untuk sementara waktu, tetapi inilah yang saat ini saya gunakan:
# 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
Jujur saya tidak ingat apa artinya semua dalam garis hardstatus saya, tapi saya ingin mencari tahu bagaimana saya bisa mengubah warna nama host berdasarkan pengguna yang login. Apakah ini mungkin? Saat ini, nama host berwarna kuning ketika saya masuk di bawah pengguna mana pun; tapi saya ingin menjadi merah jika saya root. Apakah ini sesuatu yang dapat diubah di file .bashrc saya? Saya memiliki ini di .bashrc saya untuk mengubah nama jendela layar baru ke nama host dari server saya terhubung:
# Set screen window title
case "$TERM" in
screen)
PROMPT_COMMAND='echo -ne "\033k$HOSTNAME\033\\"'
;;
esac
Terima kasih atas bantuannya!
EDIT
Saya sudah mencoba menambahkan ini ke file .bashrc saya, tetapi hanya menempatkan kode ANSI di depan nama host di layar hardstatus saya:
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
EDIT 2
Saya juga telah menambahkan kode warna ANSI yang sebenarnya (ex:) \[\033[31m\]
dan kode pelarian layar (ex:) %kr
pada pernyataan di atas dalam bahasa saya .bashrc
, tetapi tidak ada yang berhasil.
EDIT 3
Jika saya menggunakan ini sebagai baris perintah prompt, nama host muncul dengan warna merah di depan PS1 saya:
PROMPT_COMMAND='echo -ne "\033[31m$HOSTNAME\033\\"'
Jika saya menggunakan prompt berikut, nama jendela berubah menjadi nama host (YA!); tetapi warnanya tetap default (TIDAK!):
PROMPT_COMMAND='echo -ne "\033[31m\033k$HOSTNAME\033\\"'
Saya juga mencoba mengganti \033[31m
(dan hanya [31m
) dengan warna layar yang keluar (% kr), tetapi itu tidak berhasil.