Changing the Console Font of Linux Servers to a Classic VT100/VT220

I used to use a real VT220 terminal way back in the college days, and I remembered that I rather liked the font. So I decided to make a linux console font to use it on the text console of linux hosts.

Place the font file in /usr/share/consolefonts

Edit /etc/default/console-setup to have the lines:

CHARMAP="UTF-8"
FONTFACE="VGA"
FONTSIZE="8x16"
FONT="vt220.psf.gz" 

This gives the best effect when combined with changing to a blinking green block cursor.

There is a bug in the Ubuntu 20.x (and probably prior versions) script that sets the console fonts (/usr/bin/setupcon). When you specify a FONT, for some reason, the script puts its name in twice, which breaks the script. It’s a simple enough fix. Find the line (line 690 as of when I am writing this):

FONTFILES=`echo $FONTFILES` # remove extra spaces

and change it to read:

FONTFILES=`echo $FONTFILES | tr ' ' '\n' | sort | uniq | tr '\n' ' '` # remove extra spaces

This will remove any duplicate file names, which will make it load correctly instead of erroring out and not setting it to the requested font.

Extra bonus: If you use a Raspberry Pi, and have one of the official screens for it, when you use this font, you get a perfect old school 80×24 terminal. Now if only the linux console supported all of the DEC primitives like double sized text and such…

1 thought on “Changing the Console Font of Linux Servers to a Classic VT100/VT220”

Leave a Comment