Как установить шрифт в Linux, чтобы он использовался xterm?
Сегодня я натолкнулся на вопрос, требующий хороших шрифтов Linux xterm, и ответ предлагает один, называемый Terminus. Я некоторое время искал новый терминальный шрифт, поэтому я скачал его (кстати, я использую Ubuntu Intrepid) и прочитал README:
1.1. Quick installation.
The commands:
$ ./configure [--prefix=PREFIX]
$ make
# make install
compile and install the Linux console and X11 Window System fonts, and
# make fontdir
updates fonts.dir for X11 (if you don't know what fonts.dir is, execute the
command).
1.2. Legend.
The file names are structured as follows: ter-u<SIZE><STYLE>.bdf
where <SIZE> is 12, 14, 16, 20, 24, 28 or 32, and <STYLE> is n for normal
(all sizes), b for bold (all sizes except 6x12) and v for EGA/VGA bold (8x14
and 8x16 only, makes use of the eight character matrix column).
Итак, я побежал:
$ ./configure
$ make
$ sudo make install
$ sudo make fontdir
... и я просто перезапустил X11, и нового шрифта нигде не было видно:
$ xterm -font ter-u14n
xterm: unable to open font "ter-u14n", trying "fixed"....
Вздох. Вернуться к README. Позже в этом файле я увидел:
4. X11 Window System.
4.1. Installation.
$ ./configure [--prefix=PREFIX | --x11dir=DIRECTORY]
$ make pcf
# make install-pcf
Ну, я знаю, что "xterm -font 8x16" работает, поэтому я запустил "locate 8x16" и увидел, что этот шрифт, кажется, живет в /usr/share/fonts/X11/misc, так что это кажется хорошим --x11dir для использовать. Итак, я побежал:
$ ./configure --x11dir=/usr/share/fonts/X11/misc
$ make pcf
$ make install-pcf
$ sudo make fontdir
... и я снова перезапустил X11, и даже весь мой компьютер просто для хорошей меры, и я даже убедился, что теперь есть куча файлов, таких как /usr/share/fonts/X11/misc/ter-u14n.pcf.gz в моей системе, но все же:
$ xterm -font ter-u14n
xterm: unable to open font "ter-u14n", trying "fixed"....
Какое магическое заклинание я должен выполнить, чтобы этот шрифт работал с xterm?
3 ответа
У Ubuntu есть пакет:
apt-get install xfonts-terminus xfonts-terminus-oblique
Обратите внимание, что это в universe
хранилище, так что вы можете добавить это к /etc/apt/sources.list
,
После установки xfonts-terminus в Debian Wheezy мне нужно было сделать:
$ xset fp rehash
также мой ~/.Xresources
говорит:
xterm*utf8: 1
xterm*font: -xos4-terminus-medium-r-normal--20-200-72-72-c-100-iso10646-1
, где -xos4-terminus-medium-r-normal--20-200-72-72-c-100-iso10646-1
взято из fonts.dir
файл, в котором установлен шрифт. В моем случае это /usr/share/fonts/X11/misc/fonts.dir
,
Ты используешь xterm*utf8: 1
и выбрать iso10646-1
если хочешь utf-8. Вам также может понадобиться вызвать скрипт-обертку uxterm
вместо xterm
для utf-8 для правильной работы в вашем терминале.
Все изменения в ~/.Xresources
потребовать от вас сделать:
$ xrdb ~/.Xresources
чтобы заставить их зарегистрироваться в текущей сессии X.
xterm*font
правило может быть также написано с подстановочными звездочками как это:
xterm*font: -xos4-terminus-medium-r-*--20-*-*-*-*-*-iso10646-*
Я надеюсь, что это будет полезно всем, кто сталкивается с подобной проблемой.
Шрифты перечислены в файлах encodings.dir, fonts.alias и fonts.dir в /usr/share/fonts/X11/misc?
Прошло много времени с тех пор, как мне нужно было добавить шрифты на хост Linux, но есть вспомогательные утилиты с именами mkfontdir, update-fonts-alias, update-fonts-dir и update-fonts-scale, которые должны быть установлены по умолчанию. Они обрабатывают обновление metainfo, которое сообщает X-серверу об установленных в системе шрифтах. Смотрите справочные страницы для них.
В системах на основе Debian (Ubuntu имеет наследие Debian), когда добавляется пакет шрифтов.deb, помощник обычно автоматически вызывает mkfontdirs. Установка шрифта с помощью make, возможно, не настроила все так, как ожидает ваша система.