Фон:
- У меня есть несколько символов Юникода в моем приглашении (по сути, маркеры состояния git)
- Я запускаю urxvt под Xfce на Arch Linux.
Я использую шрифт DejaVu Sans Mono для Powerline, указанный в строке .Xresources:
URxvt*font: xft:DejaVu Sans Mono for Powerline:pixelsize=14
Когда я запускаю urxvt, символы юникода не отображаются правильно.
Например
● отображается как â
Однако, если я тогда запускаю новый 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.
