tmux에서 작동 할 256 색 얻기


177

256 색상이 제대로 작동합니다 konsole,. tmux화면과 달리 vi모드 를 지원하는 것 같아서 시도해 볼 것이라고 생각 했습니다 . 그러나 프롬프트의 색상이 표시되며 256 색상 모드 프롬프트가 있기 때문에 가능성이 높습니다. tmux256 색을 모두 인식 하려면 어떻게해야 합니까?


2
tmux -2나는 터미네이터 에서 이것을해야했고 다소 놀랐습니다. 이 -2플래그는 tmux에 256 색을 강제로 사용하도록 지시합니다 ... 터미널이 좋아하든 그렇지 않든 ... dun dun dunnn : P
Dylan

답변:


253

TMUX 자주 묻는 질문은 명시 적으로 그것을하지 않습니다, 쉘 초기화 파일에서 화면이나 스크린 256color 이외의 다른 TERM 설정에 대한 조언!

내가 사용하는 것은 다음과 같습니다.

~$ which tmux
tmux: aliased to TERM=xterm-256color tmux

그리고 내 .tmux.conf에서 :

set -g default-terminal "screen-256color"

tmux" tmux -2"의 별칭 으로 도 트릭을 수행해야합니다.


4
나는 그것을 .tmux.conf에서 가장 잘 설정하는 방법을 좋아한다 ... 쉘을 사용하여 설정하는 것이 옳지 않은 것처럼 보인다
xenoterracide

6
기묘한. tmux -2OSX 에는 필요하지 않지만 Gnome Terminal에는 필요합니다. 내 별칭에 추가 된 정보에 감사드립니다!
FX

1
Kubuntu 13.10에서는 .tmux.conf 설정만으로도 256 색을 다시 얻지 못했지만 (vim 비주얼 모드에서 강조 표시가 발생했지만) 별칭이 작동했습니다. 확실히 .tmux.conf 파일 전용 솔루션을 선호합니다.
Jacob Dalton

1
OS X 터미널에서 우분투 컴퓨터로 ssh'd하면 .tmux.conf 기본 터미널 만 필요했습니다.
duelin markers

2
나에게 필요한 TERM=screen-256color tmux것은 .tmux.conf파일 을 만들지 않는 것 같습니다 . 뭔가 빠졌습니까?
joelostblom

39

bashrc 또는 zshrc에서 256 색을 명시 적으로 설정하십시오.

export TERM=xterm-256color

또는

export TERM=screen-256color

화면 용어 설정을 사용할 때 tmux가 배경색을 올바르게 지우지 못하는 데 문제가있는 경우 다음을 시도해보십시오.

export TERM=screen-256color-bce

1
첫 번째는 기본 TERM 설정입니다 ... 다른 2 개를 시도했지만 tmux를 입력하면 프롬프트가 여전히 색상을 표시하지 않습니다. (tmux는 맨 아래에 색상을 표시한다는 점에 유의하고 싶습니다.) tmux를 입력하면 TERM을 TERM = screen으로 재설정하는 것으로 보입니다 ... 어쩌면 구성에서 이것을 무시하는 방법이 있습니까?
xenoterracide

nvm ... 내 쉘의 rc에 넣는 것이 효과가 있다고 생각합니다 ... tmux를 실행할 때 설정되는 TERM env 변수를 무시하는 것이 얼마나 성가 신지 ... 내 조건에 rc를 넣어야한다고 생각합니다.
xenoterracide

1
-bce는 tmux와 호환되지 않습니다. Tmux는 배경색 지우기를 지원하지 않습니다 :
Dustin Kirkland

1
나는 roxterm 에이 문제가있었습니다. 이것에 roxterm을 추가하면 사람들이 내가 가진 것과 동일한 솔루션을 찾는 데 도움이 될 것입니다. 나는 vim으로 끝나고 라인을 선택하면 사라지게됩니다. 검색하기가 매우 어렵습니다. 기본적으로 roxterm은 $ TERM = xterm으로 설정되는데 이는 좋지 않습니다.
BeepDog

5
-1, 쉘 초기화 파일에 무조건 설정하지 않아야합니다. 이를 설정하면 xterm-256colortmux 내부에서도 재정의하고 tmux screen-256color외부로 설정하면 버그가 표시 될 수 있습니다.
nyuszika7h

19

당으로 TMUX 자주 묻는 질문 이 당신의하는 추가 ~/.tmux.conf:

set -g default-terminal "screen-256color"

그런 다음 tmux에이 별명을 추가하십시오.

alias tmux='tmux -2'

TERM프로필에서 또는 시작할 때 변수 를 무시할 필요가 없습니다 tmux.

추가 정보 : http://vim.wikia.com/wiki/256_colors_setup_for_console_Vim


2
tmux 구성만으로 충분했습니다. 별명을 설정할 필요가 없었습니다 (아마도 아프지 않을 것입니다).
anishpatel

tmux 만 구성하면 나에게 효과적입니다. 별칭이 충분하지 않았습니다.
Harry Moreno

12

최신 버전의 ncurses는 tmux-256color terminfo 항목 과 함께 제공됩니다 ( FAQ 는이를 언급합니다). 예를 들어, 사용의 이점 TMUX-256color을 통해 화면 256color는 이탤릭체가 제대로 (화면 이탤릭체를 지원하지 않습니다) 렌더링되는 것입니다.

따라서 최신 ncurses 패키지가 있으면 다음과 같이 작동합니다.

set -g default-terminal "tmux-256color"

이 솔루션은 tmux 2.6더 나은 것으로 보입니다.
zzxyz

3

Bionic (18.04)보다 오래된 Ubuntu를 실행중인 경우 여기에서 매우 중요합니다. tmux 2.1나이 가 많거나 나이가 많은 경우 아마도 기본적으로 tmux에 대해 온라인에서 읽은 조언이 없습니다.

tmux -V이것에 대한 쉬운 테스트입니다. 2.1보거나 더 오래된 경우 소스에서 tmux를 빌드하거나 비공식 저장소를 추가 할 수 있습니다. tmux를 다음과 같이 업데이트했습니다.

sudo add-apt-repository ppa:/hnakamur/tmux
sudo apt update
sudo apt upgrade

개인적으로로 업그레이드 한 후 2.61) 내 키가 더 잘 작동합니다 .2) 온라인 조언이 실제로 작동합니다 .3) 내 색상이 정신이 없습니다. 큰 개선.

(리포지토리 페이지, btw 링크) : https://launchpad.net/~hnakamur


2

왜 이것이 효과가 있는지 설명 할 수 없었지만 문제가 해결되었습니다.

~ / .tmux.conf

set-option -g default-command bash

1
나는 이것을 최후의 수단으로 시도했고 놀랍게도 효과가있었습니다!
v0d1ch

1

이것은 내 해결책입니다 .... .bashrc 파일을 편집하고 이것을 추가하십시오.

if [ "$TERM" != "xterm-256color" ]; then
      export TERM=xterm-256color
    fi

잘만되면 그것은 당신의 일


10
왜 귀찮게 if? 변수를 설정할 수 있습니다.
joeytwiddle
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.