Windows 7 PCからSSH経由でUbuntuサーバーに PuTTY を使用して接続すると、画面エラーが発生します。
つまりそれ:
端末とMac OS XからのSHHを使用して同じUbuntuサーバーに接続しましたが、これらの画面が文字化けしません(つまり、すべてが正常に動作します)。私はすでにPuTTY内のフォント設定を試し、Courier NewからConsolasに変更しましたが、運がありませんでした。
私の質問は次のとおりです:
PuTTYを構成して、特殊な文字を正しく表示し、画面の線を二重に描画/上書きしないようにするにはどうすればよいですか?
あなたはほぼ間違いなく あなたのPuTTY設定 で間違った文字セットを設定しました。
次のコマンドを実行して、リモートシステムの文字セットを確認します。
locale
これは次のようなものを返すはずです:
LANG=de_DE.UTF-8
LC_CTYPE="de_DE.UTF-8"
LC_NUMERIC="de_DE.UTF-8"
LC_TIME="de_DE.UTF-8"
LC_COLLATE="de_DE.UTF-8"
LC_MONETARY="de_DE.UTF-8"
LC_MESSAGES="de_DE.UTF-8"
LC_PAPER="de_DE.UTF-8"
LC_NAME="de_DE.UTF-8"
LC_ADDRESS="de_DE.UTF-8"
LC_TELEPHONE="de_DE.UTF-8"
LC_MEASUREMENT="de_DE.UTF-8"
LC_IDENTIFICATION="de_DE.UTF-8"
LC_ALL=
TranslationでPuTTY設定を確認し、UTF-8
文字セットとして設定します。
線の描画設定も微調整する必要があるかもしれませんが、おそらくそうではありません。
文字セットとしてUTF-8を使用していても、Debianのaptitude
プログラムに問題がありました。私にとってうまくいったのは、「接続」>「データ」>「端末タイプ文字列」を「xterm」ではなく「PuTTY」に設定することでした-明らかにPuTTYは文字シーケンスを無視して描画モードに切り替えます: http:// www .chiark.greenend.org.uk /〜sgtatham/PuTTY/wishlist/utf8-plus-vt100.html
また、UTF-8が適切に構成されていない場合は、mc -acとして実行できます。
クレジット: http://blog.acsystem.sk/linux/midnight-commander-utf8-line-drawing-characters-problem
ここと他の多くの場所で説明されているように、2つの基本的な要素は、PuTTYのWindow/Translation UTF-8とLinuxのロケール設定です。
さらに、PuTTYでConnection/Data/Terminal-type文字列をPuTTYに設定すると、Linuxで役立つ場合があります。 export NCURSES_NO_UTF8_ACS=1
。これら2つは、複数の場所で言及されています。
ただし、CourierやLucida ConsoleなどのデフォルトのフォントにはすべてのUnicode文字がないため、特定の文字のブロックが引き続き表示される場合があります。 http://dejavu-fonts.org/wiki/Download をダウンロードしてインストールし、それを使用するようにPuTTYを設定します。
この最後のトリックは、すべてのグラフィック文字を表示するためにnoping
(推奨!)を取得するために必要でした。
15年後、私はもう一度イライラして、もう一度ググって、これを見つけて選びました
設定の変更→ウィンドウ→翻訳→リモート文字セット→「フォントエンコーディングの使用」
そしてそれはそれを修正しました。
私の場合(Ubuntu 14.04)、問題は欠落が原因でした
UsePAM yes
/ etc/ssh/sshd_configの/etc/pam.d/sshdとしてのエントリpam構成は、デフォルトで/ etc/default/localeをユーザー環境にロードする責任があります。
ここで終わるすべての貧しい古いVMSの人のために:
PuTTY→ウィンドウ→翻訳→リモート文字セット→DEC-MCS
私のために働いた。
私はDockerマシン(ロケールとシステム管理者によってセットアップされたマシンの両方)を使用するときに、このための多くの解決策を探していました。私のPuTTYではすべてが問題なく(私はUTF-8
を持っていました)、他のSSHクライアントも使用しており、まったく同じ問題がありました。
ランニング:
mc -ac
問題を解決していましたが(完全ではありません)、完全な解決策を探していました。
多くの提案を読んだ後、私は最終的に私の問題を解決するものを見つけました。
ターミナルで実行すると:
locale
設定したロケールを確認します。デフォルトではC
ロケールでした。
インストールされているすべてのロケールを確認するには、locale -a
を実行します
私は例えば:
C
C.UTF-8
POSIX
デフォルトでは。
解決策は、次のようにC.UTF-8
ロケールでLANG
変数をエクスポートすることです。
export LANG="C.UTF-8"
.bashrc
に追加して、プロファイルに自動的に設定することもできます。
Window→Translationページで、文字セットを次のように設定する必要がありました。
ISO-8859-1:1998(ラテン-1、西ヨーロッパ)
その後、その時だけ、線画文字が正しく表示されました。
Powerbroker/pbis/likewise認証を使用するホストに影響を与える可能性のあるpamに関連する別の理由。
「lsass」が発生した場合のgrep /etc/pam.d:
grep -r lsass /etc/pam.d
次のような出力が表示される場合:
/etc/pam.d/common-session:session sufficient pam_lsass.so
それはおそらく問題の根本的な原因です。迅速な修正は、pam_lsassモジュールの横にある「十分」を「オプション」に置き換えることです。
/etc/pam.d/common-session:session optional pam_lsass.so
/etc/pam.d/common-session(または同様のエントリを持つ他のファイル-それらのいくつかは存在する可能性があります)は、pam_envがロードされる前に/etc/pam.d/sshdによってインクルードされるため、pamモジュールの処理が終了した場合pam_envになる前に、/ etc/default/localeがユーザー環境に読み込まれず、文字化けが発生します。
この方法でmcを実行すると(ロケールをenに設定)、私にとってはうまくいきます。
$ LC_ALL=en mc
私にとってうまくいったのは、「接続、データ、端末タイプの文字列= ansi」と「ウィンドウ、翻訳、リモート文字セット=フォントエンコーディングを使用する」、そしてset TERM=ansi
UNIX側。
PS。 MS-Wordを使用せざるを得ない場合は、スマートクオートをオフにしてください。
私の問題は、PuTTYがUTF-8として構成されているが、リモートシステムはISO-8859-1であるということでした。
西ヨーロッパなので、PuTTYでそれを変更し、何も問題なく動作しました。