バックグラウンド:
- プロンプトにユニコード文字がいくつかあります(基本的にgitステータスマーカー)
- Arch Linuxでxfceの下でurxvtを実行しています。
.Xresources行で指定された電力線フォントにDejaVu Sans Monoを使用しています。
URxvt*font: xft:DejaVu Sans Mono for Powerline:pixelsize=14
urxvtを起動すると、Unicode文字が正しくレンダリングされません。
例えば
●âとしてレンダリング
ただし、urxvt
最初のターミナル内から新しいものを起動すると、すべてが正しくレンダリングされます。
2つの端末間の環境に違いはないようです。
最初の呼び出しとネストされた呼び出しの違いは何ですか?「外側」のインスタンスではフォントが正しくないと思われますが、実行中のXウィンドウのフォントを確認する方法がわかりません
更新:xfce4のアプリランチャーでロケールが正しく設定されていないようですが、おそらく最初のターミナル内のシェルは独自のロケールを初期化するようです。つまり、両方のシェルのロケールは同じです。
追加
export LANG=en_GB.UTF-8
xfce4が開始される前の.xinitrcへの修正は、それを修正しているようです。これは正しい方法ではないと思いますが、私には十分に機能します。
スクリーンショットは問題を示しています。
注:この質問をserverfault.comから移動しました-このサイトがより適切であることを願っています
LC_ALL=ru_RU.utf8 urxvt
現在のXセッションから実行してみてください。ロシア語(およびその他のUnicode)の文字が正しくなった場合、環境がCロケールで実行されていることになります。そのため、のロケール設定を確認してくださいxfce
。たとえば、起動する場合は、の.xinitrc
ように実行する前にロケールを設定しようとしますLANG=ru_RU.utf8 exec startxfce4
。