setfont命令,满足某护(Zhuang)眼(Bi)需求

一,前言

        前几天在考虑linux字符终端下怎么修改字体,我希望改变字体大小来达到保护眼睛(长期开启字符终端装逼)的目的。在网上搜索很久,发现有一个叫做setfont的命令。通过man 得知这货的确能设置字体。

下面通过我的理解来解释一下setfont命令应该怎么用吧。


二,setfont

     setfont  -   load EGA/VGA console screen font (加载EGA/VGA终端字体)

    !注意:setfont在x下没法使用,只能是在EGA/VGA字符终端下可用。

    用法:setfont [font_name] [-C console_name]

    典型用法:

        $setfont  -- 设置当前终端字体为默认字体。


        $setfont font_name    --设置当前终端字体为指定名称的字体。

        $setfont font_file         --设置当前终端的字体为指定的字体。

                                            font_file只能是psfpsfupsf.gzpsfu.gz稍后说明。

        $sudo setfont  -C /dev/tty2 [font_name] --设置指定终端的字体。

        

        字体文件:字体文件存放在/usr/share/kbd/consolefonts,

        以我的主机为例:

        $ls /usr/share/kbd/consolefonts

        。。。。。。。。。。。。。。。。。。。。。。。。。。。。。

        eurlatgr.psfu.gz              Tamsyn10x20r.psf.gz      ter-i20b.psf.gz
        Goha-12.psfu.gz               Tamsyn5x9b.psf.gz        ter-i20n.psf.gz
        Goha-14.psfu.gz               Tamsyn5x9r.psf.gz        ter-i22b.psf.gz
        Goha-16.psfu.gz               Tamsyn6x12b.psf.gz       ter-i22n.psf.gz
        GohaClassic-12.psfu.gz        Tamsyn6x12r.psf.gz       ter-i24b.psf.gz
        GohaClassic-14.psfu.gz        Tamsyn7x13b.psf.gz       ter-i24n.psf.gz
        GohaClassic-16.psfu.gz        Tamsyn7x13r.psf.gz       ter-i28b.psf.gz
        gr737a-8x8.psfu.gz            Tamsyn7x14b.psf.gz       ter-i28n.psf.gz
        gr737a-9x14.psfu.gz           Tamsyn7x14r.psf.gz       ter-i32b.psf.gz
        gr737a-9x16.psfu.gz           Tamsyn8x15b.psf.gz       ter-i32n.psf.gz
        gr737b-8x11.psfu.gz           Tamsyn8x15r.psf.gz       ter-k12n.psf.gz

        。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。

        font_name:上述字体文件去掉.psf.gz/.psuf.gz后缀。

        font_file:就是上述文件,记得切换到该目录或者使用绝对路径。


        用例:setfont GohaClassic-16

                    setfont GohaClassic-16.psfu.gz


三,showconsolefont 查看当前所有字体。


        用法,$showconsolefont


四,终端字体知识

    字体常见格式:

    • bdfbdf.gz �C 点阵字体,bitmap distribution format(位图布局格式)的缩写,后者表示以 gzip 压缩的 bdf

    • pcfpcf.gz �C 点阵字体, portable compiled font(可移植编译字体)的缩写,后者表示以 gzip 压缩的 pcf

    • psfpsfupsf.gzpsfu.gz �C 点阵字体,前两者分别是 PC screen font(电脑屏幕字体)与 PC screen font Unicode(Unicode 电脑屏幕字体)的缩写。两者分别表示用 gzip 压缩的 psf 与 {{ic|psfu}(不适用于 X.Org)。

    • pfapfb �C 矢量字体,分别是 PostScript font ASCII 与 PostScript font binary 的缩写。PostScript 字体内带有打印指令。

    • ttf �C outline,TrueType 字体。作为 PostScript 字体的替代。

    • otf �C outline,OpenType 字体。带有 PostScript 打印指令的 TrueType 字体。

            在多数情况下,TrueType 和 OpenType 的技术差异可以忽略,一些带有 ttf 扩展的字体实际上是 OpenType 字体。

          

四,默认字体设置

按照wiki上的方法:/etc/vconsole.confFONTFONT_MAP 变量可以用来改变默认字体

未成功。成功的同学麻烦给我说一声。。。

于是我自己想了个办法。只在字符终端下设置字体:

在.bashrc/.zshrc(根据自己使用的shell来选择)文件中加入一条判断语句,判断x环境下的某个特有变量是否等于在x下的特有值,这个变量可以通过env命令来找出。

看看我是怎么设置的:

.zshrc:

#setfont

if [ "$XDC_CURRENT_DESKTOP" != "GNOME" ];then

        setfont greek-polytonic

fi

#setfont end

这样在字符终端登录时就会设置终端字体。而在x下又不会出现错误~


五,后话:

在我的主机(Thinkpad e430 ad2 笔记本 系统为archlinux 单系统),以上方法适用。

但是我在机房机器上(kali linux u盘系统)下发现没有setfont命令。具体原因不明白。

原来是想设置更大字号保护视力的,结果发现setfont greek-polytonic这货感觉真不错,

但是这货字体比默认的还小,但是行间距比较大。算了,看着舒服就好了。


参考文档:

    archwiki:https://wiki.archlinux.org/index.php/Fonts_%28%E7%AE%80%E4%BD%93%E4%B8%AD%E6%96%87%29#.E7.BB.88.E7.AB.AF.E5.AD.97.E4.BD.93


你可能感兴趣的:(linux,font,setfont,VGA/EGA)