Xterm не отображает ни одного символа юникода

Учтите, что у вас есть два варианта установки программного обеспечения:

1 )Системное -широкое :приложение будет доступно всем пользователям и должно быть установлено с правами администратора (root ). 2 )Только для вашего пользователя, внутри вашего /home/user, установка не требует прав администратора.

В случае 1 )у вас обычно есть два упомянутых вами места :/usr/local и /opt. Если.tar.gz имеет собственную структуру каталогов, я рекомендую вам поместить файлы в /opt/PHPStorm, соблюдая структуру. /usr/local больше подходит для установщиков, которые знают свои подкаталоги -.

Тем не менее, такую ​​IDE, как PHPStorm, лучше установить у себя дома, например, в /home/user/bin/PHPStorm. Таким образом было бы проще модернизировать, устанавливать дополнения и т. д.

1
24.10.2019, 21:11
2 ответа

Современное терминальное приложение использует дополнительные шрифты, отличные от шрифта по умолчанию, когда символ неизвестен , но xterm использует исключительно один шрифт (, за исключением особых случаев символов двойной -ширины)

Необходимые символы $'\ue0a0', echo $'\ue0a0'являются частью шрифта OpenSymbol, мы можем использовать его с xterm, но поскольку этот шрифт не содержит обычных символов, это сделает его непригодным для использования, поэтому одним из решений является использование исправленного шрифт, который включает необходимый специальный символ, и загрузите его со следующим

xterm -fa 'Inconsolata for Powerline'

Мы также можем установить размер шрифта следующим образом

xterm -fa 'Inconsolata for Powerline' -fs 16

Эти настройки можно применить к текущему пользователю, добавив следующее в ~/.Xresourcesили в систему широко на/etc/X11/app-defaults/XTerm

XTerm*faceName: Inconsolata for Powerline

Ссылки:1 , 2 , 3 , 4 , 5 и 6

1
21.06.2020, 08:17

Символ на самом деле не в указанном вами шрифте. Вы можете увидеть это, используяxfd:

xfd -fa inconsolata

Это показывает, что последняя кодовая точка — U+2423. Читая немного дальше, оказывается, что символ находится в Unicodeобласти частного использования , и (несмотря на то, что какой-то шрифт может его предоставить )не имеет стандарта имея в виду.

С конца 2018 года xterm может загружать несколько шрифтов TrueType, но ни один из имеющихся шрифтов не имеет U+E0A0.

Если вы можете определить фактический используемый шрифт, кто-нибудь может указать, какие версии xterm могут с ним работать.

Ответ на комментарий о terminator(, который я не установил ), terminatorне использует те же библиотечные интерфейсы, что и xterm, что влияет на шрифт -поиск (ни один из любой из них хорошо задокументирован ). Вы можете использовать strace, чтобы увидеть, какие файлы шрифтов -он фактически открывает.

Например, небольшое изучение этого с помощью strace, konsoleи ptermв моем Debian/тестировании открывает один из шрифтов OpenOffice для этого символа:

2600  openat(AT_FDCWD, "/users/tom/foo", O_RDONLY               
2600  )             = 3                                     
2586  openat(AT_FDCWD, "/usr/share/fonts/truetype/openoffice/opens___.ttf", O_R>
2601  openat(AT_FDCWD, "/etc/ld.so.cache", O_RDONLY|O_CLOEXEC   
2601  )             = 4                 

(Это файл семейства OpenSymbol ).

С другой стороны, я вижу, что rxvt-unicodeне отображает символ, несмотря на наличие нескольких шрифтов -шаблонов , добавленных в список поиска -в (попытаться )обходят такие проблемы, как эта (, что в конечном итоге отражает проблему в fontconfig ). Очень вероятно, что вы найдете что-то похожее (, нодругое)в библиотеках, поддерживающих konsole и pterm.

6
27.01.2020, 23:40

Теги

Похожие вопросы