나는 그것을 원한다용어 정보Linux에서 macOS로 ssh를 실행할 때 Home/End 및 기타 키가 작동하도록 터미널(rxvt-unicode)이 작동하도록 했습니다.
일반적으로 Linux 원격 호스트를 사용하여 이 작업을 수행하려면 다음과 같은 스크립트를 사용합니다.
ssh "$1" 'mkdir -p ~/.terminfo/r'
for f in /usr/share/terminfo/r/rxvt-unicode{,-256color}
do
scp "$f" "$1":.terminfo/r/
done
그러나 이는 macOS에서는 작동하지 않습니다.
을 달리면 screen
"학기가 너무 길어서 죄송합니다."라는 말이 가장 먼저 떠오릅니다.
Brew 버전(4.06.02)으로 업데이트한 후 이제 "'rxvt-unicode-256color'에 대한 terminfo 항목을 찾을 수 없습니다"라는 메시지가 나타납니다.
TERM
은(는) 으로 올바르게 설정되어 rxvt-unicode-256color
있으며 ~/.terminfo/r/rxvt-unicode-256color
존재합니다.
실행 screen
해도 TERMINFO=$HOME/.terminfo/
효과가 없습니다.
답변1
macOS와 마찬가지로 screen
이를 실행하면 다음이 드러납니다.dtruss
strace
2131/0x12997: access("/Users/vladimir/.terminfo/72/rxvt-unicode-256color\0", 0x4, 0x7FFF5F2B56EC) = -1 Err#2
어떤 이유로든 screen
단순히 첫 번째 문자 대신 첫 번째 문자의 16진수 표현을 사용하여 terminfo
디렉터리 구조를 펼치십시오.
따라서 문제를 해결하려면 다음을 실행해야 합니다.
ln -s r ~/.terminfo/72
이제 모든 것이 정상인 것 같습니다.
답변2
ncurses 목적2자파일 시스템(예: MacOS 및 OS/2)의 경우 파일 이름은 다음과 같습니다.대소변을 보존하다/대소문자를 구분하지 않음. 이 내용은 다음과 같이 기록됩니다.NEWS
문서. 그런데 Apple은 ncurses의 이전 버전(5.7)을 제공하는데, 이 버전은 이 기능을 사용할 수 있을 만큼 충분히 새로운 버전입니다.
휴대용 응용 프로그램은 터미널 데이터베이스의 특정 구성에 의존해서는 안 됩니다.
그런데 xterm-256color에 대한 현재 terminfo 항목은 색상 쌍 값이 제한을 초과하기 때문에 이전 ncurses 5.7 기본 시스템에서 잘 작동하지 않습니다. rxvt-unicode에 미치는 영향은 소스 빌드 방법에 따라 다릅니다. 이것은자주하는 질문:
ncurses 6.132767개 이상의 색상 쌍과 같은 다양한 기능에 대한 지원이 도입되었습니다. 다른 구현에서는 일반적으로 범위를 벗어난 값을 0으로 처리합니다.
답변3
infocmp
Linux 시스템에서는 패키지에서 자주 사용되는 용어 정보를 디컴파일하여 ncurses
임시 파일에 저장합니다. 그런 다음 이 파일을 Mac으로 SCP할 수 있습니다.
$ infocmp rxvt-unicode-256color > tmpterminfo
그런 다음 Mac에서 다음 명령을 사용하여 tic
파일을 컴파일하면 출력이 홈 디렉터리의 올바른 위치에 배치됩니다.
$ tic tmpterminfo
현재 최종 파일 위치는 이지만 ~/.terminfo/72/rxvt-unicode-256color
향후 변경될 수 있습니다.