콘솔/가상 터미널에서 사용 가능한 모든 색상을 변경할 수 있는 방법이 있습니까?
콘솔이란 xterm이나 urxvt와 같은 것이 아니라 CTRL + ALT + F1을 누른 후 얻는 것을 의미합니다. 그러니까 그건 변화를 의미하는 것 같아요
다음과 같이 이스케이프 시퀀스를 사용하여 8가지 색상을 변경할 수 있습니다.
echo -en "\e]PY######"
여기서 Y는 색상의 숫자 ID(0~7)이고 ######은 16진수 색상 값입니다.
내 궁극적인 목표는 Solarized 색상 구성표를 콘솔에 포팅하는 것입니다. 왜냐하면 콘솔에 있든 vim에 있든 동일하게 보이길 원하기 때문입니다.
이에 대한 제안이 있으십니까?
xterm의 htop:
xterm의 htop, 일광 색상
8가지 색상을 적용한 후 콘솔의 htop:
htop 콘솔에서 8가지 색상을 적용한 후 다음을 수행할 수 있습니다.
답변1
TTY 프레임 버퍼 콘솔은 커널 해킹 없이 8-16색 이상을 가질 수 없습니다. 다음 인용문을 참조하십시오. "Linux 프레임 버퍼는 256(또는 그 이상) 색상을 지원하지만 Linux 콘솔 드라이버는 지원되지 않습니다. 따라서 콘솔 응용 프로그램은 여전히 16색으로 제한됩니다. 프레임버퍼 유무에 관계없이 Linux 콘솔."
따라서 16개 또는 8개 이상의 색상이 있을 수 없습니다. ~/.bashrc에 설명된 동일한 명령을 사용하여 프레임 버퍼 터미널(일명 ctrl+alt+1)의 색상을 변경하는 방법에 대한 튜토리얼이 있습니다.TTY 튜토리얼의 색상
답변2
콘솔에서 이 bash 기능을 사용해 보세요. 공교롭게도 X 터미널에서는 작동하지 않습니다(탭 때문에 그런 것 같습니다). 특히 마지막으로 사용된 세 파일을 확인하세요.
/sys/module/vt/parameters/default_red
/sys/module/vt/parameters/default_grn
/sys/module/vt/parameters/default_blu
clr () {
clear # GFX bug otherwise
setterm -regtabs 4
Color_names="bla red gre yel blu mag cya whi"
Color_arr=($Color_names)
tput setaf 4
tput setab 7
echo -n " normal "
tput sgr0
echo -n " "
tput setaf 7
tput setab 4
echo " bright "
tput sgr0
for cmd in sgr0 bold
do
tput $cmd
for m in 0 1 2 3 4 5 6 7
do
tput setaf $m
echo -n ${Color_arr[$m]}" "
done
done
echo
tput sgr0
cat /sys/module/vt/parameters/default_red \
/sys/module/vt/parameters/default_grn \
/sys/module/vt/parameters/default_blu | sed s/,0/", "/g | \
sed s/^0/" "/g | \
tr "," "\t"
}
편집자가 댓글에 응답합니다.
예를 들어, sys/module/vt/parameters/default_grn
녹색 파일()의 두 번째 숫자를 170
-로 변경하면 두 번째 색상(인덱스 1)이 빨간색만큼 녹색을 갖게 되고 파란색은 없게 됩니다(적어도 내 경우에는 해당 숫자가 있기 때문에). 및 ) default_red
170
에 0
있습니다 default_blu
.
이제 를 입력합니다 tput setaf 1; echo hi
. 여기서 전경색을 인덱스 1의 색상(변경한 색상)으로 설정한 다음 인쇄합니다. (한 줄의 명령을 콜론으로 구분해야 합니다. 그렇지 않으면 프롬프트가 tput
그 사이에 명령을 재설정할 수 있습니다.)
평소와 동일해 보인다면 라인을 다시 시도해 보세요 echo -n '\033]R'
. tput
지금,둘 다"안녕"은 노란색이어야 합니다.
작동하게 되면(또는 작동하지 않으면) 알려주세요.