Hwo to increase the size of tty font

im a linux/fedora newbie and i am using a 4k screen so that the text in my tty is tiny. i cant figure out how to magnify it. please help me. i have already tried dpkg-reconfigure console-setup and the dialog box does not work.

4 Likes

Hi @eliazarov! Welcome to the community! Please do take a few minutes to go over the introductory posts in #start-here when you have the time. They contain lots of useful information.

I don’t have a 4k screen, but I still make my tty font bigger, and also I change the font to display cyrillic symbols correctly. The same approach I use should help you too.

Some background and choosing the right font for you

  1. All the console fonts you have installed on your system are located in /usr/lib/kbd/consolefonts directory.

    I’d suggest first going there and testing, which one do you like the most (and want to make the default one). You should do it it tty, not in terminal emulator application from your desktop environment.

    Change your current directory to the one containing the fonts:
    cd /usr/lib/kbd/consolefonts

    You can see the list of all the fonts available to you with ls.

  2. Most of the fonts have a size hint in their filename, for example 8x14 (8 pixels wide by 14 pixels high), of just one number (presumably for height or for the font size). Basically, the bigger the number, the larger the font.

    You need the biggest of them all, for example latarcyrheb-sun32.psfu.gz, LatGrkCyr-12x22.psfu.gz, LatArCyrHeb-19.psfu.gz.

  3. You can temporarily switch to another font with setfont command:

    setfont LatArCyrHeb-19.psfu.gz

    When entering commands and filenames under linux you should use tab completion.

You can try this way all the various fonts for the one you like and want to set as a default. Also, you can use setfont without font name to return your current console to default one.

Setting font as the default console font

I’ve found out that to have my font as default one, I need to set in in two places. You need to edit two config files for this, and I find it easier to do from the console. If you’re newbie, then the easiest way to do it will be with nano cli text editor. If you’re comfortable with another one, that’s ok too.

  1. Let’s install nano:
    sudo dnf install nano

  2. We’ll make a copy of the file we’re going to edit – just in case:
    sudo cp -v /etc/vconsole.conf /etc/vconsole.original

  3. Now let’s change vconsole.conf:
    sudo nano /etc/vconsole.conf

    You need to enter the name of your chosen font in the line FONT= between the quotes:
    FONT="LatArCyrHeb-19"

    Press [Ctrl-O] to save the changes and [Ctrl-X] to exit text editor. You’ll see hotkeys in the boottom of the screen of the nano, it’s very easy to use.

We also need to set the name of out new default console font as kernel boot parameter. To do this we’ll edit one more config file.

  1. We’ll make a copy again before editing the file:
    sudo cp -v /etc/default/grub /etc/default/grub.original

    By the way, if you mess up the file and need to restore the original – just copy it back:
    sudo cp -v /etc/default/grub.original /etc/default/grub

  2. Now we’ll change it:
    sudo nano /etc/default/grub

    This time you need to append vconsole.font=LatArCyrHeb-19 (with a space before it!) to the line GRUB_CMDLINE_LINUX=

    Save the file and exit nano.

  3. Now you need to regenerate the boot menu to apply new kernel boot parameter you’ve just added.

    Let’s check, if your system uses UEFI boot or legacy/BIOS boot:
    test -d /sys/firmware/efi && echo EFI || echo Legacy

    If it answers EFI (that’s most newer systems by default), then you need this command to apply changes:
    sudo grub2-mkconfig -o /boot/efi/EFI/fedora/grub.cfg

    If (and only if!) your system is installed in legacy/BIOS mode, then the above command changes to:
    sudo grub2-mkconfig -o /boot/grub2/grub.cfg

  4. Now you need to reboot your machine to see the changes you’ve just applied.

Some additional background info can be accessed like this:
man vconsole.conf

If you need additional details – feel free to ask.

11 Likes

I tried this on a 14" ThinkPad with 4K (UHD) display.

The suggested “LatArCyrHeb-19” font is still way too small. I found “solar24x32” to have the largest font size, but it looks weird. Instead, “latarcyrheb-sun32” looks much better and is almost the same size.

Also check out [SOLVED] Increase Boot Menu Font Size for changing the GRUB font size.

4 Likes

Thanks for the info. The thread helped me.

In the steps, I used grubby command instead of editing the /etc/default/grub manually. Because using the command is recommended on this wiki GRUB 2 - Fedora Project Wiki . I used the /usr/lib/kbd/consolefonts/LatGrkCyr-12x22.psfu.gz as a default console font, because it looks good to me when using tmux splitting window on the console.

5’. We will change the /etc/default/grub by the grubby.

$ sudo grubby --update-kernel=ALL --args=vconsole.font=LatGrkCyr-12x22

(If you want to remove the parameter, run $ sudo grubby --update-kernel=ALL --remove-args=vconsole.font)

6’. Check the result.

$ sudo grubby --info=ALL

7’. Reboot OS

$ sudo reboot

I didn’t need to run the grub2-mkconfig command. Perhaps the grubby might do an equivalent thing.