xterm 색상이 너무 밝습니다.

xterm 색상이 너무 밝습니다.

저는 며칠 전부터 dwm을 사용하기 시작했고 터미널 에뮬레이터로 xterm(uxterm)을 사용하고 있습니다.

그러나 컬러로 출력하는 일부 응용 프로그램(예: vi/vim, ls 등)은 밝은 색상과 (때때로) 굵은 글꼴을 사용하는 것으로 나타났습니다. 내 터미널의 배경색은 어두운 파스텔이므로 색상을 일치시키고 싶습니다.

이러한 색상을 어떻게 변경할 수 있나요? #xxxxxx 색상을 사용할 수 있는 방법이 있나요?

답변1

Xterm 구성이 통과되었습니다.XResources. 기본값보다 밝은 파란색을 사용하여 검은색 바탕에 흰색으로 구성할 수 있습니다(물론 원하는 대로 색상을 조정하세요).

XTerm.VT100.background:         Black
XTerm.VT100.color0:             Black
XTerm.VT100.color1:             Red
XTerm.VT100.color2:             Green
XTerm.VT100.color3:             Yellow
XTerm.VT100.color4:             CornflowerBlue
XTerm.VT100.color5:             Magenta
XTerm.VT100.color6:             Cyan
XTerm.VT100.color7:             White
XTerm.VT100.colorBD:            White
XTerm.VT100.colorBDMode:        true
XTerm.VT100.colorUL:            Yellow
XTerm.VT100.colorULMode:        true
XTerm.VT100.cursorColor:        Red
XTerm.VT100.foreground:         White

xcolorsrgb.txt당신은 사용할/etc/X11 수 있습니다 굵게 표시되는 색상입니다. (기본값) 으로 설정 하면 이 설정이 무시되고 굵게 표시된 텍스트가 굵게 표시됩니다. , 밑줄도 마찬가지입니다. 그 이상으로 갈 수 있습니다 ( xterm 버전 및 컴파일 시간 구성에 따라 최대 또는 그 이하). through는 0-7에 해당하며 굵게 표시됩니다. 명시적으로 구성하지 않는 한 응용 프로그램은 16개 이상의 색상을 거의 사용하지 않습니다./usr/X11/usr/share/X11#RRGGBBcolorBDcolorBDModefalsecolorULcolorULModecolor8color255color8color15

이러한 설정을 이라는 파일에 넣으십시오 ~/.Xdefaults. 대부분의 시스템은 로그인할 때 이 파일을 자동으로 로드합니다. 시스템에 없는 경우 X 시작 스크립트에 다음 명령을 추가하세요.

xrdb -merge ~/.Xdefaults

배경색 17을 기준으로 전경색 42의 모양을 테스트하려면 이 터미널의 셸에서 다음 명령을 실행합니다.

printf '\033[38;5;%dm\033[48;5;%dm%s\033[0m\n' 42 17 "Hello, world."

확장된 색상 지원 없이 xterm이 컴파일된 경우 클래식 제어 시퀀스를 사용해야 합니다.

printf '\033[3%dm\033[4%dm%s\033[0m\n' 4 1 "Hello, world."

이 경우 전경색과 배경색은 0~7 범위에 있어야 합니다. xterm이 16색 지원으로 컴파일된 경우 및 를 각각 교체하여 더 밝은 버전(8-15색)을 선택하십시오 [3.[4[9[10

답변2

.Xdefaults홈 디렉터리에 있는 파일을 편집하면 됩니다 . .Xdefaults다음과 같이 다른 사람들이 사용할 수 있는 일부 설정을 시도해 볼 수 있습니다 .이것"zenburn" 어두운 색 구성표를 사용하십시오. "xterm"으로 시작하는 줄만 사용합니다. 방금 테스트했는데 uxterm이런 식으로도 작동합니다. 어떤 이유로든 이것이 작동하지 않으면 줄의 시작 부분을 "uxterm"으로 변경하십시오.

답변3

dwm을 사용하고 있다고 언급하셨으므로 다른 답변에서 언급한 것처럼 X 리소스를 그대로 두고 대신 터미널을 호출하는 명령을 수정할 수도 있습니다. 내에서는 config.h터미널 명령을 다음과 같이 수정했습니다.

static const char *termcmd[]  = { "uxterm", "+cm", "+dc", "-bg", "black", "-fg", "gold", NULL };

컬러를 가능하게 하며 블랙시드에 골드를 사용합니다.https://linux.die.net/man/1/xterm사용 가능한 옵션에 대해 알아보세요. (구성을 변경한 후에는 dwm을 다시 컴파일해야 합니다.)

답변4

긴 이야기 짧게

이 색상을 어떻게 변경할 수 있나요[?]

파일을 사용하여 이러한 색상을 변경할 수 있습니다 .Xresources.

[I] #xxxxxx 색상을 사용할 수 있는 방법이 있나요?

예. 예를 들어 (비록 나는 그것을 당신의 것으로 xterm*color1: ffa70a권장하지는 않지만 ). 다른 사양에서는 동등한 옵션을 사용할 수 있을 것 같습니다. 제 생각에는 이것이 더 읽기 쉽다고 생각합니다(특히 *NIX 시스템을 배우는 사람들의 경우 더욱 그렇습니다. 기분이 좋으면 자유롭게 사용하십시오).lightsalmonxterm*color1xterm*color1: rgb:ff/a7/0a#ffa70a

모든 색상을 기본값보다 밝게 만드는 예는 다음과 같습니다.

$ cd
$ test -f .Xresources && \
  cp .Xresources .Xresources.$(date '%s').bak \
  # backing up existing .Xresources if it exists
$ test -f .Xresources || touch .Xresources \
  # creating .Xresources if it doesn't exist

선호하는 편집기를 사용하여 편집하세요. ~/.Xresources이 예에서는 파일이 다음과 같아야 합니다.

xterm*color1: gray40
xterm*color2: red5
xterm*color3: green5
xterm*color4: yellow5
xterm*color5: magenta5
xterm*color6: cyan5
xterm*color7: white5
xterm*color8: gray50
xterm*color9: red2
xterm*color10: green2
xterm*color11: yellow2
xterm*color13: magenta2
xterm*color14: cyan2
xterm*color15: white2

달리기

$ xrdb -merge ~/.Xresources

그래서 당신의

$ xterm &

덜 밝은 것을 가져와야합니다.

나에게 매우 유용했기 때문에 TL;DR에서 리소스를 언급해야 합니다 xterm.

Thomas E. Dickey의 보이지 않는 섬: XTerm FAQ


세부 사항

@Gilles_'SO-_stop_being_evil'에 훌륭한 답변이 있습니다. 특히 printf터미널에서 색상을 미리 보는 방법과 ASCII 색상 코드를 이스케이프하는 방법에 대한 정보가 마음에 듭니다.

@Gilles의 답변은 해결책을 찾는 데 도움이 되었습니다.내 거XTerm이 너무 밝습니다. 신경 쓰이는 부분은 밝은 녹색 색상 입니다 <username>@<machine-name>. (스크린샷이 없는 이유는 댓글 {1}을 참조하세요.) 나열된 색상으로는 변경할 수 없으며 해당 정보를 어떻게 사용하는지 잘 모르겠습니다.

xterm이 16색 지원으로 컴파일된 경우 [3과 [4]를 각각 [9와 [10]]으로 바꾸십시오) 더 밝은 버전(색상 8-15)을 선택하십시오.

보러가라고 안내받았어요X.org의 문서. 이전 링크가 가리키는 경우

https://www.x.org/releases/X11R6.7.0/doc/xterm.1.html#:~:text=color0%20%28class%20Color0%29

"color0(클래스 Color0)"이 있는 페이지 부분으로 이동한 다음 Ctrl"color0(클래스 Color0)"에 대해 + 작업을 수행하지 않습니다. 문서에는 f뒤에 아무것도 나열되어 있지 않지만 읽을 수는 있습니다.color0color6color7

이는 ISO-6429 확장 색상을 지정합니다. 기본값은...

이후 색상은 @Gilles의 테이블과 일치하지만 문서에 있는 내용을 보여줍니다. 굵은 글씨로 강조하고 대괄호 안에 추가한 설명을 통해 이를 두 번째로 보는 방법을 제공하기 위해 반복합니다.

...기본값은 각각 다음과 같습니다.
검은색[중요성 color0],
레드 3[중요성 color1],
그린 3[ color2],
노란색 3[ color3],
닷지 블루 1[ color4],
    [ 알아채다 linux.die.net/man/1/xterm 그리고
                        man xterm | grep -B9 -A32 color4
      둘 다 "사용자 정의 가능한 진한 파란색"을 나열합니다.
      무엇과 일치하는가 color4.]
마젠타 3[ color5], 청록색 3[ color6], 그리고그레이 90[ color7].

이러한 명명된 색상의 RGB(또는 기타 색상 공간) 좌표를 보려면 X11조회를 사용하고, 그래도 작동하지 않으면 를 사용하세요. 나는 많은 리소스 목록을 에 보았지만 내 컴퓨터에서는(참고 2 참조) 에 있습니다.rgb.txtfind /usr/share/ -type f -name "rgb.txt" 2>&1 | grep -i "X11"find /usr/ -type f -name "rgb.txt" 2>&1 | grep -i "X11"/usr/X11R6/lib/X11/rgb.txt/usr/share/X11/rgb.txt

color8또한 이후에는 아무것도 나열되지 않지만 color14읽을 color15수는 있습니다.

굵은 속성도 활성화된 경우 ISO-6429 확장 색상을 지정합니다. 기본 리소스 값은 다음과 같습니다.
그레이 30[ color8],
빨간색[ color9],
녹색[ color10],
노란색[ color11],
스틸 블루 1[ color12],
    [ 알아채다 linux.die.net/man/1/xterm 그리고
                        man xterm | grep -m1 -B34 -A5 color15
      둘 다 "사용자 정의 가능한 밝은 파란색"을 나열합니다.
      무엇과 일치하는가 color12.]
마젠타[ color13],
파란색[ color14],
그리고하얀색[ color15].

"굵은 속성이 활성화된 경우"는 기본값을 변경하지 않는 xterm*boldMode: false.Xresources또는 .Xdefaults.

.Xresources이 모든 정보를 바탕으로 홈 디렉터리( cd; )에 파일을 생성하여 touch .Xresources너무 밝은 녹색 문제를 해결할 수 있었습니다. 추천하지 않는다는 글을 어딘가에서 .Xdefaults읽었기 때문에 대신 이것을 선택했습니다 . .Xdefaults안타깝게도 이에 대한 출처가 없습니다. 그런 다음 이 줄을 추가했습니다.

xterm*color10: green2

( green2더 밝게, green더 밝게 green3)

그리고 달리는 중

xrdb -merge ~/.Xresources

굵은 색상을 덜 밝게 만들려면 다음 .Xresources색상을 사용하세요.

xterm*color8: gray20
xterm*color9: red2
xterm*color10: green2
xterm*color11: yellow2
xterm*color13: magenta2
xterm*color14: cyan2
xterm*color15: white2

너도 할 수 있어모든 것다른 색상 쌍과 같은 xterm*color3: green3작업을 수행하여 밝기를 줄입니다 .xterm*color10:green6

#xxxxxx16진수( ) 및 RGB 10진수 값을 사용할 수도 있습니다 . 다른 색상 사양도 사용할 수 있다는 것은 의심의 여지가 없습니다. 따라서 귀하의 질문에 대답하려면 다음을 수행하십시오.

이러한 색상을 어떻게 변경할 수 있나요? #xxxxxx 색상을 사용할 수 있는 방법이 있나요?

파일을 사용하여 이러한 색상을 변경할 수 있습니다 .Xresources.

그리고

#xxxxxx다음과 같은 색상을 사용할 수 있습니다 .xterm*color10: #00ee00

(각기).


노트:
{1} 스크린샷을 게시하고 싶었으나 현재(2021년 12월 23일) StackExchange 웹사이트에서 첨부된 이미지를 처리하는 데 문제가 있는 것 같고, Wayback Machine에서 백업을 가져올 수 없습니다.
{2}다음 명령과 출력은 내 컴퓨터 정보를 표시합니다. 저는 RHEL 8을 실행 중입니다. RHEL은오른쪽편집하다시간존재하다두번째기업우리 안에.

$ uname -a
Linux MYMACHINE 4.18.0-240.10.1.el8_3.x86_64 #1 SMP Wed Dec 16 03:30:52 EST 2020 x86_64 x86_64 x86_64 GNU/Linux

기타 유용한 리소스:
색상 이름 및 색상 공간에서의 위치
color[1]?[0-9]특정 요인이 어떤 영향을 미치는지 설명하는 유용한 설명이 포함된 SO 답변
ArchLinux: Xdefault 터미널 색상 이해하기
xterm에서 colors[0..15]를 사용하는 것은 무엇입니까? 애플리케이션별 .xresources 예
AstroBetter - xTerm 및 터미널 사용자 정의: 색상LS_COLORS, 이러한 작업을 시도하기 전에 환경 변수를 주의 깊게 백업하십시오 echo $LS_COLORS > ~/.env_LS_COLORS.$(date +'%s').bak.
내가 사용한 것과 매우 가깝습니다., 내가 한 것처럼 이렇게 하면 굵게 표시가 비활성화됩니다.
아마도 가장 유용할 것입니다:Thomas E. Dickey의 보이지 않는 섬: XTerm FAQ

관련 정보