UTF-8로 마이그레이션한 후 SSH에서 Linux xterm/rxvt/console 관련 문제

UTF-8로 마이그레이션한 후 SSH에서 Linux xterm/rxvt/console 관련 문제

저는 bash를 사용하고 권장 UTF-8로 마이그레이션하는 데 계속 문제가 발생한 이후로 Latin1 인코딩을 사용해 왔습니다. 결국 포기하고 모든 것을 UTF-8로 마이그레이션하고 있습니다. 얼마나 고통스러운지...

rxvtall 및 urxvtSSH를 사용할 때 특정 문제가 발생했습니다 xterm. 내 원격 프롬프트는 다음과 같이 설정되어 있습니다.

 PS1="\033[32m\[\h:\W> \]\033[0m"

이것은 다음과 같은 멋진 녹색을 보여줍니다.

 MyBox:~> 

utf-8(모든 언어 및 로케일부터 까지)로 마이그레이션 en_US한 후 줄의 화살표(뒤로/앞으로 기록) 와 위치가 추적되지 않는다는 오류 (힌트 깨기, 잘못된 문자 제거 등)가 en_US.UTF-8발생했습니다 . 정말 엉망이군요. 예:UPDOWNDELBS

Orion:~> ssh [email protected]...
Last login: Sat Oct  3 13:47:42 2020 from NNN.NNN.NNN.NNN
MyBox:~> ls
amp/  ap/  bin/  phantomjs/  varios/
MyBox:~> 

UP기록을 여러 번 다시 클릭하면 다음과 같이 표시됩니다.

MyBox:~vi .basrc

바꾸다

MyBox:~> vi .basrc

그래서 일부 캐릭터가 사라졌습니다. 예를 들어 이렇게 하면 명령줄 편집이 엉망이 됩니다.

~/.inputrc원격 SSH 시스템에서 파일을 조작해 보았 으나 성공하지 못했습니다. 단축키가 맞는 것 같습니다.

어떤 아이디어가 있나요?

답변1

프롬프트를 잘못 설정했습니다. \[...섹션에는 \]다음이 포함되어야 합니다.아니요- 인쇄 문자가 있지만 귀하의 문자에는 인쇄 문자만 포함되어 있습니다. (이것은 Latin1 및 UTF-8과 아무 관련이 없으므로 알고 있어도 안전하다고 느낄 수 있습니다.)

이 시도

PS1="\[\033[32m\]\h:\W> \[\033[0m\]"

자세한 내용은 PROMPTING쉘 매뉴얼의 섹션을 참조하십시오(내 경우에는).man bash

관련 정보