URxvt의 색상을 변경할 수 없습니다.

URxvt의 색상을 변경할 수 없습니다.

.Xresources에 다음 줄을 추가했습니다.

urxvt.background: #0f0f0f

그리고 도망갔다 xrdb -merge .Xresources. 그런데 무슨 이유에서인지 단말기 시작시에는 색상으로 설정되어 있는데, $PS1 태그가 나타나면 배경이 검정색으로 재설정됩니다. URxvt*Background를 사용해 보았으나 작동하지 않았습니다.

이건 내 $PS1이야

reset=$(tput sgr0)
bold=$(tput bold)
    PS1="[\[$bold\]${debian_chroot:+($debian_chroot)}\[\033[01;32m\]\u@\h\[\033[00m\]:\[\033[01;34m\]\w\[\033[00m\]\[$reset\]]\$ "

그러나 일반적으로 powerline-shell에 의해 처리됩니다. 그러나 비활성화하면 여전히 색상이 재설정됩니다.

편집: 수정하여 이제 다음과 같이 보입니다.

if [ "$color_prompt" = yes ]; then
    PS1="${debian_chroot:+($debian_chroot)}\u@\h:\w\$"
else
    PS1="${debian_chroot:+($debian_chroot)}\u@\h:\w\$"
    #Default setting
    #PS1="[\]${debian_chroot:+($debian_chroot)}"
fi
unset color_prompt force_color_prompt

혹시라도 전체 코드 블록을 추가했습니다. 불행히도 색상이 여전히 재설정 중입니다.

업데이트: 배경색이 팔레트의 첫 번째 색상과 동일한 것을 확인했습니다. 어쨌든 무시할 수 있나요?

답변1

문제가 무엇인지 알아냈습니다 -

첫째 - urxvt에서는 투명도가 켜져 있으면 배경색을 변경할 수 없습니다. 자동으로 검정색으로 설정됩니다.

둘째, pywal이라는 다른 응용 프로그램이 색 구성표를 설정하고 있습니다. 배경까지 설정하고 있는 줄은 몰랐고, 미리 확인도 하지 않았습니다. 그것은 내 실수였습니다.

제가 제공할 수 있는 팁이 있다면 색 구성표를 망칠 수 있는 모든 것을 확인하고 urxvt의 투명도를 비활성화한 다음 구성 관리자를 사용하여 이를 처리하는 것입니다.

답변2

비슷한 문제가 있었고 내 해결책은 ~/.Xresources에서 투명성을 비활성화하는 것이었습니다.

URxvt.transparent: false

답변3

재설정=$(tput sgr0)

글쎄, 그게 다야. 사용하고 있는 기능 sgr0한정된모든 속성과 색상을 재설정합니다.

… \033[00m … \033[00m …

프롬프트에서 여러 번 직접 연결하기도 했습니다.

그럼 하지 마세요.

terminfo에는 굵은 글씨체 시퀀스를 재설정하는 기능이 없습니다. 하지만 ECMA-48 제어 시퀀스를 하드와이어링하고 있으므로그래도ECMA-48:1984 제어 시퀀스 CSI 2 2 m(예: \033[22m)를 하드와이어할 수도 있습니다.오직굵게 표시를 끕니다. 유니코드 RXVT가 지원됩니다.

관련 정보