Contexte:
J'utilise la police DejaVu Sans Mono for Powerline, spécifiée via la ligne .Xresources:
URxvt*font: xft:DejaVu Sans Mono for Powerline:pixelsize=14
Lorsque je lance urxvt, les caractères unicode ne sont pas restitués correctement.
Par exemple
● rend comme â
Cependant, si je lance un nouveau urxvt
depuis le premier terminal, tout est rendu correctement.
Il ne semble pas y avoir de différence d’environnement entre les deux terminaux.
Quelle pourrait être la différence entre la première invocation et l'invocation imbriquée? Je soupçonne que la police n'est pas correcte dans l'instance 'externe', mais je ne sais pas comment vérifier la police d'une fenêtre X en cours d'exécution
UPDATE: Il semble que les paramètres régionaux ne soient pas correctement configurés dans le lanceur d'applications pour xfce4, mais le shell situé à l'intérieur du premier terminal possède ses propres paramètres régionaux, ce qui signifie que les deux environnements ont les mêmes paramètres régionaux.
ajouter
export LANG=en_GB.UTF-8
.xinitrc avant que xfce4 ne soit démarré semble résoudre le problème. Je soupçonne que ce n'est pas correct , mais cela fonctionne assez bien pour moi.
capture d'écran illustre le problème:
Remarque: j'ai déplacé cette question de serverfault.com - j'espère que ce site est plus approprié
Je ne suis pas tout à fait certain de la cause du problème, mais les étapes ci-dessous pourraient aider:
Confirmez que les paramètres régionaux sont configurés correctement
$ locale 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
Activez les paramètres régionaux souhaités dans /etc/locale.gen et exécutez 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
Assurez-vous que la police souhaitée peut être chargée
$ xset + fp /usr/share/fonts/cyrillic $ fc-cache $ fc-list # à vérifier
xrdb ~/.Xdefaults
Pour moi, c’était un problème avec les glyphes sur courant porteur dans urxvt. Je viens de découvrir que définir les paramètres régionaux avec localectl set-locale LANG=en_AU.UTF-8
corrige le problème pour moi, avec au moins la police terminess powerline (je n'ai pas essayé d'autres polices).
Cela ne fonctionnait pas avec en_US.UTF-8
, je suis assez sûr car je peux le reproduire ... maintenant c'est étrange ... mais cela fonctionne maintenant.