SSHを介して特定のサーバーにログインすると(管理者アクセス権がない)、次のエラーが発生します。 (urxvt-unicode: Unknown terminal type
また、端末の種類を永久に変更したくありません。)端末の種類によってログイン時に色が異なるため、これは重要です。
SSH経由でログインしたときに端末の種類を変更できますか?
答え1
リモートデバイスへのルートアクセス権がある場合は、このパッケージをインストールしてくださいncurses-term
。これにより、rxvt-256color
terminfoエントリが提供されます。
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/
答え2
.ssh/config に次の行を追加することもできます。
host *
SetEnv TERM=xterm
または希望の端末。
ホストごとに設定することもできます。
host foo.bar
SetEnv TERM=vt100
答え3
ログイン後、次の操作を実行できます。
export TERM=vt100
答え4
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を設定する値を編集できます。