>

16 진수 색상 값을 처리하기 위해 터미널에 색상을 표시하려면 어떻게해야합니까? 테마, XResources 등에 유용 할 수 있습니다. 예를 들면 다음과 같습니다.

$ command '#FF0000'
// display a red square

만자로에서 urxvt, i3wm을 사용합니다.

  • 답변 # 1

    대안 :

    show_colour () {
        perl -e 'foreach $a (@ARGV) {print "\ e [48;2;". join ( ";", unpack ( "C *", pack ( "H *", $a))) " m \ e [49m "};인쇄"\ n " '"$@ "
    }

    사용 예 :

    $show_colour "FF0088" "61E931" "1256E2"

    이것은 주어진 RGB 배경색으로 공간을 인쇄합니다. # 를 사용해서는 안됩니다.  RGB 코드에서. 나는 그것이 독자를위한 운동으로 존재한다면 그것을 제거하는 것을 남겨둔다. ☺

    이것은 터미널 에뮬레이터의 팔레트를 변경하지 않습니다.

    주의 : 터미널 에뮬레이터는직접 색상SGR 제어 시퀀스를 이해해야합니다. 많은 사람들이 있지만 rxvt-unicode가 그렇지 않다는 것을 알게 될 것입니다.

    다른 대안 :

    휴대용 setterm 사용 https://unix.stackexchange.com/a/491883/5132에서 언급했습니다. 16 진수 RGB 표기법을 이해하고 심지어 # 를 사용합니다.  표시기입니다.

    사용 예 :

    $setterm -7 --background '# FF0088';printf '';\
    >setterm -7 --background '# 61E931';printf '';\
    >setterm -7 --background '# 1256E2';printf '';\
    >setterm -7-배경 기본값;printf '\ n'

    직접 색상 SGR 제어 시퀀스를 이해하는 터미널에서 다른 예제와 동일하게 인쇄합니다.

    이전 대안과의 차이점은 setterm  또한다른터미널에서 작동합니다. 직접 색상 SGR 제어 시퀀스를 이해하지 못하는 터미널 유형에 대한 폴 백이 있습니다. 색인화 된 색상 만 이해하는 터미널 유형 (예 : 256 색만) 또는 16 개의 AIXTerm 색상 만 이해하는 터미널에서는 원하는 RGB 색상에 가장 가까운 것을 선택합니다.

    % TERM = rxvt-256color setterm -7-배경 "# FF0088"| hexdump -C
    00000000 1b 5b 34 38 3b 35 3b 31 39 38 6d |. [48;5;198m |
    0000000b
    % TERM = ansi COLORTERM = 16 색 setterm -7-배경 "# FF0088"| hexdump -C
    00000000 1b 5b 31 30 35 6d |. [105m |
    00000006
    % TERM = ansi setterm -7-배경 "# FF0088"| hexdump -C
    00000000 1b 5b 34 35 6d |. [45m |
    00000005
    %
    추가 읽기

    Jonathan de Boyne Pollard (2018). 와이즈 비즈 .노쉬 가이드. 소프트웨어.

  • 답변 # 2

    다음을 사용하여 터미널의 배경색을 변경할 수 있습니다 :

    setterm
    
    

    printf '\e]11;%s\a' '#ff0000' 와 함께 작동하는 것 같습니다 , VTE 기반 터미널 (예 : xterm ) ), gnome-terminal  그리고 konsole  적어도.

    원하는 경우 배경 이외의 다른 색상을 변경할 수도 있습니다. 색상 1을 변경하고 다음과 같이 해당 색상의 직사각형을 표시하십시오.

    rxvt
    
    

    여러 색상을 표시하려면 :

    printf '\e]4;1;%s\a\e[0;41m   \n   \n\e[m' '#ff0000'
    
    
    그래도 해당 에뮬레이터 창의 팔레트를 영구적으로 변경합니다. show_colour() { for i do printf '\e]4;%d;%s\a\e[0;48;5;%dm%s\e[m\n' "$#" "$i" "$#" "$i" shift done } show_colour black purple green '#ff0000' 사용  기본 색상을 복원합니다.

    다른 옵션을 실행할 수 있습니다 :

    tput oc
    
    

    또는

    xlogo -bg '#ff0000'
    
    
    rxvt -bg '#ff0000'

  • 이전 Arch Linux에서 X 파일을 포함 할 설치할 패키지를 어떻게 알 수 있습니까?
  • 다음 ssh - PowerShell의 "일대 다"원격과 동등한 Linux