欲しい用語情報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以上のカラーペアなど、さまざまな機能のサポートが導入されました。他の実装では、通常、範囲外の値をゼロとして扱います。
答え3
infocmp
Linuxシステムでは、パッケージでよく使用される用語情報をデコンパイルしてncurses
一時ファイルに保存します。その後、このファイルをMacにSCPできます。
$ infocmp rxvt-unicode-256color > tmpterminfo
その後、Macで次のコマンドを使用してtic
ファイルをコンパイルすると、出力はホームディレクトリの正しい場所に配置されます。
$ tic tmpterminfo
現在の最終ファイルの場所はですが、~/.terminfo/72/rxvt-unicode-256color
将来変更される可能性があります。