バックグラウンド:
.Xresources行で指定されたPowerjaフォントにDejaVu Sans Monoを使用しています。
URxvt*font: xft:DejaVu Sans Mono for Powerline:pixelsize=14
Urxvtを起動すると、Unicode文字が正しくレンダリングされません。
例えば
●としてレンダリング
ただし、最初のターミナル内から新しいurxvt
を開始すると、すべてが正しくレンダリングされます。
2つの端末間の環境に違いはないようです。
最初の呼び出しとネストされた呼び出しの違いは何ですか? 「外部」インスタンスではフォントが正しくないと思われますが、実行中のXウィンドウのフォントを確認する方法がわかりません
[〜#〜] update [〜#〜]:xfce4のアプリランチャーでロケールが正しく設定されていないようですが、おそらく最初のターミナル内のシェルが独自のロケールを初期化しているため、両方のシェルのロケールが同じであること。
追加
export LANG=en_GB.UTF-8
xfce4が起動する前に.xinitrcを修正すると、修正されるようです。これは正しい方法ではないと思いますが、私にとっては十分に機能します。
スクリーンショットは問題を示しています:
注:この質問をserverfault.comから移動しました-このサイトがより適切であることを願っています
問題の原因が何であるかは完全にはわかりませんが、以下の手順が役立つ場合があります。
ロケールが正しく設定されていることを確認します
$ロケール LANG = en_US.UTF-8 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 = en_US.UTF-8
/etc/locale.genで目的のロケールを有効にして、locale-gen
を実行します
$ cat /etc/locale.gen | grep UTF en_US.UTF-8 UTF-8 nb_NO.UTF-8 UTF-8 ru_RU.UTF -8 UTF-8
目的のフォントをロードできることを確認してください
$ xset + fp /usr/share/fonts/cyrillic $ fc-cache $ fc-list#チェックする
xrdb〜/ .Xdefaults
私にとっては、urxvtの電力線グリフの問題でした。ロケールをlocalectl set-locale LANG=en_AU.UTF-8
で設定すると問題が解決することを知りました。少なくともターミネスパワーラインフォントで(他のフォントは試していません)
en_US.UTF-8
では機能していませんでした。再現できるので、きっと確信しています...不思議なことですが、動作します。