Назад | Перейти на главную страницу

Как мне установить шрифт в Linux, чтобы его можно было использовать в xterm?

Я наткнулся вопрос сегодня просят хороших шрифтов xterm для Linux, и в ответ предлагается один под названием 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?

В 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, которые должны быть установлены по умолчанию. Они обрабатывают обновление метаинфо, которое сообщает X-серверу об установленных в системе шрифтах. См. Справочные страницы для них.

В системах на основе Debian (Ubuntu имеет наследие Debian), когда добавляется пакет font .deb, помощник обычно автоматически вызывает mkfontdirs. Установка шрифта с помощью make может не настроить все так, как ожидает ваша система.