104

I am using Ubuntu 12.04. Recently, the font size for all of my TTYs became much larger. How can I change the font size back to the default?

Jorge Castro
  • 71,754
Aaron Hill
  • 4,957

4 Answers4

145

To adjust the font/font-size used for the TTY, run sudo dpkg-reconfigure console-setup, which will guide you through the steps to choose a font and font-size:

  1. Choose the default UTF-8, and press Tab to go highlight OK and then press Enter to go to the next step. (You can press it again and highlight Cancel to go back.)

    enter image description here

  2. Choose the default Combined - Latin, ... option ("Latin" includes the English alphabet) and proceed to step 3:

    enter image description here

  3. Select the font - be sure to read the notes above on the visual effect different fonts can have:

    enter image description here

  4. Select the font size:

    enter image description here

  5. Now you will exit console-setup; as the displayed message says, the new settings will be effective after reboot. To apply immediately, open a TTY and run setupcon.

ish
  • 139,926
  • Running this command first prompts me to select an encoding, where I choose UTF-8. On the next screen, where I am prompted to select a character set, there is no option for any kind of English character set. – Aaron Hill Aug 08 '12 at 00:55
  • 5
    You should be fine with the Combined - Latin... default. "Latin" is the English character set. From wikipedia: The term Latin alphabet may refer to either the alphabet used to write Latin (as described in this article), or other alphabets based on the Latin script, which is the basic set of letters common to the various alphabets descended from the classical Latin one, such as the English alphabet.** – ish Aug 08 '12 at 01:01
  • 11
    @qed, in step #3, if you select Terminus instead of Fixed, there are larger font sizes to choose from. – Afilu Jul 18 '17 at 21:41
  • 2
    What if I want to use another font I downloaded instead of the ones listed? – tyjkenn Aug 30 '17 at 17:16
  • Any idea what file this changes to set the font on boot ? – Stuart Axon Nov 08 '17 at 23:37
  • 4
    @tyjkenn You can only use bitmap fonts so if you want to use your own font then you have to find a bitmap version of it. For example the package fonts-ubuntu-font-family-console contains the bitmap versions of the ubuntu font-family. – hexman Dec 13 '17 at 14:48
  • 1
    To apply changes immediately system wide, open a TTY and run sudo systemctl restart console-setup. – Pablo Bianchi Mar 04 '18 at 20:03
  • 1
    If you're on 3840x2860 just set it to the largest available (32x16) and don't change the other options. It's ridiculous that Ubuntu doesn't do this automatically. The TTY is unusable for anyone on a modern display. – Chaim Eliyah Mar 28 '21 at 18:10
  • @ChaimEliyah: This is exactly my problem https://askubuntu.com/q/1396532/723091 But I managed to make it better with Terminus and largest available font. – as5 Mar 08 '22 at 14:03
  • On Debian 12, sudo systemctl restart console-setup.service and rebooting did not apply the changes for me. Running sudo dpkg-reconfigure console-setup-linux instead applied the changes immediately. – Jnzig Nov 23 '23 at 15:09
19

Since the other answers did not work for my HiDPI display to increase the font size, after some research I found https://askubuntu.com/a/1134018/73759 to be working.

Edit the file /etc/default/console-setup

sudoedit /etc/default/console-setup

and change the values for font type and font size to

FONTFACE="TER"
FONTSIZE="16x32"

Save the file and apply the changes with

sudo update-initramfs -u

On the next reboot you will have a much larger font in your TTY.

I know this is not the answer to the specific question above but the title just says "change the font size" and this is the top search result on google, so I hope I can help some people here.

select
  • 641
  • 7
  • 5
  • 1
    This should work in the second half of the boot and the virtual consoles accessible via Ctrl+Alt+[F1-F6]. Same as https://unix.stackexchange.com/questions/49779/can-i-change-the-font-of-the-text-mode-console – Cees Timmerman Feb 10 '20 at 11:52
  • 1
    man setupcon informs, or suggests, that one could also customize ~/.console-setup and not intrude in the system-wide default settings. – XavierStuvw Mar 27 '20 at 15:39
  • Setting the FONTFACE and FONTSIZE as suggested 'select' worked perfectly for me on Kubuntu 21.04. Was wondering what should be the CODESET? On mine its set to "guess" as thats what is et it to while doing dpkg-reconfigure consolesetup. Does it have any effect on size, etc.? – TheWickerman666 Aug 28 '21 at 15:24
  • @XavierStuvw, on my system it does not. If it is used as a multiuser system and you are not admin, likely you won't have sudo excess anyway. – Martian2020 Oct 16 '21 at 01:57
  • But how would I use another custom font that I downloaded? – Ahmad Masalha Feb 10 '23 at 11:11
  • 1
    Can I choose 12x24? If 16x32 is too large?

    Nevermind, I found the answer in the console-setup man page:

    Valid font faces are: VGA (sizes 8x8, 8x14, 8x16, 16x28 and 16x32), Terminus (sizes 6x12, 8x14, 8x16, 10x20, 12x24, 14x28 and 16x32), TerminusBold (sizes 8x14, 8x16, 10x20, 12x24, 14x28 and 16x32), TerminusBoldVGA (sizes 8x14 and 8x16), and Fixed (sizes 8x13, 8x14, 8x15, 8x16 and 8x18).

    – Justin Goldberg May 21 '23 at 22:01
2

Using GRUB_GFXPAYLOAD_LINUX

First, install xrandr and run it:

$ sudo apt-get install xrandr
$ xrandr

The available screen modes are listed.

Now, edit /etc/default/grub:

$ sudo nano /etc/default/grub

Assuming a previously unedited file, make the following changes:

The variable GRUB_CMDLINE_LINUX_DEFAULT should contain at least nomodeset, perhaps in addition to quiet and splash on desktop systems.

GRUB_CMDLINE_LINUX_DEFAULT="nomodeset"

On server systems, uncomment GRUB_TERMINAL=console to see more messages passing during boot before entering in the graphics console.

Leave this line as a comment:

#GRUB_GFXMODE=640x480

At the end of the file, add a line:

GRUB_GFXPAYLOAD_LINUX=1280x1024x16

or replace the value by any other (comma separated) mode(s) that is(are) supported by your hardware. The values text, keep, auto, vga and ask should also work.

Finally, after saving the edited /etc/default/grub with Ctrl+O and exiting it with Ctrl+X, issue the following commands:

$ sudo update-grub
$ sudo reboot

This answer will also work to decrease the resolution and/or refresh rate or frame buffer frequency on down-clocked systems. CRT monitors typically show flickering stripes when the refresh frequency is too high.

Serge Stroobandt
  • 5,268
  • 1
  • 48
  • 59
0

There some cools tips about Linux TTY1

test curent configuration without restarting PC after update-initramfs -u :

CTRL+ALT+1 => (tty1)

login with your pass then type "setupcon" then your TTY will aplying your configuration like Font size, etc..

add the following to change bacground TTY1 terminal to ~/.bashrc:

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

example https://archive.is/J6F8P

source : How can I change the TTY colors?