OS X ターミナルから SSH 接続した Linux サーバー上のフルスクリーン アプリで行の最初の文字が欠落する

OS X ターミナルから SSH 接続した Linux サーバー上のフルスクリーン アプリで行の最初の文字が欠落する

ここに画像の説明を入力してくださいMac OS X Snow Leopard のターミナル アプリケーションで問題が発生しています。

ssh を使用してリモート Linux サーバーに接続し、構成ファイルの編集を実行します。

何らかの理由で、Linux サーバーに接続すると文字が抜け落ちることがあります。この問題を特定し、再現性のある方法で解決するのに苦労しましたが、残念ながら、これが私が思いついた最善の方法です。

  1. Ubuntu 8.04サーバーに接続する

  2. nano(フルスクリーンアプリ)でテキストファイルを編集する

  3. テキスト ファイルの最初の行に、行の最初の文字 (左端の文字) がありません。たとえば、テキスト ファイルに行 "asdf" が含まれている場合は、"sdf" が表示されます。

  4. カーソルをこの位置に移動すると、文字がそこに戻ります(線はnanoによって再描画されます)

  5. ターミナルアプリのウィンドウのサイズを変更しても文字が戻らない

  6. nanoで更新(CTRL+L)を押すと、文字が再び失われます。

less他のターミナル アプリでも同じ問題が発生することがあります。

この問題は Gnome ターミナルや他のターミナル アプリケーションでは再現できないため、サーバーの構成とは関係ありません。ただし、2 つの異なる OS X インストールで同じ問題が発生しているため、デフォルト設定に関連している可能性があります。

これは UTF-8 エンコードまたはターミナル設定に何らかの関連があるのではないかと疑っていますが、どの設定が原因なのかはまだわかりません。

使用される SSH クライアントは次のとおりです。

 OpenSSH_5.2p1, OpenSSL 0.9.8r 8 Feb 2011

編集:

これは実際にはローカル OSX でも再現可能であり、Ubuntu に限定されません。

Macports をインストールし (必要かどうかは不明)、次の GNU nano を使用してテキスト ファイルを編集しました::

GNU nano version 2.0.6 (compiled 11:42:28, May 18 2009)
Email: [email protected] Web: http://www.nano-editor.org/
Compiled options: --disable-nls --enable-color --enable-extra --enable-multibuffer --enable-nanorc

次の端末関連の環境変数が設定されます。

    TERM=ansi
    TERM_PROGRAM=Apple_Terminal
    TERM_PROGRAM_VERSION=273.1

Terminal.app では、エミュレーションは ansi、エンコードは UTF-8 と表示されます。

どの組み合わせがトリガーになるのかまだわかりません (どのターミナル モードかなど)

答え1

OS X ターミナル設定で発生した同様の問題を解決しました: プロファイル、詳細設定で、「ターミナルを次のように宣言」ドロップ ボックスを xterm-256color に変更しました。

答え2

あなたが説明している問題は、TERM 環境変数の値が間違っている場合によく見られます。具体的には、Ubuntu の TERM 変数の値は、OS X ターミナル アプリケーションのものとは一致しないターミナル機能のセットを選択します。

TERM が または のように設定されている場合はxterm-colorxterm-256color他の値 (たとえば、前述の 2 つのうちのもう 1 つ、またはプレーンxtermansiまたはvt220) に設定してみてください。


アップデート:

OS Xのターミナルアプリで次のコマンドを試してください

TERM=ansi nano googlef916dafa821844e0.html
TERM=vt220 nano googlef916dafa821844e0.html
TERM=xterm nano googlef916dafa821844e0.html
TERM=xterm-color nano googlef916dafa821844e0.html    
TERM=xterm-256color nano googlef916dafa821844e0.html

答え3

ターミナルにバグがあるようです。

使用をお勧めしますiTerm2 についてその代わり。

iTerm2 は、ターミナルの代替であり、iTerm の後継です。Leopard、Snow Leopard、または Lion を搭載した Mac で動作します。パフォーマンス、国際化、そして生活をより良くする革新的な機能のサポートに重点を置いています。

関連情報