멀티플렉서
나는 팔로우한다tmux에서 256색 사용:
- 내가
alias tmux='TERM=xterm-256color tmux'
거기있어~/.bashrc
- 그리고
set-option -g default-terminal "screen-256color"
또한~/.tmux.conf
존재하다 konsole
:
$ echo $TERM
xterm
존재하다 tmux
:
$ echo $TERM
screen-256color
색상이 여전히 작동하지 않습니다 tmux
.
boris@vasilisa:~$ PROMPT_GREEN=`tput setf 2`
boris@vasilisa:~$ PROMPT_RED=`tput setf 4`
boris@vasilisa:~$ PROMPT_BLACK=`tput setf 8`
boris@vasilisa:~$ PS1='\[$PROMPT_RED\]\w\[$PROMPT_GREEN\]:\[$PROMPT_BLACK\] '
결과는 흑백 색상 프롬프트입니다. 컬러밴드도 없습니다 ls
.
화면
force_color_prompt=yes
아직 에 있습니다 ~/.bashrc
.
boris@vasilisa:~$ PROMPT_GREEN=`tput setf 2`
boris@vasilisa:~$ PROMPT_RED=`tput setf 4`
boris@vasilisa:~$ PROMPT_BLACK=`tput setf 8`
boris@vasilisa:~$ PS1='\[$PROMPT_RED\]\w\[$PROMPT_GREEN\]:\[$PROMPT_BLACK\] '
프롬프트를 다채롭게 만들지 않습니다. 그러나 tmux
--와 비교하면 ls
색상이 있는 파일이 나열됩니다.
그래서
tput setf
터미널 멀티플렉서와 함께 사용하면 안되는 것 같아요 ?
편집하다
setf
로 변경 setaf
하고 색상 코드도 변경 해야 했습니다 .
PROMPT_BLACK=`tput setaf 0`
PROMPT_RED=`tput setaf 1`
PROMPT_GREEN=`tput setaf 2`
PS1='\[$PROMPT_RED\]\w\[$PROMPT_GREEN\]:\[$PROMPT_BLACK\] '
별칭이 필요하지 않습니다 tmux
.
옵션 설정 -g 기본 터미널 "screen-256color"
충분할 것입니다 ~/.tmux.conf
.
그래서 내가 넣었어
# colorful prompt
PROMPT_BLACK=`tput setaf 0`
PROMPT_RED=`tput setaf 1`
PROMPT_GREEN=`tput setaf 2`
PS1='\[$PROMPT_RED\]\w\[$PROMPT_GREEN\]:\[$PROMPT_BLACK\] '
# enable color support of ls and also add handy aliases
if [ -x /usr/bin/dircolors ]; then
test -r ~/.dircolors && eval "$(dircolors -b ~/.dircolors)" || eval "$(dircolors -b)"
alias ls='ls --color=auto --group-directories-first'
alias dir='dir --color=auto'
alias vdir='vdir --color=auto'
alias grep='grep --color=auto'
alias fgrep='fgrep --color=auto'
alias egrep='egrep --color=auto'
fi
# man pages with color!
export LESS_TERMCAP_mb=$'\E[01;31m'
export LESS_TERMCAP_md=$'\E[01;31m'
export LESS_TERMCAP_me=$'\E[0m'
export LESS_TERMCAP_se=$'\E[0m'
export LESS_TERMCAP_so=$'\E[01;44;33m'
export LESS_TERMCAP_ue=$'\E[0m'
export LESS_TERMCAP_us=$'\E[01;32m'
# enable colors:
force_color_prompt=yes
~/.bashrc
둘 다에서 ~/.bash_login
색상은 에서 역할을 합니다 tmux
.
답변1
추측한 대로 setf
() terminfo 항목의 전경색을 설정하는 기능이 올바르지 않습니다. (ANSI 이스케이프를 사용하여 전경색 설정)을 사용해야 합니다.xterm-256color
screen-256color
setaf
$ echo $TERM
screen-256color
$ infocmp -1 | grep setf
$ infocmp -1 | grep setaf
setaf=\E[%?%p1%{8}%<%t3%p1%d%e%p1%{16}%<%t9%p1%{8}%-%d%e38;5;%p1%d%;m,
노트:
- 이 작업을 수행할 필요는 없습니다
alias tmux='TERM=xterm-256color tmux'
. 시작 시 터미널 에뮬레이터가 올바른 값을 보고하는지 확인하세요.TERM=xterm-256color
- (1)이 true이면 거기에서 to가
tmux
올바르게 설정될 것입니다 . Linux 콘솔에서 실행하는 경우에도 올바르게 설정됩니다. 조작해야 하는 상황이 있을 수 있지만 일반적으로 그렇지 않습니다.TERM
screen-256color
screen.linux
답변2
나에게 도움이 된 것은 .bashrc 파일에 다음 줄을 넣는 것입니다.
if [ "x$DISPLAY" != "x" ]
then
export HAS_256_COLORS=yes
alias tmux="tmux -2"
if [ "$TERM" = "xterm" ]
then
export TERM=xterm-256color
fi
else
if [ "$TERM" == "xterm" ] || [ "$TERM" == "xterm-256color" ]
then
export HAS_256_COLORS=yes
alias tmux="tmux -2"
fi
fi
if [ "$TERM" = "screen" ] && [ "$HAS_256_COLORS" = "yes" ]
then
export TERM=screen-256color
fi
이것이 도움이 된다면 알려주세요.
이 솔루션은 다음을 기반으로 합니다.우편 엽서!