PS1의 형식, 특히 줄의 색상을 변경할 수 있다는 것을 배웠습니다. 그렇다면 쉘의 배경색을 기준으로 색상을 변경할 수 있을까요? 또는 쉘의 배경색을 어떻게 감지할 수 있습니까?
답변1
내가 아는 한, 터미널 에뮬레이터의 색상을 쿼리할 수 있는 방법은 없습니다. \e]4;NUMBER;#RRGGBB\a
터미널이 이 시퀀스를 지원하는 경우(참조 NUMBER
:#RRGGBB
ctseq).
강력한 색 구성표 메커니즘에는 일반적으로 어둡거나 밝은 배경 설정이 있으며, 배경이 검은색인지 어두운 회색인지, 흰색인지 밝은 회색인지 나타내기 위해 이를 제공해야 합니다.
직접 구성할 때는 일반적으로 항상 동일한 배경색을 사용하도록 결정하는 것으로 충분합니다.
답변2
gnome-terminal을 사용하면 모든 프로필의 배경색을 얻을 수 있습니다. 이 경우 기본 프로필
$ gconftool-2 --get /apps/gnome-terminal/profiles/Default/background_color
#E12FE12FC74D
그런 다음 그에 따라 프롬프트를 설정하는 방법을 결정할 수 있습니다.
답변3
xterm을 사용하면 이스케이프 시퀀스를 사용하여 배경색을 쿼리할 수 있습니다 \e]11;?\a
. 터미널에서 응답을 읽어야 합니다. xtermcontrol
이 작업을 수행하는 명령이 있습니다 .
~$ xtermcontrol --get-bg
rgb:b0b0/b0b0/b0b0