fbterm의 일광 색상 구성표는 무엇입니까?

fbterm의 일광 색상 구성표는 무엇입니까?

일광 색상 구성표로 설치 fbterm하고 사용해 보았습니다. 이에 대한 정보를 찾을 수 없습니다. 내 색상이 추가되었으며 .Xresourcesxterm에서 작동합니다. 프레임버퍼에서 이 색 구성표를 사용할 수 있는 방법이 있나요?

답변1

이든...

응, 그런 것 같아가능한, 내가 지적했듯이 이스케이프 시퀀스를 사용하여 이를 수행하는 것은 다른 터미널에서 가능합니다.LXTerminal에서 태양열화 구성표 설정.

아니요, 아무도 없는 것 같아요구현이는 다음에 설명된 대로 바로 사용할 수 있는 양식입니다.콘솔의 256색(tty), fbterm 개발자는 xterm과 다른 이스케이프 시퀀스를 사용하기로 결정했습니다.

그러나 페이지에는 작동한다고 주장하는 구성이 있습니다.도트 파일/.dircolors-fbterm, 하지만 git 저장소에서 fbterm의 터미널 설명을 읽어보세요(https://github.com/izmntuk/fbtermdircolors), 해당 이스케이프 시퀀스를 생성하기 위해 수정된 버전에 의존하는 것으로 보입니다.

GNU는 하드 코딩된 이스케이프 시퀀스인 terminfo(또는 termcap) 데이터베이스를 사용 ls하지 않으므로 이러한 프로그램에서 fbterm 색상을 성공적으로 사용하려면 약간의 조정이 필요합니다. dircolors예를 들어, Fedora나 Debian/testing에서는 이것을 볼 수 없습니다. 제대로 작동하지 않을 수 있는 기타 임시 하드코딩된 애플리케이션에는 GNU grep 및 groff가 포함됩니다. 일부 응용 프로그램은 터미널 데이터베이스를 무시하므로 이는 사례별로 처리해야 합니다.

색상 정의가 다른 터미널과 다르기 때문에 다른 응용 프로그램과 함께 사용하려면 fbterm과 함께 제공되는 터미널 설명을 설치해야 합니다(현재 ncurses에는 없음). 이는 를 통해 수행됩니다 tic.

터미널 설명에서는 비표준 이스케이프만 사용하여 색상을 설정하지만 소스 코드(vterm_action.cpp)는 하위 집합으로 8가지 ANSI 색상에도 적용할 수 있음을 의미합니다. 그러나 Solarized는 8가지 이상의 색상을 사용합니다. GNU ls에 Solarized를 제공하려면 몇 가지 작업을 수행해야 합니다(아무도 수행하지 않은 것 같습니다).

이전의 모든 내용은 사용자가 이미 설정했다고 가정합니다.색상 팔레트Solarized 테마에 맞춰서 사용하고 싶습니다. 스크립트를 수정할 수 있습니다벤틀리/solarized-termcolor-osc4fbterm 터미널 설명에 이스케이프 시퀀스를 사용하고 그런 식으로 작동하도록 하세요. 이 작업은 다음 줄에서 수행됩니다.

printf "\x1b]4;$ANSI;rgb:${RGB}\a"

이것은 하드코딩되어 있습니다. 그들이 그것을 사용했다면 tput관련된 작업은 없었을 것입니다. 터미널은 다음과 같이 설명됩니다.fbterm 설명하다

initc=\E[3;%p1%d;%p2%d;%p3%d;%p4%d},

여기서(이 스크립트는/본문 전체에서)는 진술에 해당합니다.

printf '\033[3;%d;%d;%d;%d}' $ANSI $R $G $B

변수를 설정하는 스크립트를 작성하는 경우오른쪽편집하다,G렌과두번째루. 이러한 포함된 /문자를 변경하기 위해 수정하면 ;printf는 다음과 같이 기존 스크립트에 맞습니다.

    printf '\033[3;%d;%s}' $ANSI "$RGB"

그러나 이러한 내장된 세미콜론으로 인해 각 호출의 매개변수 주위에 따옴표를 추가해야 합니다 cset.

답변2

정말?투표가 없나요? 나 하다이 스크립트를 사용하세요그리고"정답"으로 간주됩니다. 뭐하세요?


집중@토마스 디키의에 대해 대답하다일광욕 스크립트

fbterm의 initc목적십진수 값아니요16진수 값따라서 대부분을 다시 작성해야 합니다. 완료되면 다음 명령을 사용하여 다른 스크립트(예: /etc/profile 또는 ~/.bashrc)에서 호출됩니다.

. solarized-fbterm.sh

운 좋게도 나는 이것을했습니다 solarized-fbterm.sh:

#!/bin/bash
#
# Author: [email protected] (Paul Wratt)
# Original: [email protected] (Benjamin Staffin)
# Set your fbterm's color palette to match the Solarized color scheme by
# using escape sequences. fbterm uses decimal values not hex values.
#

set -o nounset

base03="0;43;54"
base02="7;54;66"
base01="88;110;117"
base00="101;123;131"
base0="131;148;150"
base1="147;161;161"
base2="238;232;213"
base3="253;246;227"
yellow="181;137;0"
orange="203;75;22"
red="220;50;47"
magenta="211;54;130"
violet="108;113;196"
blue="38;139;210"
cyan="42;161;152"
green="133;153;0"

printf "\033[3;234;$base03}\033[3;235;$base02}\033[3;240;$base01}\033[3;241;$base00}\033[3;244;$base0}\033[3;245;$base1}\033[3;254;$base2}\033[3;230;$base3}\033[3;136;$yellow}\033[3;166;$orange}\033[3;160;$red}\033[3;125;$magenta}\033[3;61;$violet}\033[3;33;$blue}\033[3;37;$cyan}\033[3;64;$green}"

function cset() {
  ANSI=$1
  RGB=$2
  printf "\033[3;%d;%s}" $ANSI "$RGB"
}

#black
cset 0 $base02
cset 8 $base03

#red
cset 1 $red
cset 9 $orange

#green
cset 2 $green
cset 10 $base01

#yellow
cset 3 $yellow
cset 11 $base00

#blue
cset 4 $blue
cset 12 $base0

#magenta
cset 5 $magenta
cset 13 $violet

#cyan
cset 6 $cyan
cset 14 $base1

#white
cset 7 $base2
cset 15 $base3

관련 정보