Sfondo:
- Ho alcuni caratteri unicode nel mio prompt (essenzialmente indicatori di stato git)
- Sto eseguendo urxvt sotto xfce su arch linux.
Sto usando DejaVu Sans Mono per il carattere Powerline, specificato tramite la linea .Xresources:
URxvt*font: xft:DejaVu Sans Mono for Powerline:pixelsize=14
Quando inizio urxvt i caratteri Unicode non vengono visualizzati correttamente.
Per esempio
● viene visualizzato come â
Tuttavia, se inizio quindi un nuovo urxvt
all'interno del primo terminale, tutto viene visualizzato correttamente.
Non sembra esserci alcuna differenza nell'ambiente tra i due terminali.
Quale potrebbe essere la differenza tra la prima chiamata e la chiamata nidificata? Sospetto che il carattere non sia corretto nell'istanza "esterna", ma non sono sicuro di come controllare il carattere di una finestra X in esecuzione
AGGIORNAMENTO : Sembra che le impostazioni locali non siano configurate correttamente nel programma di avvio dell'app per xfce4, ma presumibilmente la shell all'interno del primo terminale ha le proprie impostazioni locali, il che significa che entrambe le shell hanno le stesse impostazioni locali.
aggiungendo
export LANG=en_GB.UTF-8
a .xinitrc prima dell'avvio di xfce4 sembra risolverlo. Sospetto che questo non sia il modo corretto , ma funziona abbastanza bene per me.
screenshot mostra il problema:
Nota: ho spostato questa domanda da serverfault.com - spero che questo sito sia più appropriato
LC_ALL=ru_RU.utf8 urxvt
dalla sessione X corrente. Se i caratteri russi (e altri caratteri Unicode) sono diventati corretti, nel caso in cui l'ambiente sia stato eseguito in C locale. Quindi controlla le impostazioni locali per xfce
. Ad esempio, se lo si avvia nel .xinitrc
tentativo di impostare le impostazioni internazionali prima di eseguire come LANG=ru_RU.utf8 exec startxfce4
.