Contexte:
- J'ai des caractères Unicode dans mon invite (marqueurs d'état git essentiellement)
- J'utilise urxvt sous xfce sur arch linux.
J'utilise DejaVu Sans Mono pour la police Powerline, spécifiée via la ligne .Xresources:
URxvt*font: xft:DejaVu Sans Mono for Powerline:pixelsize=14
Lorsque je démarre urxvt, les caractères unicode ne s'affichent pas correctement.
Par exemple
● s'affiche comme â
Cependant, si je démarre ensuite un nouveau urxvt
depuis l'intérieur du premier terminal, tout s'affiche correctement.
Il ne semble pas y avoir de différence dans l'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
MISE À JOUR : Il semble que les paramètres régionaux ne soient pas correctement configurés dans le lanceur d'applications pour xfce4, mais il est probable que le shell à l'intérieur du premier terminal ait ses propres paramètres régionaux, ce qui signifie que les deux shells ont les mêmes paramètres régionaux.
ajouter
export LANG=en_GB.UTF-8
à .xinitrc avant le démarrage de xfce4 semble le corriger. Je soupçonne que ce n'est pas la bonne façon, mais cela fonctionne assez bien pour moi.
La capture d'écran montre le problème:
Remarque: j'ai déplacé cette question de serverfault.com - j'espère que ce site est plus approprié
LC_ALL=ru_RU.utf8 urxvt
partir de la session X actuelle. Si les caractères russes (et autres Unicode) sont devenus corrects, vous êtes dans le cas où votre environnement a été exécuté sous l'environnement local C. Vérifiez donc les paramètres régionaux pourxfce
. Par exemple, si vous le démarrez,.xinitrc
essayez de définir les paramètres régionaux avant de l'exécuter commeLANG=ru_RU.utf8 exec startxfce4
.Réponses:
Je ne suis pas entièrement certain de la cause du problème, mais les étapes ci-dessous peuvent vous aider:
Confirmez que les paramètres régionaux sont correctement configurés
Activez les paramètres régionaux souhaités dans /etc/locale.gen et exécutez
locale-gen
Assurez-vous que la police souhaitée peut être chargée
la source
URxvt.letterSpace: -10
et tous les personnages s'affichent sous forme de boîtesPour moi, c'était un problème avec les glyphes CPL dans urxvt. Je viens de découvrir que la définition des paramètres régionaux avec
localectl set-locale LANG=en_AU.UTF-8
résout le problème pour moi, avec la police terminess powerline au moins (je n'ai pas essayé d'autres polices)Ça ne marchait pas
en_US.UTF-8
, j'en suis sûr car je peux le reproduire ... maintenant c'est étrange ... mais ça marche maintenant.la source
la source