데비안 8 터미널 디스플레이 프레임 문자를 만드는 방법은 무엇입니까? [폐쇄]

데비안 8 터미널 디스플레이 프레임 문자를 만드는 방법은 무엇입니까? [폐쇄]

방금 새로 설치를 통해 Debian 8로 업그레이드했는데 터미널 프롬프트( prompt adam2 8bitZSH 사용)가 더 이상 특정 문자를 올바르게 표시하지 않습니다. 유니코드 문자 누락

$TERM터미널 인코딩(유니코드 UTF-8로 설정)과 환경 변수(xterm-256color)는 물론 여러 터미널 에뮬레이터와 글꼴을 확인했지만 실제 유니코드 문자를 제공하는 것 하나도 없는 것 같습니다. 또, .zshrc발송 후 완전히 알몸이 된 경우에도 이런 현상이 발생합니다.

    $ autoload -Uz promptinit
    $ promptinit
    $ prompt adam2 8bit

터미널로 가세요. 내 locale독서

    LANG=en_US.utf8
    LANGUAGE=
    LC_CTYPE="en_US.utf8"
    LC_NUMERIC="en_US.utf8"
    LC_TIME="en_US.utf8"
    LC_COLLATE="en_US.utf8"
    LC_MONETARY="en_US.utf8"
    LC_MESSAGES="en_US.utf8"
    LC_PAPER="en_US.utf8"
    LC_NAME="en_US.utf8"
    LC_ADDRESS="en_US.utf8"
    LC_TELEPHONE="en_US.utf8"
    LC_MEASUREMENT="en_US.utf8"
    LC_IDENTIFICATION="en_US.utf8"
    LC_ALL=

답변1

이는 변수에 문제가 있을 가능성이 높습니다 $PS1. 변수 $PS1는 파일에 정의되어 있습니다 zshrc. 이 파일은 프롬프트가 생성될 경우 인코딩(ASCII인 것으로 추정) 정보를 저장하는 /etc/zshrc 변수 에 있습니다 . 가장 먼저 해야 할 일은 현재 상황을 살펴보는 것입니다. 이렇게하려면 터미널에 입력하십시오. 데비안 8 표준 프롬프트$PS1
$PS1echo $PS1ZTE예 , 호스트 이름이 무엇이든 %m%#동일합니다 (제 프롬프트는 입니다 ). 이상한 터미널 프롬프트의 원인은 엉망인 변수일 가능성이 높 으므로 터미널에서 기본 Debian 8 ZSH 프롬프트 유형 으로 다시 변경하십시오 ... 이것은 일시적이며 프롬프트는 종료할 때마다 문자가 재설정된다는 점을 기억하십시오. 터미널. 이 변경 사항을 영구적으로 적용하려면 파일을 열고 추가하세요 . 터미널을 닫았다가 다시 열려면 입력하세요 . 새로운 고정 터미널 프롬프트가 표시되어야 합니다.hostname%localhost%$PS1PS1="%m%#"/etc/zshrc
PS1="%m%#"
exit

메모

이 지침은 다음에 적용됩니다.ZTE,아니요 세게 때리다! Debian 8에서 bash의 기본 프롬프트 \u@\H: \w $는 다음과 같습니다 username@hostname: ~ $(만약 해당 디렉토리에 있었다면 /bin프롬프트는 다음과 같을 것입니다 bradleysadowsky@localhost: /bin $). ZSH 프롬프트의 문자는 bash 프롬프트의 문자와 매우 다릅니다. Bash에는 ZSH에 없는 문자가 있으며 그 반대도 마찬가지입니다. 또 다른 주요 차이점은 (대부분) bash 특수 $PS1문자는 \백슬래시( )로 시작하는 반면 ZSH에서는(대부분) 특수 $PS1문자가 퍼센트 기호( %)로 시작한다는 것입니다. 더 유용한 ZSH 이스케이프 문자의 자세한 목록을 보려면 다음 사이트를 방문하세요.이것웹 페이지. bash의 변수와 bash의 일부 이스케이프 문자에 대한 포괄적인 가이드를 보려면 $PS1다음을 방문하세요.이것웹 페이지.

마침내

자신만의 프롬프트를 설정하려면 이 이스케이프 문자를 원하는 방식으로 조합하고 /etc/zshrc를 편집하여 프롬프트를 추가하면 됩니다. 유용하고 아름다운 ZSH에 대한 좋은 팁은 [%n@%m] %~>와 동등하다는 것 입니다 [username@hostname] ~>. 따라서 저에게는 (제가 주변에 있었다면 /bin) 입니다 [bradleysadowsky@localhost] /bin>.

관련 정보