256色と線画の両方の文字をPuTTYで機能させる


31

UbuntuでPuTTYを設定するのに問題があります。

256文字のサポートと同様にaptitudeでラインキャラクターを動作させようとしていますが、どちらか一方しか取得できません。

  • Ubuntu Config
    • 64ビットUbuntuの使用
    • 端末タイプxterm-256colorまたはputty-256colorは256色ですが、誤った行文字を提供します。
    • ターミナルタイプlinuxでは、適切な行が適切に表示されますが、16色しかありません。
  • PuTTY構成
    • Unicode文字でのフォントの使用。(DejaVu Sans Mono)
    • 受信データはUTF-8であると想定されます。
    • Unicodeの線画コードポイントを使用するように設定します。

からの出力locale

LANG=en_US.UTF-8
LANGUAGE=
LC_CTYPE="en_US.UTF-8"
LC_NUMERIC="en_US.UTF-8"
LC_TIME="en_US.UTF-8"
LC_COLLATE="en_US.UTF-8"
LC_MONETARY="en_US.UTF-8"
LC_MESSAGES="en_US.UTF-8"
LC_PAPER="en_US.UTF-8"
LC_NAME="en_US.UTF-8"
LC_ADDRESS="en_US.UTF-8"
LC_TELEPHONE="en_US.UTF-8"
LC_MEASUREMENT="en_US.UTF-8"
LC_IDENTIFICATION="en_US.UTF-8"
LC_ALL=

回答:


42

問題は、UTF-8モードのPuTTYが1つの VT100「代替文字セット」コマンドを無視し、ncursesがGUIの描画に「グラフィカル」文字セットを使用しようとすることです。(ボックス描画文字は、klmqx通常と同じ位置にあります。)

export NCURSES_NO_UTF8_ACS=1 ご使用の環境では、UTF-8ロケールが選択されているときに常にUnicodeボックス描画文字を使用するようにncursesに指示することにより、問題を修正する必要があります。

1このためのPuTTY ウィッシュリストエントリ、現在の動作が優れている理由の説明があります

更新(2018-05-12):この組み合わせ PuTTY 0.71でサポートれるようです。


それは面白い。線描画は常にUTF-8モードで機能するため、私はいつもLucida Consoleを使用しました。これで、はるかに優れたフォントを使用できます。ありがとう。:)
アリエル

8
代替文字セットをUTF-8に変換するプログラムを実行することでも問題が解決することを指摘したいだけです。あなたが提供したリンクからこれを見つけました。最高のプログラム例はscreenです。
スイスの

2
古い投稿を掘り下げるのではなく、KiTTY -PuTTYフォーク-は、「UTFでACSの線の描画を許可する」チェックボックスを提供します(新しい/現在のセッション設定->ウィンドウ->翻訳)。
過剰

1
@swiss:それはないscreen変換を行いいる、しかしncurses
トーマスディッキー

私はPuttyで働いており、zshを使用しています。OPと同様の問題があります。VIMでは、NERDtreeの矢印などの特定の文字が表示されていません。「export NCURSES_NO_UTF8_ACS = 1」を実行し、VIMを再度開くと、何も変わりません。矢印は表示されません。何が起こっているのでしょうか?
alpha_989

4

これは現在、PuTTY git masterのオプションとして実装されています。

パテ0.71->

カテゴリ->ウィンドウ->翻訳->「UTF-8モードでもVT100の線の描画を有効にする」にチェックマークを付けます

スクリーンショット

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