Antecedentes:
- Tengo algunos caracteres Unicode en mi solicitud (esencialmente marcadores de estado de git)
- Estoy ejecutando urxvt bajo xfce en arch linux.
Estoy usando DejaVu Sans Mono para la fuente Powerline, especificada a través de la línea .Xresources:
URxvt*font: xft:DejaVu Sans Mono for Powerline:pixelsize=14
Cuando comienzo urxvt, los caracteres unicode no se representan correctamente.
Por ejemplo
● se muestra como â
Sin embargo, si empiezo una nueva urxvt
desde el primer terminal, todo se representa correctamente.
No parece haber ninguna diferencia en el entorno entre los dos terminales.
¿Cuál podría ser la diferencia entre la primera invocación y la invocación anidada? Sospecho que la fuente no es correcta en la instancia 'externa', pero no estoy seguro de cómo verificar la fuente de una ventana X en ejecución
ACTUALIZACIÓN : Parece que la configuración regional no está configurada correctamente en el iniciador de aplicaciones para xfce4, pero presumiblemente la carcasa dentro del primer terminal se encuentra en su propia configuración regional, lo que significa que ambas capas tienen la misma configuración regional.
agregando
export LANG=en_GB.UTF-8
a .xinitrc antes de que se inicie xfce4 parece solucionarlo. Sospecho que esta no es la forma correcta , pero funciona lo suficientemente bien para mí.
La captura de pantalla demuestra el problema:
Nota: moví esta pregunta desde serverfault.com, espero que este sitio sea más apropiado
LC_ALL=ru_RU.utf8 urxvt
desde la sesión X actual. Si los caracteres rusos (y otros Unicode) se volvieron correctos, está en caso de que su entorno se haya estado ejecutando en C locale. Por lo tanto, compruebe la configuración regional paraxfce
. Por ejemplo, si lo ha iniciado,.xinitrc
intente establecer la configuración regional antes de ejecutar comoLANG=ru_RU.utf8 exec startxfce4
.Respuestas:
No estoy completamente seguro de cuál es la causa del problema, pero los pasos a continuación pueden ayudar:
Confirme que la configuración regional está configurada correctamente
Habilite las configuraciones regionales deseadas en /etc/locale.gen y ejecute
locale-gen
Asegúrese de que se pueda cargar la fuente deseada
fuente
URxvt.letterSpace: -10
y todos los caracteres se muestran como cuadrosPara mí fue un problema con los glifos de línea eléctrica en urxvt.
localectl set-locale LANG=en_AU.UTF-8
Me acabo de enterar de que configurar la configuración regional soluciona el problema para mí, con la fuente powerline terminess al menos (no he probado otras fuentes)No funcionaba
en_US.UTF-8
, estoy bastante seguro porque puedo reproducirlo ... ahora eso es extraño ... pero funciona ahora.fuente
fuente