Arch linux 更换tty的字体和颜色

posts/arch-linux-%E6%9B%B4%E6%8D%A2tty%E7%9A%84%E5%AD%97%E4%BD%93%E5%92%8C%E9%A2%9C%E8%89%B2

Terminus Font

Terminus Font 是一种简洁、固定宽度的位图字体。

字体安装

在终端yay -S terminus-font可对字体进行安装。

安装过后,字体会被存放在/usr/share/kbd/consolefonts/下。

kbd 包提供了改变虚拟终端字体的工具。可以使用的字体存储在 /usr/share/kbd/consolefonts/ 目录下(各发行版的存储路径略有不同),那些以 .psfu 或者 .psfu.gzv 结尾的字体具有内置的 Unicode 转换映射,可用于终端字体。
psfupsfu.gz– 点阵字体。s代表屏幕,f代表字体,u代表 Unicode,gz 用 gzip 压缩(不适用于 X.Org)。

字体临时设置

我们可以进入 tty 界面进入这个文件夹然后使用setfont命令来进行字体临时设置。

比如要使用ter-v18b这个字体就可以用setfont /usr/lib/kbd/consolefonts/ter-v18b.psf.gz进行设置。

使用showconsolefont可以查看当前字体的全部字符样式。

字体永久设置

使用setfont命令设置后的字体会在系统重启后恢复默认的字体。此时我们可以通过编辑/etc/vconsole.conf文件进行永久设置字体。 通过添加FONT=ter-v18bFONT=ter-v18b.psf.gz进行指定字体。编辑后重启系统即可查看效果。

如果重启过后字体只在进入系统生效一次恢复默认有可能是因为显卡驱动引导时字体被复位,然后终端被切至帧缓冲 (framebuffer)。可使用 Early KMS 提前加载图形驱动可以避免这个问题。

若要在早期的用户空间中使用自定义的字体,可以在 /etc/mkinitcpio.conf 中使用 consolefont 钩子

Flat-remix Color Theme

Flat-remix 的颜色配置是我比较喜欢配置,颜色配置介绍见此篇博客,且在flat-remix iconsflat-remix-gtkflat-remix-gnome上都有体现。

bash 设定

.bashrc 文件内添加:

if [ "$TERM" = "linux" ]; then
    echo -en "\e]P01F2229" #black
    echo -en "\e]P88C42AB" #darkgrey
    echo -en "\e]P1D41919" #darkred
    echo -en "\e]P9EC0101" #red
    echo -en "\e]P25EBDAB" #darkgreen
    echo -en "\e]PA47D4B9" #green
    echo -en "\e]P3FEA44C" #brown
    echo -en "\e]PBFF8A18" #yellow
    echo -en "\e]P4367bf0" #darkblue
    echo -en "\e]PC277FFF" #blue
    echo -en "\e]P5BF2E5D" #darkmagenta
    echo -en "\e]PDD71655" #magenta
    echo -en "\e]P649AEE6" #darkcyan
    echo -en "\e]PE05A1F7" #cyan
    echo -en "\e]P7E6E6E6" #lightgrey
    echo -en "\e]PFFFFFFF" #white
fi

后重新 login tty 即可生效。

fish 设定

fish.config 文件status --is-login; and begin内添加:

if [ "$TERM" = "linux" ]
        echo -en "\e]P01F2229" #black
        echo -en "\e]P88C42AB" #darkgrey
        echo -en "\e]P1D41919" #darkred
        echo -en "\e]P9EC0101" #red
        echo -en "\e]P25EBDAB" #darkgreen
        echo -en "\e]PA47D4B9" #green
        echo -en "\e]P3FEA44C" #brown
        echo -en "\e]PBFF8A18" #yellow
        echo -en "\e]P4367bf0" #darkblue
        echo -en "\e]PC277FFF" #blue
        echo -en "\e]P5BF2E5D" #darkmagenta
        echo -en "\e]PDD71655" #magenta
        echo -en "\e]P649AEE6" #darkcyan
        echo -en "\e]PE05A1F7" #cyan
        echo -en "\e]P7E6E6E6" #lightgrey
        echo -en "\e]PFFFFFFF" #white
    end

后重新 login tty 即可生效。

参考链接