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 para xfce
. Por ejemplo, si lo ha iniciado, .xinitrc
intente establecer la configuración regional antes de ejecutar como LANG=ru_RU.utf8 exec startxfce4
.