비ASCII(utf8)를 원격 urxvt 터미널에 붙여넣기

비ASCII(utf8)를 원격 urxvt 터미널에 붙여넣기

middle button텍스트를 붙여넣으려면 urxvt/rxvt-unicode에서 기본 선택 항목 붙여넣기를 사용할 수 있습니다 .

로컬 urxvt 터미널이나 원격 서버에서도 중국어/utf8 문자열로 가운데 마우스 클릭 붙여넣기를 수행할 수 있습니다. EG 환경에서 date실행 하면 LANG=zh_CN.utf8다음과 같은 결과를 얻습니다.

$ date
2023年 03月 18日 星期六 15:01:11 EDT

그러면 마우스를 사용할 수 있어요선택하다중국어/utf8 문자열 星期六및 마우스 가운데 버튼 클릭반죽내 urxvt 터미널에(내 에코 이후) 예를 들면 다음과 같습니다.

$ echo 星期六
星期六

내 로컬 urxvt 터미널과 원격 서버에서도 마찬가지입니다. 그러나 다른 로컬 시스템이나 Oracle Cloud에 ssh를 연결한 다음 echo 星期六명령줄에 표시하는 대신 동일한 방법을 시도하면 다음과 같은 결과가 나타납니다.

여기에 이미지 설명을 입력하세요.

전체를 선택 echo 星期六하고 원격 세션으로 전달하면 로컬 시스템이나 Oracle Cloud Server에서 작동합니다.

다음은 이를 보여주는 스크린샷입니다.

여기에 이미지 설명을 입력하세요.

예를 들어

  • 중국어/utf8 문자열이 원격 urxvt 터미널에 제대로 붙여넣어지지 않습니다.
  • 그러나 중국어/utf8 문자열 앞에 일반 ASCII 문자가 오면 전체 내용을 정상적으로 붙여넣을 수 있습니다.

내 모든 환경은 모든 환경에서 동일한 구성을 가지므로 내 구성에는 로컬에서만 작동하고 원격에서는 작동하지 않는 이상한 점이 있는 것 같습니다.

(내 로컬 컴퓨터와 Oracle Cloud Server는 중국어/utf8 문자열/파일 이름을 정상적으로 표시합니다.)

고쳐 쓰다:추가 디버깅 정보

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

$ locale charmap
UTF-8

$ grep '^set.*meta' ~/.inputrc
set meta-flag on
set input-meta On
set output-meta On

어떻게 고치나요?

관련 정보