![如何在 Linux 中安装字体以便 xterm 可以使用?](https://linux22.com/image/491230/%E5%A6%82%E4%BD%95%E5%9C%A8%20Linux%20%E4%B8%AD%E5%AE%89%E8%A3%85%E5%AD%97%E4%BD%93%E4%BB%A5%E4%BE%BF%20xterm%20%E5%8F%AF%E4%BB%A5%E4%BD%BF%E7%94%A8%EF%BC%9F.png)
我碰到一个问题今天询问是否有好的 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 一起工作,我必须执行什么神奇的咒语?
答案1
Ubuntu 有一个包:
apt-get install xfonts-terminus xfonts-terminus-oblique
请注意,这是在universe
存储库中,因此您可能必须将其添加到/etc/apt/sources.list
。
答案2
在 Debian Wheezy 中安装 xfonts-terminus 后我需要执行以下操作:
$ 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-*
我希望这对遇到类似问题的任何人都有帮助。
答案3
/usr/share/fonts/X11/misc 下的 encodings.dir、fonts.alias 和 fonts.dir 文件中是否列出了字体?
我已经很久没有在 Linux 主机上添加字体了,但有一些辅助实用程序,名为 mkfontdir、update-fonts-alias、update-fonts-dir 和 update-fonts-scale,应该默认安装。它们负责更新元信息,告知 X 服务器系统上安装的字体。请参阅它们的手册页。
在基于 Debian 的系统上(Ubuntu 继承了 Debian 的风格),当添加字体 .deb 包时,辅助程序通常会自动调用 mkfontdirs。使用 make 安装字体可能无法按照系统预期的方式进行设置。