CONSOLE-SETUP(5)
๐ CONSOLE-SETUP(5) ๐
Console-setup User's Manual ๐
๐ธ NAME
console-setup - the config file for setupcon โจ
๐ DESCRIPTION
okay so the file console-setup is where you tell setupcon(1) which encoding and font to use when it sets up the console ๐ฅ๏ธโจ you can also use it to pick a keyboard layout, but ngl it's not recommended, so go use keyboard(5) for that ๐ซถ
the font part has three parameters: codeset, font face and font size ๐ค the codeset is what decides which characters the font actually supports. it's not a one-to-one thing with encodings either. like, the codeset Lat15 works for ISO 8859-1, ISO 8859-9 and ISO 8859-15, which is so iconic ๐ there are two kinds of codesets, small and big. only the small ones are supported on FreeBSD ๐
the font face is the general look of the font ๐ฆ each face only comes in certain sizes. on FreeBSD the only valid sizes are 8x16, 8x14 and 8x8. on Linux, if framebuffer isn't being used, or if consolechars(1) is installed instead of setfont(1), then the sizes are allowed to look like 8xNUMBER ๐
โ ๏ธ FreeBSD's console driver can load fonts in different sizes at the same time, and which one actually gets used depends on the current video mode ๐ so on FreeBSD the font size you set gets ignored, and setupcon(1) loads your chosen font face in all available sizes. no cap, it's a whole vibe ๐ญ
the file is just variable settings in POSIX format, like this:
VARIABLE='VALUE'
only one assignment per line, okay? โจ comments are allowed too, and they start with # ๐ง
๐ OPTIONS
the following variables can be set ๐
ACTIVE_CONSOLESโ this picks which virtual terminals get configured, using their device files in/dev๐ฅ๏ธ file name wild-cards (*,?) are allowed. on Linux you'll usually set it to/dev/tty[1-6], and on FreeBSD a sensible value is/dev/ttyv[0-8]. you can also give it the special valueguess, which makessetupcon(1)try to figure out the active virtual consoles by checking config files like/etc/inittaband/etc/ttys. fair warning, this guessing isn't always reliable ๐CHARMAPโ this is the encoding you want on the console ๐ค the valid values are: UTF-8, ARMSCII-8, CP1251, CP1255, CP1256, GEORGIAN-ACADEMY, GEORGIAN-PS, IBM1133, ISIRI-3342, ISO-8859-1, ISO-8859-2, ISO-8859-3, ISO-8859-4, ISO-8859-5, ISO-8859-6, ISO-8859-7, ISO-8859-8, ISO-8859-9, ISO-8859-10, ISO-8859-11, ISO-8859-13, ISO-8859-14, ISO-8859-15, ISO-8859-16, KOI8-R, KOI8-U, TIS-620 and VISCII. the special valueguessis also recognized, and then the system commandlocale(1)is used to guess the encoding you want. this only works reliably with GNU libc, so keep that in mind bestie ๐งCODESETโ in most cases you can just use the special valueguesshere, and a suitable codeset gets guessed for you โจ the codeset decides which symbols the font supports. valid small codesets are: Armenian, CyrAsia, CyrKoi, CyrSlav, Georgian, Greek, Hebrew, Lao, Lat15, Lat2, Lat38, Lat7 and Thai. valid big codesets are: Arabic, Ethiopian, Uni1, Uni2, Uni3 and Vietnamese. only small codesets can be used on FreeBSD ๐ check out the section called โCODESETSโ below for a detailed breakdown of each one ๐FONTFACEandFONTSIZEโ okay the font faces are giving a lot ๐ VGA comes in sizes 8x8, 8x14, 8x16, 16x28 and 16x32. Terminus comes in 6x12, 8x14, 8x16, 10x20, 12x24, 14x28 and 16x32. TerminusBold comes in 8x14, 8x16, 10x20, 12x24, 14x28 and 16x32. TerminusBoldVGA comes in 8x14 and 8x16. and Fixed comes in 8x13, 8x14, 8x15, 8x16 and 8x18. but ifCODESET=Ethiopian, then the only faces available are Goha and GohaClassic, each in sizes 8x12, 8x14 and 8x16. then there's DejaVu and DejaVuBold, in sizes 30x16, 36x20, 43x24, 51x28, 59x32, 74x40, 89x48 and 118x64 ๐ if you only want to set up the keyboard and leave the console font alone, setFONTFACEandFONTSIZEto empty strings ๐ซถVIDEOMODEโ set this to an empty string if you don't want the video mode touched at all ๐ โโ๏ธ on FreeBSD you can runvidcontrol -i modeto see every possible video mode ๐ on Linux,fbset(1)is what configures the video mode, but ngl it very often doesn't work, because the default framebuffer driver (VesaFB) is kinda limited and doesn't let you change the video mode ๐ญFONT,FONT_MAPandCONSOLE_MAPโ if these are set, you're telling it to use a non-standard font ๐ the value ofFONTis one or more font file names, separated by spaces. on Linux, when the font doesn't have an embedded Unicode map, you can give it an external one withFONT_MAP. the value ofCONSOLE_MAPis a file that holds a translation map from your user's 8-bit encoding to Unicode (Linux only), or directly to font positions ๐งSCREEN_WIDTHandSCREEN_HEIGHTโ if these are set, they specify a screen size thatsetupcon(1)will enforce usingstty(1)๐ this can be super useful with some braille devices that are only 40 cells wide ๐ฆ the screen size can't go bigger than what the current screen resolution can display, based on the size of the loaded font ๐BEEPโ this one controls the style of the system beep on the console ๐ when it's unset, or whenBEEP=default, no changes get made to the system beep. the other possible values are:standardโ sets a standard beep ๐shortโ like the standard beep, but a little shorter โจshortestโ even more short, perfect when your work makes lots and lots of beeps ๐politeโ a very short beep with a low frequency, great when other people are in the room ๐ซถattentionโ a very long beep, good for warning yourself about something happening ๐annoyingโ also a long beep, good for warning somebody else about something happening ๐ญoffโ disables the system beep on the console ๐คซ
๐ CODESETS ๐
okay so there are two kinds of codesets ๐ small ones (up to 256 symbols) and big ones (up to 512 symbols). Only small codesets can be used on FreeBSD ๐ And when the screen is in text mode (aka the framebuffer isn't being used), fonts covering big codesets will reduce how many foreground colors you get. bestie, that's a real trade-off ngl ๐ญ
๐ท Arabic (a big codeset)
Supported languages: Arabic, Kurdish in Iran, Pashto, Persian and Urdu.
This one is completely covered by the font faces Fixed (size 8x16) and VGA (sizes 8x16 and 16x32). ๐โจ
๐ซ Armenian
Supported language: Armenian.
Completely covered by the font face Fixed (all sizes). ๐ฆ
๐ช CyrAsia
This codeset supports some of the non-Slavic Cyrillic languages. The list is giving range ๐: Abkhazia, Avaric, Azerbaijani, Bashkir, Buryat, Chechen, Chuvash, Inupiaq (Eskimo), Kara-Kalpak, Kazakh, Kirgiz, Komi, Kumyk, Kurdish, Lezghian, Mari (Cheremis), Mongolian, Ossetic, Selkup (Ostyak-Samoyed), Tajik, Tatar, Turkmen, Tuvinian, Uzbek and Yakut.
It's completely supported by the font face Fixed (all sizes). ๐
๐งฃ CyrKoi
This one supports entirely the 8-bit encodings KOI8-R and KOI8-U. It's suitable for Russian and Ukrainian when one of these two encodings is used. ๐ท๐บ๐บ๐ฆ
Completely covered by the font faces Fixed, Terminus, TerminusBold, TerminusBoldVGA and VGA, in all sizes. ๐ธ
๐ป CyrSlav
This one supports entirely the 8-bit encodings ISO-8859-5 and CP1251. It's suitable for the Slavic Cyrillic languages: Belarusian, Bulgarian, Macedonian, Russian, Serbian and Ukrainian. For Serbian, both the Cyrillic and the Latin alphabets are supported, so it's giving two-for-one ๐ฏโโ๏ธ
Completely covered by the following font faces: Fixed (all sizes), Terminus (all sizes), TerminusBold (all sizes), TerminusBoldVGA (all sizes), and VGA (sizes 8x16 and 16x32). ๐
๐ฆ Ethiopian (a big codeset)
Supports Amharic, Ethiopic (Geez), Tigre and Tigrinya. ๐
This codeset is only partially covered by the font faces Fixed (sizes 8x15 and 8x18), Goha (all sizes) and GohaClassic (all sizes). Partial, not full, so keep that in mind bestie ๐ซถ
๐๏ธ Georgian
Supported language: Georgian.
Completely covered by the font face Fixed (all sizes). ๐
๐บ Greek
Supported language: Greek.
Completely covered by the font face Fixed (all sizes) and VGA (sizes 8x16 and 16x32). ๐ฟ
๐ Hebrew
Supported languages: Hebrew and Yiddish.
Completely covered by the font face Fixed (sizes 8x13, 8x15, 8x16 and 8x18) and VGA (sizes 8x16 and 16x32). โจ
๐ชท Lao
Supported language: Lao.
Completely covered by the font face Fixed (sizes 8x15 and 8x16). ๐บ
๐ช๐บ Lat15
This one covers entirely ISO-8859-1, ISO-8859-9 and ISO-8859-15. It's suitable for the so-called Latin1 and Latin5 languages, and the list is LONG ๐ญ๐: Afar, Afrikaans, Albanian, Aragonese, Asturian, Aymara, Basque, Bislama, Breton, Catalan, Chamorro, Danish, Dutch, English, Estonian, Faroese, Fijian, Finnish, French, Frisian, Friulian, Galician, German, Hiri Motu, Icelandic, Ido, Indonesian, Interlingua, Interlingue, Italian, Low Saxon, Lule Sami, Luxembourgish, Malagasy, Manx Gaelic, Norwegian Bokmal, Norwegian Nynorsk, Occitan, Oromo or Galla, Portuguese, Rhaeto-Romance (Romansch), Scots Gaelic, Somali, South Sami, Spanish, Swahili, Swedish, Tswana, Turkish, Volapuk, Votic, Walloon, Xhosa, Yapese and Zulu. Iconic ๐
Completely covered by the font faces Fixed (all sizes), Terminus (all sizes), TerminusBold (all sizes), TerminusBoldVGA (all sizes), and VGA (sizes 8x16 and 16x32). ๐
๐ Lat2
This one covers entirely ISO-8859-2. The Euro sign and the Romanian letters with comma below are also supported ๐ช๐บโจ. It's suitable for the so-called Latin2 languages: Bosnian, Croatian, Czech, Hungarian, Polish, Romanian, Slovak, Slovenian and Sorbian (lower and upper).
Completely covered by the font faces Fixed (all sizes), Terminus (all sizes), TerminusBold (all sizes), TerminusBoldVGA (all sizes), and VGA (sizes 8x16 and 16x32). ๐ฆ
๐ Lat38
This one covers entirely ISO-8859-3 and ISO-8859-14. It's suitable for Chichewa, Esperanto, Irish, Maltese and Welsh. ๐
Completely covered by the font faces Fixed (all sizes) and VGA (sizes 8x16 and 16x32). ๐
๐ Lat7
This one covers entirely ISO-8859-13. It's suitable for Lithuanian, Latvian, Maori and Marshallese. ๐
Completely covered by the font faces Fixed (all sizes), Terminus (all sizes), TerminusBold (all sizes), TerminusBoldVGA (all sizes), and VGA (sizes 8x16 and 16x32). ๐ซง
๐ Thai
Supported language: Thai.
Completely covered by the font face Fixed (all sizes). ๐ชท
๐ Uni1 (a big codeset)
Supports most of the Latin languages, the Slavic Cyrillic languages, Hebrew and barely Arabic. (Barely, bestie. Barely. ๐)
Completely covered by the font faces Fixed (sizes 8x15 and 8x16) and VGA (all sizes). ๐ฅ
๐ Uni2 (a big codeset)
Supports most of the Latin languages, the Slavic Cyrillic languages and Greek. ๐๏ธ
Completely covered by the font faces Fixed (all sizes) and VGA (sizes 8x16 and 16x32). โจ
๐ Uni3 (a big codeset)
Supports most of the Latin and Cyrillic languages. ๐ธ
Completely covered by the font face Fixed (all sizes). ๐
๐ป๐ณ Vietnamese (a big codeset)
Supported language: Vietnamese.
Completely covered by the font face Fixed (sizes 8x13, 8x15, 8x16 and 8x18). ๐
๐ FILES ๐
The standard location of the console-setup configuration file is /etc/default/console-setup. The keyboard configuration lives in /etc/default/keyboard. ๐๏ธ
Fonts that can be used with the variable FONT are usually installed in /usr/share/consolefonts/ or /usr/share/syscons/fonts/.
Translation maps that can be used with the variable CONSOLE_MAP are usually installed in /usr/share/consoletrans/ or /usr/share/syscons/scrnmaps/. ๐ง
๐ NOTES ๐
okay so the whole aim of the Terminus font is to reduce eye fatigue when you have to read a lot ๐๐. Right now it only supports the Latin, the Cyrillic and the Greek scripts (that means the Lat15, Lat2, Lat7, CyrAsia, CyrKoi, CyrSlav, Greek, Uni2 and Uni3 codesets).
The fonts with font face TerminusBoldVGA are optimized for regular text video modes. They should not be used with framebuffer video modes ๐ซ. The fonts with font face TerminusBold are optimized for the framebuffer video modes. And the fonts with font face Terminus can be used in all video modes, so it's the most versatile queen ๐
๐ฆ SEE ALSO ๐ฆ
setupcon(1), keyboard(5), setfont(8), vidcontrol(1) ๐
That's a wrap, bestie! ๐โจ This was console-setup, dated 2011-03-17, and honestly it's still giving ๐๐๐ซถ
๐ฆ where this page comes from
- debian trixie: console-setup 1.242~deb13u1
- debian trixie: console-setup-mini 1.242~deb13u1
- ubuntu questing: console-setup 1.237ubuntu1
- ubuntu questing: console-setup-mini 1.237ubuntu1
- ubuntu resolute: console-setup 1.237ubuntu3
- ubuntu resolute: console-setup 1.237ubuntu3.1
- ubuntu resolute: console-setup-mini 1.237ubuntu3
- ubuntu resolute: console-setup-mini 1.237ubuntu3.1
- ubuntu stonking: console-setup 1.248ubuntu3
- ubuntu stonking: console-setup-mini 1.248ubuntu3
- Copyright (C) 2011 Anton Zinoviev <anton@lml.bas.bg>
- ๐ girlified by anthropic/claude-haiku-5.5 on : a language model's rewrite of the original, under its terms