tmux에서 showconsolefont의 출력이 다른 이유는 무엇입니까?

tmux에서 showconsolefont의 출력이 다른 이유는 무엇입니까?

저는 창 관리자나 데스크톱 환경 없이 아치 리눅스 시스템을 실행하고 있습니다. 여러 터미널이 필요할 때 tmux를 사용합니다. tmux 없이 tty에서 실행하면 sudo showconsolefont예상되는 기호 세트가 표시되지만 tmux를 열고 실행하면 sudo showconsolefont다른 기호의 중복 세트가 표시됩니다.

내 글꼴은 ter-124bTerminus 시리즈의 입니다.

스크린샷에서 상단 출력은 tmux에서 캡처되었으며 실행했을 때와 동일하게 보입니다 sudo showconsolefont. 하단 출력에는 다른 기호가 포함되어 있지만 파일로 리디렉션한 다음 cat해당 파일로 리디렉션하면 동일하게 보입니다. diff그것들을 분석해 보면 그것들이 동일하다고 보고됩니다.

tmux에서 showconsolefont의 출력이 다른 이유는 무엇입니까?이 명령의 요점은 현재 글꼴로 사용 가능한 모든 기호를 표시하는 것입니다. tmux 내부와 외부에서 동일한 글꼴을 사용하고 있는데 왜 차이가 있는지 모르겠습니다. 여기에는 몇 가지 간단한 Linux 글꼴 개념이 빠져 있다고 확신합니다. 누군가 나에게 지적해 줄 수 있나요?

$TERMtmux에 값이 있는지 확인하고 기본값이 해당 값인지 확인하려고 시도했지만 linux(내 tty와 동일 $TERM) 별 차이가 없었습니다. ( set -g default-terminal "linux")

답변1

간단히 말해서: tmux256개 항목을 모두 글꼴로 표시할 수 없습니다.

긴:

소스코드를 보면 조금 어색한데, 그 이유는 (참조KBD - 리눅스 키보드 도구웹 페이지) tarball을 선호하지만 제안된 대로 git-cloning을 사용할 수 있습니다.소스 코드 찾아보기. 이것showconsolefont프로그램이 이런 일을 해준다

showconsolefont256개 항목(예: 256 - 32개의 제어 문자 대신)을 표시할 수 있는 이유 는 콘솔에 직접 전송된 코드를 다시 매핑하기 때문입니다. 실제로는 그럴 것이다330x9b처리가 다르기 때문에 제어합니다 . 충분히 가깝습니다. showconsolefont인쇄 가능한 것처럼 보이는 문자가 쓰여지고 있지만 실제로 그려지는 문자는 한 줄씩 바뀌고 있습니다.

한 가지 주목할 만한 점은 콘솔 장치에 대한 모든 변경 사항은 실제 장치의 파일 설명자를 사용하고 문자 배열이 표준 출력에 기록된다는 것입니다. 이것을 실행하면외부티먹스, 이것들은동일한 장치. 하지만 달리고 있어~에 tmux, 표준 출력은 다음과 같습니다.다른장치(특수 매핑을 문자와 분리하는 의사 터미널입니다. 예를 들어 쉘이 콘솔로 리디렉션되는 경우

$ tmux
$ sudo su -
# exec >/dev/console
# showconsolefont

너는 보게 될 것이다부분흥미로운 캐릭터. 그러나 의사 터미널은 캐리지 리턴/줄 바꿈을 예상대로 표시하지 않으며 상태 줄이 tmux올바르게 그려지지 않을 수 있습니다.

tmux 내에서 showconsolefont 리디렉션

(외부 tmux):

일반적인 디스플레이 콘솔 글꼴

읽을 수 있는 출력을 얻기 위해 루트의 터미널 모드를 설정하는 방법이 있을 수 있지만 일부 작업 없이는 불가능하거나 showconsolefont달성 tmux할 수 있습니다.

관련 정보