터미널에 있을 때 좋아하는 색 구성표가 있지만 여러 소스(로컬, PuTTY, 넷북 등)에서 작업 중인 컴퓨터에 SSH로 연결하고 항상 동일한 색 구성표를 유지하고 싶습니다. 가능합니까?
저는 특히 이것을 PuTTY와 함께 사용하고 싶습니다. PuTTY 색상을 변경하는 것은 어렵습니다.
답변1
터미널 색상두 단계로 결정합니다.
- 터미널에서 실행되는 프로그램은 터미널에 특정 색상 번호를 사용하도록 지시합니다.
- 터미널은 각 색상 번호를 색상 값으로 변환합니다.
Xterm에는이스케이프 시퀀스색상 번호와 연관된 색상 값을 변경합니다. PuTTY가 이 시퀀스를 지원하는지 기억이 나지 않습니다.민트하다.
set_color_value () {
printf "\\e]4;$1;$2\\a"
}
set_color_value 4 '#6495ed' # set color 4 (blue) to CornflowerBlue
이러한 설정은 터미널 재설정 후에는 유지되지 않습니다. 커서 구성 변경 시퀀스를 터미널의 재설정 문자열에 추가하면 이러한 어려움을 극복할 수 있습니다.
- ncurses를 사용하는 terminfo 기반 시스템에서는 터미널의 terminfo 설정을 .terminfo 확장자를 가진 파일에 저장합니다
infocmp >>~/etc/terminfo.txt
.rs1
(기본 재설정) 순서를 변경하려면 설명을 편집하세요 (예:rs1=\Ec
로 교체)rs1=\Ec\E]4;4;#6495ed\E\\
. 일부 프로그램과 설정을 변경rs2
(완전 재설정) 해야 할 수도 있습니다. 그런 다음 terminfo 설명을 컴파일합니다tic ~/etc/terminfo.txt
(이 설명은 디렉토리에 기록되거나$TERMINFO
설정~/.terminfo
되지 않은 경우). - termcap 기반 시스템에서는
/etc/termcap
termcap 데이터베이스에서 termcap 설정(일반적으로 )을 가져옵니다.is
(기본 재설정) 및 (전체 재설정) 시퀀스를 변경하여rs
설정을 추가합니다(예 : ):is=\Ec\Ec\E]4;4;#6495ed\E\\:
. 환경 변수를TERMCAP
편집된 값(으로 시작하고 끝남:
)으로 설정합니다.
이제 다음과 같은 내용을 다음과 같이 넣을 수 있습니다 ~/.profile
.
if [ "$(ps -p $PPID -o comm=)" = sshd ] &&
[ "$TERM" = "xterm" ]; then
set_color_value … # set color scheme
TERMCAP=… # if necessary
fi
답변2
너 ssh
지금 막 들어가고 있어하나상자 맞나요? PS1
원하는 색 구성표를 사용하도록 상자에 변수를 설정하면 어떨까요 ? 16색으로 유지하면 최신 장치에서는 문제가 되지 않습니다 TERM
. 대부분은 256색을 지원해야 하지만 대부분은 TERM=xterm-256color
기본적으로 그렇게 하지 않으며 일부는 바보입니다(기침나의 고용주기침) TERM
영숫자로만 정리되었습니다. 불행하게도 변수에 넣는 내용은 PS
사용 중인 셸에 따라 많이 달라집니다.