키티 터미널을 사용하는 다른 터미널 에뮬레이터와 달리 내 bash 프롬프트에는 색상이 없습니다. 나는 우분투를 사용하고 있고 내 PS1은\[\e]0;\u@\h: \w\a\]${debian_chroot:+($debian_chroot)}\u@\h:\w\$
이를 위해 무엇을 설정해야 합니까?
감사해요
답변1
키티가 컬러단말기로 인식이 안되는 경우가 있는데.. $TERM
환경변수는 어떻게 설정되어 있나요?
그놈 터미널에서는 다음과 같이 말합니다.
$ echo $TERM
xterm-256color
"고양이"는 이렇게 쓰고 있습니다.
$ echo $TERM
xterm-kitty
다음 .bashrc
줄을 확인하세요.
xterm-color|*-256color) color_prompt=yes;;
xterm-kitty
다음과 같이 추가하세요 .
xterm-color|*-256color|xterm-kitty) color_prompt=yes;;
이제 새끼 고양이를 다시 시작하세요.
답변2
나는 그것이 다음 코드와 함께 작동할 것이라고 생각합니다~/.bashrc
해당 변수를 조작해야 하는지는 모르겠지만 TERM
내 변수에 존재합니다
~/.bashrc
. 몇 년 전에 빌렸지만 실제로 필요한 것이 무엇인지 모르거나 기억하지 못합니다.
if [ "${TERM:0:5}" == "xterm" ]
then
typeset TERM=xterm-color # force colour prompt
fi
function statstring {
RC=$?
if [ "0" != $RC ]; then
printf "[$RC] "
fi
}
case "$TERM" in
xterm-color)
# PS1='${debian_chroot:+($debian_chroot)}\[\033[01;32m\]\u@\h\[\033[00m\]:\[\033[01;34m\]\w\[\033[00m\]\$ '
if [ "$USER" = root ]; then
PS1='\[\033[01;31m\]$(statstring)\[\033[00m\]${debian_chroot:+($debian_chroot)}\[\033[01;31m\]\u@\h\[\033[00m\] \[\033[01;34m\]\w\[\033[00m\] \$ '
else
PS1='\[\033[01;31m\]$(statstring)\[\033[00m\]${debian_chroot:+($debian_chroot)}\[\033[01;32m\]\u@\h\[\033[00m\] \[\033[01;34m\]\w\[\033[00m\] \$ '
fi
;;
*)
PS1='${debian_chroot:+($debian_chroot)}\u@\h:\w\$ '
;;
esac
if [ "$TERM" == "xterm-color" ]
then
typeset TERM=xterm # force basic prompt
fi
참고: PC 컴퓨터의 ANSI 이스케이프 시퀀스는 ESC [로 시작합니다. echo
명령문에서는 \0033(ASCII: 3*8+3 = 27 for ESC)을 사용할 수 있습니다. 바라보다이 링크ANSI 시퀀스에 대한 자세한 설명입니다.
명령이 오류 코드를 반환하는 경우에도 "오류 코드 메시지"가 나타납니다. 이것은 기능에 의해 제어됩니다 statstring
.