Фон:
- У моєму підказці є кілька символів unicode (по суті маркери статусу git)
- Я запускаю urxvt під xfce на arch linux.
Я використовую DejaVu Sans Mono для шрифту Powerline, вказаний через рядок .Xresources:
URxvt*font: xft:DejaVu Sans Mono for Powerline:pixelsize=14
Коли я запускаю urxvt, символи unicode відображаються неправильно.
Наприклад
● надає як
Однак якщо я тоді запускаю нову urxvt
зсередини першого терміналу, все виводиться правильно.
Немає різниці в оточенні між двома терміналами.
Яка може бути різниця між першим викликом і вкладеним викликом? Я підозрюю, що шрифт невірний у зовнішньому екземплярі, але я не знаю, як перевірити шрифт запущеного вікна X
ОНОВЛЕННЯ : Здається, що локаль неправильно налаштований у запуску додатків для xfce4, але, імовірно, оболонка всередині першого терміналу вводить його власний локал, тобто, обидві оболонки мають однаковий локал.
додавання
export LANG=en_GB.UTF-8
до .xinitrc перед запуском xfce4, здається, виправить це. Я підозрюю, що це не правильний шлях, але він працює досить добре для мене.
скріншот демонструє проблему:
Примітка. Я перемістив це питання з serverfault.com - сподіваюся, цей сайт є більш підходящим
LC_ALL=ru_RU.utf8 urxvt
з поточного X сеансу. Якщо російські (та інші символи Unicode) стали правильними, ви знаходитесь у тому випадку, коли ваше середовище працює під мовою C. Тому перевірте параметри локалі для xfce
. Наприклад, якщо ви його запустили, .xinitrc
спробуйте встановити локаль перед тим, як запустити LANG=ru_RU.utf8 exec startxfce4
.