Linux – How to list console and kernel fonts

consolefontslinux-kernel

I have a number of console fonts installed in /lib/kbd/consolefonts/ installed.

  1. How do I list them (obviously all I can do, is just look at the filenames, but not at a list at available fonts).
  2. How can I change the console fonts?
  3. How do I make a user manipulable directory for those fonts, should I use /usr/local/lib/consolefonts/?

Now, my kernel accepts the SYSFONT parameter: SYSFONT=latarcyrheb-sun16. I'd like to have a list which fonts my kernel supports and how I can select them (as in, how do I list the kernel compiled fonts, or something).

Best Answer

NOTE: Some point of this is not completly stated at LSB. This answer was build on a Debian Squeeze (Debian 6.0.6). Some filepath and filenames may change on other distrib. Editing this answer to help me locate configs file will be welcome!

To answer as your points:

1. How do I list them

(cd /usr/share/consolefonts && find . -type f -name '*.psf.gz'; ) |
    sed 's/.\/\(.*\).psf.gz/\1/' |
    sort |
    column 

For InKernel compiled fonts, things are differents. On Debian, running kernel have a copy of his configuration file in /boot:

grep '^CONFIG_FONT' /boot/config-2.6.32-5-amd64 
CONFIG_FONT_8x8=y
CONFIG_FONT_8x16=y

2. How can I change the console fonts?

Depending on if you want changes to be permanent:

  • For immediates changes (non permanents):

setfont -f Lat15-VGA28x16

  • For permanents changes, have a look at

zless /usr/share/doc/console-setup/README.Debian

vi /etc/default/console-setup

3. should I use /usr/local/lib/consolefonts/?

In fact, yes. You could simply (as root) create a group consolefont, add member to this group and change group's owner of the directory:

addgroup --system consolefont
chown root:consolefont /usr/local/lib/consolefonts
chmod 775 /usr/local/lib/consolefonts
adduser toto consolefont
Related Question