일반적인 16색 xterm을 사용하면 "*color0: #" ~ "*color15: #" 명령을 사용하여 .Xresources 파일의 색상 값을 재할당할 수 있다는 것을 알았습니다.
더 많은 색상을 사용하겠다는 목표로 xterm-256color로 전환했는데 색상 재할당이 더 이상 작동하지 않는 것 같습니다.
256팔레트를 재배포할 수 있는 방법이 있나요? 아니면 더 많은 색상 옵션을 허용하는 또 다른 xterm 설정이 있습니까?
답변1
이스케이프 시퀀스를 사용하여 팔레트를 프로그래밍하거나 tput
.
하나 있다xterm 소스 코드의 스크립트이스케이프 시퀀스를 보여줍니다.
그리고 스크립트를 사용하여 팔레트를 반전시킵니다.
그건xterm틀림없이. xterm과 유사한 일부 도구는 이 기능을 (부분적으로) 구현하는 데 시간이 걸렸지만 일부는 아직 구현하지 않았습니다.
너할 수 있다256색 리소스를 지원하도록 xterm을 컴파일하지만 다음과 같은 UTF-8이 손실됩니다.수동:
Resources past color15 are available as a compile-time option.
Due to a hardcoded limit in the X libraries on the total number
of resources (to 400), the resources for 256-colors are omitted
when wide-character support and luit are enabled. Besides
inconsistent behavior if only part of the resources were
allowed, determining the exact cutoff is difficult, and the X
libraries tend to crash if the number of resources exceeds the
limit. The color palette is still initialized to the same
default values, and can be modified via control sequences.
답변2
"*color16"과 친구들이 .Xresources에서 작동하는지 알 수 없습니다. 그렇지 않다면 왜 안되는지 알 수 없습니다.
그러나 OSC 4 이스케이프 시퀀스를 사용하여 실제 색상을 동적으로 변경할 수 있습니다. 예를 들어 색상 16을 #abcdef로 변경하려면 다음을 수행해야 합니다.
echo -ne '\e]4;16;#abcdef\a'
.bashrc
출력이 터미널( if [ -t 1 ]; then...
)로 이동하거나 쉘이 대화형(에서 "i" 검색 )인 경우 이러한 명령문을 에 넣을 수 있으므로 $-
scp/rsync가 중단되지 않습니다.
이것은 지원됩니다일부xterm 및 vte(gnome-terminal 등)를 포함한 터미널 에뮬레이터이지만 konsole과 같은 다른 에뮬레이터는 많지 않습니다.
처음 16개 색상은 모든 터미널 에뮬레이터에서 다르기 때문에 선호하는 값에 대한 설정을 제공합니다(에뮬레이터에 따라 구성 파일이나 그래픽 기본 설정 대화 상자를 통해). 그러나 내가 아는 한 추가 232개(6x6x6 컬러 큐브 + 24 회색조) 색상은 모든 터미널 에뮬레이터에서 정확히 동일합니다. 이를 재정의함으로써 "모든 사람"으로부터 멀어지게 될 것입니다. 이는 아마도 최선의 아이디어는 아닐 것입니다.
트루 컬러 지원도 확인할 수 있습니다. 그러나 가용성은 매우 제한적입니다. 일부 인기 있는 터미널 에뮬레이터(예: gnome-terminal 및 konsole)는 이를 지원하지만 불행히도 다른 인기 있는 에뮬레이터(예: xterm 또는 uxrvt)는 지원하지 않습니다. 또한 거의 모든 애플리케이션에서 지원되지 않지만 이스케이프 시퀀스를 수동으로 실행하는 경우(예: 쉘 프롬프트 또는 간단한 스크립트에서) 사용하기 쉽습니다.