リモートマシンにSSHでアクセスできます。このマシンでは、私は実行する場合echo $TERM
、私が得ますxterm
。
端末エミュレータを他のエミュレータに変更したい場合(リモートマシンにインストールされていると仮定)、どうすればよいですか?
リモートマシンにSSHでアクセスできます。このマシンでは、私は実行する場合echo $TERM
、私が得ますxterm
。
端末エミュレータを他のエミュレータに変更したい場合(リモートマシンにインストールされていると仮定)、どうすればよいですか?
回答:
環境変数TERMの値は、サーバー(システムV、またはBSD、派生OS)によって使用され、入力がシステムによってどのように認識されるか、および出力用にどのような機能が存在するかを制御します。いくつかの端末タイプは類似しているため、それらを交換することはできますが、有用なままですが、TERMでサポートされている値で新しい接続を開くまで、システムを使用できなくなる場合もあります。たとえば、あるLinuxシステムから別のLinuxシステムでは、vt100、vt220、xtermの設定の違いはほとんどありません。ほとんどの違いは、出力の表示方法と、そのタイプの端末でカラーまたはボールドフォントを使用できるかどうかです。termcapデータベースは、さまざまな機能を備えたすべての端末タイプをリストします。
キーボードと画面が互換性のない端末タイプに切り替えない限り、問題はありません。
詳細については、システムのtermとtermcapのmanページをお読みください。
端末タイプを変更するには:
バッシュで:
export TERM=vt100
ボーンシェルまたはkshの場合:
TERM=vt100
export TERM
cshまたはtcshの場合:
setenv TERM vt100
vt100
で遊ぶのにかなり安全な端末です。これはxtermと互換性がありますが、色や太字フォントを表示せず、F *キーを認識しない可能性がありますが、vt100を使用しても実際には何も混乱させることはほとんどありません。
多くの人々は、サーバーへのログイン方法に応じてユーザーエクスペリエンスを最適化するために、個人の初期化スクリプトでターミナル検出を使用しています。たとえば、vt100を使用している場合はプレーンなPS1を設定し、xtermでbashを使用する場合はカラー変数と動的変数を使用します。
あなたの研究で頑張ってください。
あなたは誤解しています。
コンソール、ターミナル、またはローカル側のPuTTYインスタンスが実際の「ターミナルエミュレータ」ですが、現在では「ターミナル」に短縮しています。この使用法は、複数のコンソールやグラフィカルユーザー環境を使用するのではなく、実際にモニターとキーボードのターミナルを使用してメインフレームサーバーにサインオンしたときから生じています。
$ TERM変数は、リモートシステムに送信するときに、端末が理解する制御コードの種類をリモートシステムに通知するだけです(たとえば、テキストベースのメニューやlibncursesに基づくものを生成するため)。
あなたが何を達成したいのか正確にはわかりませんが、$ TERMを変更してもおそらく役に立たないでしょう。
Ubuntu 11.10
私のローカルマシンとRed Hat Enterprise Linux Server release 5.4 (Tikanga)
リモートマシン上)
$TERM
変数であるとは言わなかった。また、別の問題/質問の解決策を見つけることだけを目的としてこの質問をしているのではありません。どちらかと言えば、私の別の質問がこの質問の動機になりました。最後に、この質問をすることでターミナルエミュレータがどのように機能するかについてもっと知りたいと思っても問題はないと思います。
TERM
変数を変更する必要があることは非常にまれです。新しい端末の名前がわからない古いシステムにログインする場合は、ほとんどの場合に必要です(過去15年間に新しい端末タイプが多くないため、ほとんどの端末エミュレーターはとしてスタイルを設定していますxterm
)。TERM
端末タイプのプログラムが彼らが話していると信じているものです、それは端末が実際に何であるかを変えません。