tmux
보고하는 이유
$TERM=screen-256color
일반적 kitty
으로 보고됨
$TERM=xterm-kitty
tmux
실행하는 경우 어느 것을 사용해야 합니까 kitty
? 고급 기능이 명확하게 kitty
제공되며 보고 기능도 합리적입니다 xterm-kitty
. screen-256
프로그램이 화면에서 실행 중인지 알아야 한다고 화면에서 보고하는 이유는 무엇입니까 ? 키티에서 실행하기 위해 화면을 호출할 때 문제가 있습니까 xterm-kitty
?
답변1
키티 내부에서 tmux를 실행하는 경우 어떤 것을 사용해야 합니까?
tmux
당신이 달릴 때~ 해야 하다TERM=screen
, 또는 또는 또는 TERM=tmux
같은 파생어 중 하나를 사용합니다 . TERM=screen-256color
TERM=tmux-256color
그 남자가 tmux(1)
말했지...
tmux 내에서 실행되는 모든 프로그램의 경우 TERM 환경 변수를 "screen"으로 설정해야 합니다. 새 창은 자동으로 "TERM=screen"을 해당 환경에 추가하지만 쉘 시작 파일에서 이를 재설정하지 않도록 주의해야 합니다.
..추가 설명을 위해...
이 세션에서 생성된 새 창에 대한 기본 터미널(TERM 환경 변수의 기본값)을 설정합니다. tmux가 제대로 작동하려면 "screen" 또는 그 파생 항목으로 설정되어야 합니다.
...그들은 또한 강조했다~ 해야 하다.
이것티먹스 위키추가 설명과 답변을 위해 계속 진행합니다…
tmux 내부의 TERM은 "screen", "tmux" 또는 이와 유사한 것(예: "tmux-256color")이어야 합니다. 존재하지 않는 문제를 신고하려고 애쓰지 마세요!
화면에서 실행 중인지 알아야 하는 프로그램이 있습니까?
예. 예를 들어 많은 프로그램은 tput
올바른 값을 사용하지 않으면 ( 또는 )에서 실행될 때 올바르게 표시되지 않습니다.screen
tmux
TERM
학기란 무엇입니까? 그것은 무엇을 합니까?
환경 변수 TERM은 terminfo(5) 데이터베이스에서 읽을 터미널 설명의 이름을 응용 프로그램에 알려줍니다. 각 설명에는 터미널을 제어하기 위해 무엇을 보낼지 애플리케이션에 알려주는 여러 개의 명명된 함수가 포함되어 있습니다. 예를 들어, "cup" 함수에는 커서를 위쪽으로 이동하기 위한 이스케이프 시퀀스가 포함되어 있습니다.
TERM이 애플리케이션이 실행 중인 터미널에 대한 올바른 설명을 가리키는 것이 중요합니다. 설명이 올바르지 않으면 애플리케이션에 오류가 발생할 수 있습니다.
infocmp(1) 명령은 터미널 설명의 내용을 표시하고 tic(1) 명령은 파일에서 설명을 작성 및 설치합니다(둘 다 일반적으로 -x 플래그가 필요함).
kitty xterm-kitty에서 실행할 화면을 호출하는 데 문제가 있나요?
TERM
실행 화면의 값이 올바르게 설정되어 있고(예: TERM=screen-256color
) 유효한 terminfo 문자열이 있거나 이를 처리하는 방법을 알고 있는 screen
한 반드시 그럴 필요는 없습니다 .tmux
내 컴퓨터의 다른 파생 상품은 다음과 같습니다.
/usr/share/terminfo/s/screen
/usr/share/terminfo/s/screen-16color
/usr/share/terminfo/s/screen-256color
/usr/share/terminfo/s/screen.Eterm
/usr/share/terminfo/s/screen.gnome
/usr/share/terminfo/s/screen.konsole
/usr/share/terminfo/s/screen.linux
/usr/share/terminfo/s/screen.mlterm
/usr/share/terminfo/s/screen.mrxvt
/usr/share/terminfo/s/screen.rxvt
/usr/share/terminfo/s/screen.teraterm
/usr/share/terminfo/s/screen.vte
/usr/share/terminfo/s/screen.xterm-r6
/usr/share/terminfo/s/screen.xterm-new
/usr/share/terminfo/s/screen.xterm-xfree86
TERM
설정이 완료되면 실행할 준비가 된 것입니다 infocmp
. 값에 유효한 terminfo가 있는지 여부를 보고합니다. 추가 테스트를 통해 다음과 같은 기본 terminfo 기능을 확인할 수 있습니다.
for terminfos in $(find /usr/share/terminfo/s -type f -name 'screen*' -printf '%f\n' -o -name 'tmux*' -printf '%f\n'); do export TERM=$terminfos; printf "%s: %sthis is foreground color 10 %sitalics%s and now all attributes are turned off\n" "$terminfos" "$(tput setaf 10)" "$(tput sitm)" "$(tput sgr0)"; done
답변2
Kitty의 고급 기능은 다음 과 관련이 있습니다 tmux
.tmux
$ kitty icat ~/Pictures/fc.jpg
Terminal does not support reporting screen sizes via the TIOCGWINSZ ioctl
$ TERM=xterm-kitty kitty icat ~/Pictures/fc.jpg
Terminal does not support reporting screen sizes via the TIOCGWINSZ ioctl
TERM
따라서 Kitty가 보고한 내용과 일치하도록 tmux에서 퍼지하더라도 기껏해야 막다른 골목을 찾을 수 있다는 것을 알 수 있습니다 . Ranger에서 미리보기를 렌더링하려고 하면 범위가 충돌합니다.
답변3
다음은 몇 가지 질문입니다. 더 흥미로운 답변은 다음과 같습니다.
tmux가 보고하는 이유
$TERM=screen-256color
이전 버전의 tmux에서는 "거기에 있기 때문에" TERM=screen 또는 TERM=screen-256color를 사용했습니다. 결국 상황은 (a) tmux 개발자가 기능을 추가하기를 원했고 (b) 화면이 기울임꼴 사용을 방해했기 때문에 상황이 바뀌었습니다.
일반적으로 새끼 고양이는 보고합니다.
$TERM=xterm-kitty
키티 내부에서 tmux를 실행하는 경우 어떤 것을 사용해야 합니까?
tmux가 선택하도록 해야 합니다(색상 및 기능 키를 처리하는 방법을 보려면 외부 터미널 설명을 참조하세요).
- 화면이 화면 256이라고 보고하는 이유는 무엇입니까?
아마도 "screen-256color"라고 쓰여 있을 것입니다. GNU 화면은 외부 $TERM 값을 보고 내부 값을 선택합니다. 하지만 이 특정 파일은 사용자의 .screenrc 파일에서 나옵니다(보통 패키지 프로그램이 관련될 수 있음).
- 화면에서 실행 중인지 알아야 하는 프로그램이 있습니까?
설마...
- kitty xterm-kitty에서 실행할 화면을 호출하는 데 문제가 있나요?
일부screen
기본적으로 구성에서는 bce(배경색 삭제)를 사용합니다. Kitty는 이 기능을 지원하지 않습니다(ymmv).