![콘솔 색상 인쇄](https://linux55.com/image/24910/%EC%BD%98%EC%86%94%20%EC%83%89%EC%83%81%20%EC%9D%B8%EC%87%84.png)
콘솔 색상을 표시하는 bash 함수를 작성했습니다.
하지만 일부 색상은 이런 식으로 표시되지 않는 것 같습니다! (?)
또한 이상한 "광택이 나는 검정색" 색상에 주목하세요!
(참고: 아래 화면 덤프는 xterm에서 가져온 것이지만 콘솔 모드에서 사용하기 위한 것입니다. 화면 덤프를 얻으려면 xterm을 사용해야 했지만 비슷해 보입니다.)
function clr () {
Color_names="bla red gre yel blu mag cya whi"
Color_arr=($Color_names)
for m in {0..15}
do
tput setaf $m
echo -n ${Color_arr[$((m % 8))]}" "
done
echo
tput sgr0
cat /sys/module/vt/parameters/default_red \
/sys/module/vt/parameters/default_grn \
/sys/module/vt/parameters/default_blu | tr "," "\t"
}
답변1
를 확인해보면 tput colors
답은 8이라는 것을 알 수 있을 것이다. 밝은 색상을 표현하는 방법은 을 통해서 입니다 tput bold
.
전경과 배경의 모든 8x8x2 조합(보통 및 굵은 글씨)이 표시됩니다.
for cmd in sgr0 bold; do
tput $cmd
for i in $(seq 0 7); do
for j in $(seq 0 7); do
tput setaf $i; tput setab $j; echo -n " $i,$j "
done
tput sgr0; echo; tput $cmd
done
done
답변2
이 블로그 게시물을 참조하세요. http://www.enigmacurry.com/2009/01/20/256-colors-on-the-linux-terminal/
편집: 결과가 8가지 색상밖에 없다면 tput-color
ncurses를 사용하여 약점을 해결할 수 있습니다! 우분투에 설치하십시오:
sudo apt-get install ncurses-term
그리고 ~/.bashrc 또는 ~/bash_profile에 다음 줄을 추가합니다.
export TERM=xterm-256color
스크립트 대신 emacs 명령을 사용하여 색상을 볼 수 있습니다. 터미널에서 emacs를 실행 emacs -nw
하고 명령을 입력하십시오.M-x list-colors-display
어떤 터미널을 사용하든 이 도구는 모든 터미널 에뮬레이터에서 작동합니다 ;-)
답변3
Linux 콘솔에 사용할 수 있는 여러 터미널 설명이 있습니다. 가장 일반적으로 사용되는 것은 물론 다음과 같이 설정됩니다.TERM=linux
.
대안으로는TERM=linux-16color
, @angus의 답변에서 볼 수 있듯이 굵은 색상/색상 조합을 수행합니다.
비교 linux
및 linux-16color
표시 infocmp
:
comparing linux to linux-16color.
comparing booleans.
comparing numbers.
colors: 8, 16.
ncv: 18, 63.
pairs: 64, 256.
comparing strings.
setab: '\E[4%p1%dm', '\E[4%p1%{8}%m%d%?%p1%{7}%>%t;5%e;25%;m'.
setaf: '\E[3%p1%dm', '\E[3%p1%{8}%m%d%?%p1%{7}%>%t;1%e;21%;m'.
%t;5
및 프래그먼트는 깜박임 및 굵게 속성(디스플레이 하드웨어의 기능)을 사용하여 및 에 입력된 값을 기반으로 %t;1
밝은 배경색과 전경색을 얻습니다 .tput setab
tput setaf
다음은 ncurses 테스트 프로그램을 사용하여 수행한 스크린샷입니다 linux-16color
.