Установлены исправленные шрифты Powerline (Windows Putty) и символы, работающие с VIM, но НЕ bash

В настоящее время приглашение bash отображается как цветная версия, но без глифов, т.е.

?username???/???opt???path1???path2???

vim работает как положено; правильный глиф для жестких разделителей.

Ожидаемые глифы видны, если я cat powerline.json файлы с жесткими разделителями кодов.

Первоначально он не отображался в vim, пока я не установил пропатченный шрифт для замазки. Даже тогда это все еще не было видно в приглашении оболочки, однако я, по крайней мере, показываю вопросительные знаки, устанавливая локаль (см. В конце) и повторно копируя основной конфиг:

/usr/lib/python2.7/site-packages/powerline/config_files/config.json 

в

 ~/.config/powerline/config.json

Вызов powerline с использованием:

POWERLINE_BASH_CONTINUATION=1 POWERLINE_BASH_SELECT=1 source /usr/lib/python2.7/site-packages/powerline/bindings/bash/powerline.sh

Это внутри экземпляра докера, использующего образ centos7, с Powerline, установленным с использованием pip согласно инструкциям по настройке основного репозитория powerline git. Я должен был добавить локаль к голому изображению:

localedef -i en_GB -c -f UTF-8 en_GB.UTF-8

И я изменил язык на:

LANG=en_GB.utf-8
LC_CTYPE="en_GB.utf-8"
LC_NUMERIC="en_GB.utf-8"
LC_TIME="en_GB.utf-8"
LC_COLLATE="en_GB.utf-8"
LC_MONETARY="en_GB.utf-8"
LC_MESSAGES="en_GB.utf-8"
LC_PAPER="en_GB.utf-8"
LC_NAME="en_GB.utf-8"
LC_ADDRESS="en_GB.utf-8"
LC_TELEPHONE="en_GB.utf-8"
LC_MEASUREMENT="en_GB.utf-8"
LC_IDENTIFICATION="en_GB.utf-8"
LC_ALL=en_GB.utf-8

Я ценю любую помощь, чтобы попытаться исправить это, и любые советы о том, как помочь диагностировать проблему (даже исправления кода) приветствуются.

Можно ли, например, распечатать текущую тему и какие файлы конфигурации используются?

Похоже, что это может быть проблема с механизмом рендеринга или несовместимость с bash (GNU bash, версия 4.2.46(2)-релиз (x86_64-redhat-linux-gnu))?

РЕДАКТИРОВАТЬ (1): Использование echo $PS1 | od -c -t x1 похоже, что вопросительные знаки находятся в самой подсказке. Возможно, проблема с механизмом визуализации Powerline?

1 ответ

Это решение, предоставленное ZyX-I на github.com/powerline/powerline, смотрите ниже. Я поднял проблему с git на странице отчетов об ошибках Powerline.

По сути это сводится к демону Powerline, который я начал до исправления локали (export LC_ALL=en_gb.utf8) быть кодировкой utf8, а не стандартным языком POSIX, который использует кодировку ascii.

Для моих целей демон не был необходим, поэтому я просто убил его, но если вы используете его, вам нужно будет убедиться, что локаль установлена ​​правильно перед выполнением. См. Поднятый вопрос для получения дополнительной информации, упомянутой ранее для получения дополнительной информации.

Другие вопросы по тегам