Mountain Lion Terminalアプリはどの端末をエミュレートしていますか?


3

私は最近10.6から10.8に移行しました。私が使う Terminal TERM変数が次のようになっていることが確認されているさまざまなLinuxボックスに接続します。 xterm-color。これはTERMの10.6設定と一致しているようです。

しかし、アップグレードしてから、私は私に問題がありました。 Terminal セッションを80x24よりも広いサイズに変更する場合通常、非常に長い行のテキストは80列で折り返されるように見えます まで サイズを変更したところ、正しく表示されました。つまり、より大きな幅を期待して何かを表示した後でサイズ変更が行われるまで、幅は最後のサイズで固定されている(前の幅ですべてをラップする)ようです。

このような感じは、[n] cursesのエントリが xterm-color 変更された(変更されていない)か、それとも terminal 実際にはエミュレートしていません xterm-color デバイス。プレーンを指定した場合の動作は異なります(おそらくより良いです - 私はまだ評価中です) xterm

Mountain Lionのを使用するときTERMのためのより良い設定はありますか Terminal


それは端末のバグかもしれません。 iTerm 2を試したことがありますか( iterm2.com )?それは端末が提供しないいくつかの素晴らしい機能を持っています。それがAppleのTerminal.appと同じように振る舞うなら、それはおそらくあなたのログインファイルの一つ(.profile、.bashrc、.zshrcなど...現在のシェルに依存する)の設定です。
Ɱark Ƭ

1
と言っています私は他の人々のマシンの世話をするときに私が自分でつまずくことがないように非在庫品の使用を避けてきましたコーチで "もの;-)
jhfrontz

回答:


7

多くの端末エミュレータと同様に、TerminalはほとんどのVT100に加えて、より新しい端末からのいくつかの機能、そしてxtermや他のエミュレータからのいくつかの一般的な拡張をエミュレートします。

Terminalに正確に対応するterminfoファイルはありませんが、最も近いものは以前は xterm-colorこれは、xtermの古いバージョンを表しています。しかし、最近のバージョンではTerminalはxtermともっと完全に互換性があります。 xterm-256color の新しいデフォルト値です。 TERM 環境変数

設定>設定> [プロフィール]>詳細>エミュレーション ポップアップメニューがあります 端末を次のように宣言します。 の値を設定します TERM (そしてそれがすべてである - それはターミナルがサポートするどの機能も変えない)。古いバージョンのOSからアップグレードしたMacを使用している場合は、新しい推奨デフォルトに合わせて設定を更新する必要があるかもしれません。 xterm-color。を使う xterm-color これは推奨されていませんし、ターミナルの現在の機能セットに匹敵するものではないので問題を引き起こす可能性があります。

ncursesのインストールにはすべてのterminfoファイルを含めるべきであるという事実にもかかわらず、Linuxディストリビューションの中には含まないものがあり、特にそれらのいくつかは省略します。 xterm-256color。このような場合、プログラムはそれを見つけることができないことについてさまざまな方法で文句を言うでしょう、そして解決策はterminfoファイルのセット全体、または少なくともすべてのxtermファイルをインストールすることです。

もし xterm-256color 利用できない、次に良いことは xterm-16color、 に続く xterm。これら3つは互換性があり、サポートされている色の数を減らして現在のxtermバージョンを表します( xterm 多くのプログラムは単にそれを無視し、16がサポートされていると仮定していますが、8つの基本的なANSIカラーのみを宣言していますが、 xterm-16color 16色のサポートを明示的に宣言したい場合に選択します。

あなたが目にしている問題を引き起こしている可能性があるものを正確に言うことは難しいです、しかし試みるべき最初の事は実行することです infocmp それが何を言っているかを見るためにリモートホスト上でコマンドを実行してください。それはどのterminfoがそれを期待しているのか、そしてそれが見つかったのかどうかを教えてくれます。

それが一般的なncursesまたはterminfoの問題であれば、それはvimのような他のプログラムと一緒に起こる可能性があります。たとえば、動作を比較するために、vim以下を実行してみてください。あなたがやる気を感じているなら、あなたはvttestを実行することができます http://invisible-island.net/vttest/ リモートホスト上で、ターミナルがテキスト属性の描画、表示サイズの変更、代替画面への切り替え、および代替画面からの切り替えのテストに適切に応答することを確認します。

端末ウィンドウのサイズを変更すると、端末プログラムはttyデバイスに通知します。 SIGWINCH それに接続されたプロセスへのシグナル。プログラムはシグナルに適切に対応する責任があります。テストすることの1つは LINES そして COLUMNS ターミナルウィンドウのサイズを変更すると、変数はbashで更新されます。それが機能している場合、シグナルメカニズムは正しく動作しています。

別の可能性は、プログラムが代替画面との間で正しく切り替えを行わないことです(これは互換性のないterminfoが選択されていることが原因である可能性があります)。あなたはチェックすることができます 表示>代替画面の表示/非表示 現在アクティブな画面を確認するためのメニュー項目。間違った画面が表示されている場合は、メニュー項目を使って手動で切り替えて問題が解決するかどうかを確認してください。


Aha、デフォルトのTERM設定が変更されたことに気付きませんでした。 設定 私は長い間使ってきましたが、それでも古い/ ML以前のデフォルト値にとどまっていました。ありがとうございます。
jhfrontz
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.