[转]Linux终端更改字体(一般用来针对高分辨率屏幕使用大字体)

发布时间 2023-07-15 13:41:05作者: dirgo

原文地址:Linux终端更改字体 - 知乎

1 概述

这里的终端是指通过F1-F6/F2-F7进入的纯命令终端。

修改字体可以通过setfont命令。

2 查看字体

可以通过查找目录consolefonts来确定本地机器上的字体位于哪里:

find / -name consolefonts -type d
updatedb
locate consolefonts

比如笔者的Manjaro位于/usr/share/kbd/consolefontsCentOS8则位于/usr/lib/kbd/consolefonts,而其他的一些可能位于/lib/usr/consolefonts,其中的文件如下:

 

 

一般为.cp.gz/.psfu.gz/psf.gz格式,后面的.gz表示gzip压缩,而其他的区别如下:

  • .cpCP字体是CPICode Page Information)的碎片fragments),通过连接CPEntryHeaderFontDataHeaderScreenFontHeaderScreenFontData得到
  • .psf/.psfuPC Screen Fonts缩写,通常以.psfu形式存储

3 设置字体

很简单,使用setfont即可:

setfont xxx.cp.gz/xxx.psfu.gz/xxx.psf.gz

对于psfu/psf文件名上面有字体大小,一般为8/14/16,对于.cp.gz字体需要指定大小,也是8/14/16

4 安装额外字体

如果系统提供的字体过小可以选择安装额外的字体包Termius-fonts戳这里下载。

接着需要编译安装:

./configure --prefix=/usr/local/consolefonts
make -j n # n为CPU核心数
sudo make install

然后就可以在对应的文件夹(/usr/share/kbd/consolefonts等)看到新增的字体了:

 

 

这些字体以ter-开头,后面标注了大小,b表示粗体,n表示正常大小,提供了以下大小的字体:

  • 6x12
  • 8x14
  • 8x16
  • 10x18
  • 10x20
  • 11x22
  • 12x24
  • 14x28
  • 16x32

使用setfont设置后即可看到效果。