SSH経由でのログインに使用する端末タイプを変更できますか?


8

SSHを介して特定のサーバーにログインすると(管理者アクセス権がないため)、次のエラーが発生しますurxvt-unicode: Unknown terminal type(端末タイプを永久に変更したくありません)。ログインすると、端末のタイプによって色が異なるので、重要です。

SSH経由でログを記録するときに、端末タイプを変更することはできますか?

回答:


7

リモートボックスへのrootアクセス権がある場合は、パッケージをインストールしますncurses-term。これにより、rxvt-256colorterminfoエントリが提供されます。

非rootユーザーとして、rxvt terminfoエントリーを$HOME/.terminfo/r/リモートマシンにコピーしてエクスポートすることもできます TERMINFO=$HOME/.terminfo

ssh <host> 'mkdir -p .terminfo/r'
scp /usr/share/terminfo/r/rxvt-unicode-256color <host>:~/.terminfo/r/

には何もありません/usr/share/terminfo/
OndraŽižka18年


2

sshdプロセス(sshd(8)から)は...

6.   Reads the file ~/.ssh/environment, if it exists, and users are
allowed to change their environment.  See the PermitUserEnvironment 
option in sshd_config(5).

そして

8.   If ~/.ssh/rc exists, runs it; else if /etc/ssh/sshrc exists, 
runs it; otherwise runs xauth.  The “rc” files are given the X11 
authentication protocol and cookie in standard input.  See SSHRC, below.

~/.ssh/rcこのファイルはシェルのプロファイルの前に読み込まれるため、TERMの値を設定するために編集する必要があるかもしれません。


1

通常TERM、ローカル環境から変更されずにリモート環境に渡されます。をTERM呼び出すときにローカル側で設定すると、ssh必要なことが実行されます。

たとえば、リモートエンドにrxvt(ではなくrxvt-unicode)の端末記述がある場合、それはファンクションキーなどで十分に機能します。

bashまたはPOSIX準拠のシェルを想定すると、次のようにできます。

TERM=rxvt ssh リモートホスト

この方法で実行すると、sshローカル環境ではなく、コマンドにのみ影響します。この機能は、の説明がない一般的なマシンを処理するために使用しscreen.xterm-newます。リモートマシンによっては、完全なターミナルデータベースにインストールできる適切なパッケージがある場合とない場合があります。一部(SolarisやFreeBSDなど)には回避策が必要です。

参考文献:

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.