如何在TTY(控制台)中更改字体或字体大小?

我正在使用Ubuntu 12.04。最近,我所有的TTY的字体大小都变得更大了。 我该如何将字体大小恢复为默认值?
4个回答

要调整TTY使用的字体/字号,请运行sudo dpkg-reconfigure console-setup,它将引导您选择字体和字号的步骤。
  1. 选择默认的UTF-8,按下Tab键来突出显示确定,然后按下Enter键进入下一步。(您可以再次按下它并突出显示取消以返回。)

    enter image description here

  2. 选择默认的合并 - 拉丁...选项("拉丁"包括英文字母),然后继续进行第三步:

    enter image description here

  3. 选择字体 - 请务必阅读上面关于不同字体可能产生的视觉效果的说明:

    enter image description here

  4. 选择字体大小:

    enter image description here

  5. 现在您将退出console-setup;如所显示的消息所说,新的设置将在重新启动后生效。要立即应用,请打开一个TTY并运行setupcon


首先运行该命令时会提示我选择一个编码,我选择了UTF-8。在下一个屏幕上,当我被要求选择字符集时,没有任何英文字符集的选项。 - Aaron Hill
5你应该使用“Combined - Latin...”默认选项就可以了。"Latin" 就是 英文字符集。根据维基百科的解释:拉丁字母表这个术语既可以指用于书写拉丁语的字母表(如本文所述),也可以指基于拉丁文字的其他字母表,这些字母表是源自古典拉丁字母表的各种字母表的基本字母集合,比如英文字母表 - ish
11@qed,在第3步中,如果您选择Terminus而不是Fixed,则可以选择更大的字体大小。 - Afilu
2如果我想使用我下载的其他字体而不是列表中列出的字体,该怎么办? - tyjkenn
有没有想法是哪个文件可以更改启动时的字体? - Stuart Axon
4@tyjkenn 如果你想使用自己的字体,那么你只能使用位图字体,因此你需要找到它的位图版本。例如,fonts-ubuntu-font-family-console 包含了 Ubuntu 字体家族的位图版本。 - hexman
1要立即在整个系统中应用更改,请打开TTY并运行sudo systemctl restart console-setup - Pablo Bianchi
1如果你的分辨率是3840x2860,只需将其设置为最大可用值(32x16),不要更改其他选项。真是荒谬,Ubuntu居然不能自动完成这个操作。对于使用现代显示器的用户来说,TTY根本无法使用。 - Chaim Eliyah
@ChaimEliyah:这正是我的问题 https://askubuntu.com/q/1396532/723091 但我用Terminus和可用的最大字体来改善了它。 - as5
在Debian 12上,使用sudo systemctl restart console-setup.service和重新启动并没有对我生效。相反,运行sudo dpkg-reconfigure console-setup-linux立即应用了更改。 - undefined

由于其他答案无法调整我的HiDPI显示器的字体大小,经过一番研究,我发现链接https://askubuntu.com/a/1134018/73759是有效的。

编辑文件/etc/default/console-setup

sudo nano /etc/default/console-setup

并将字体类型和字体大小的值更改为

FONTFACE="TER"
FONTSIZE="16x32"

保存文件并应用更改。
sudo update-initramfs -u

在下一次重新启动时,您的TTY将拥有一个更大的字体。
我知道这不是上面特定问题的答案,但标题只是说“更改字体大小”,而这是谷歌的最佳搜索结果,所以我希望能帮助到一些人。

1这应该适用于启动的下半部分和通过Ctrl+Alt+[F1-F6]访问的虚拟控制台。与https://unix.stackexchange.com/questions/49779/can-i-change-the-font-of-the-text-mode-console相同。 - Cees Timmerman
1"man setupcon" 提示或建议,可以自定义 "~/.console-setup" 而不干扰系统的默认设置。 - XavierStuvw
在Kubuntu 21.04上,根据建议将FONTFACE和FONTSIZE设置为'select'对我来说完美运行。不知道CODESET应该是什么?在我的系统中,它被设置为"guess",因为在执行dpkg-reconfigure consolesetup时是这样设置的。它对大小等有任何影响吗? - TheWickerman666
@XavierStuvw,在我的系统上是不行的。如果它被用作多用户系统,并且你不是管理员,很可能你也没有sudo权限。 - Martian2020
但是我该如何使用我下载的另一种自定义字体呢? - Ahmad Masalha
我可以选择12x24吗?如果16x32太大的话?没关系,我在console-setup手册中找到了答案:有效的字体面是:VGA(尺寸为8x8、8x14、8x16、16x28和16x32)、Terminus(尺寸为6x12、8x14、8x16、10x20、12x24、14x28和16x32)、TerminusBold(尺寸为8x14、8x16、10x20、12x24、14x28和16x32)、TerminusBoldVGA(尺寸为8x14和8x16)以及Fixed(尺寸为8x13、8x14、8x15、8x16和8x18)。 - Justin Goldberg

使用GRUB_GFXPAYLOAD_LINUX

首先,安装xrandr并运行它:

$ sudo apt-get install xrandr
$ xrandr

可用的屏幕模式如下所示。
现在,编辑/etc/default/grub
$ sudo nano /etc/default/grub

假设之前未编辑过的文件,请进行以下更改:
变量GRUB_CMDLINE_LINUX_DEFAULT应至少包含nomodeset,在桌面系统上可能还需要添加quietsplash
GRUB_CMDLINE_LINUX_DEFAULT="nomodeset"

在服务器系统上,取消注释GRUB_TERMINAL=console以在进入图形控制台之前查看更多启动过程中传递的消息。
将此行保留为注释。
#GRUB_GFXMODE=640x480

在文件末尾添加一行:
GRUB_GFXPAYLOAD_LINUX=1280x1024x16

或者将值替换为硬件支持的任何其他(逗号分隔)模式。值“text”、“keep”、“auto”、“vga”和“ask”也应该有效。
最后,在保存编辑后的“/etc/default/grub”文件时,使用Ctrl+O进行保存,并使用Ctrl+X退出,然后执行以下命令:
$ sudo update-grub
$ sudo reboot

这个答案也适用于降低分辨率和/或刷新率或帧缓冲频率的降频系统。当刷新频率过高时,CRT显示器通常会显示闪烁条纹。

有一些关于Linux TTY1的酷炫提示

更新initramfs -u后,测试当前配置而无需重新启动计算机:

CTRL+ALT+1 => (tty1)

使用密码登录,然后输入setupcon,您的TTY将应用您的配置,如字体大小等。

~/.bashrc中添加以下内容以更改TTY1终端的背景:

if [ "$TERM" = "linux" ]; then
    echo -en "\e]P0232323" #black
    echo -en "\e]P82B2B2B" #darkgrey
    echo -en "\e]P1D75F5F" #darkred
    echo -en "\e]P9E33636" #red
    echo -en "\e]P287AF5F" #darkgreen
    echo -en "\e]PA98E34D" #green
    echo -en "\e]P3D7AF87" #brown
    echo -en "\e]PBFFD75F" #yellow
    echo -en "\e]P48787AF" #darkblue
    echo -en "\e]PC7373C9" #blue
    echo -en "\e]P5BD53A5" #darkmagenta
    echo -en "\e]PDD633B2" #magenta
    echo -en "\e]P65FAFAF" #darkcyan
    echo -en "\e]PE44C9C9" #cyan
    echo -en "\e]P7E5E5E5" #lightgrey
    echo -en "\e]PFFFFFFF" #white
    clear #for background artifacting
fi

例子 https://archive.is/J6F8P 来源:我该如何改变TTY的颜色?