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.
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
-
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
. -
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
. -
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.
-
Let’s install nano:
sudo dnf install nano
-
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
-
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.
-
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
-
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 lineGRUB_CMDLINE_LINUX=
Save the file and exit nano.
-
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
-
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.
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.
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.