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 value guess, which makes setupcon(1) try to figure out the active virtual consoles by checking config files like /etc/inittab and /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 value guess is also recognized, and then the system command locale(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 value guess here, 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 ๐Ÿ“–
  • FONTFACE and FONTSIZE โ€” 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 if CODESET=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, set FONTFACE and FONTSIZE to empty strings ๐Ÿซถ
  • VIDEOMODE โ€” set this to an empty string if you don't want the video mode touched at all ๐Ÿ™…โ€โ™€๏ธ on FreeBSD you can run vidcontrol -i mode to 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_MAP and CONSOLE_MAP โ€” if these are set, you're telling it to use a non-standard font ๐ŸŽ€ the value of FONT is 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 with FONT_MAP. the value of CONSOLE_MAP is a file that holds a translation map from your user's 8-bit encoding to Unicode (Linux only), or directly to font positions ๐Ÿงš
  • SCREEN_WIDTH and SCREEN_HEIGHT โ€” if these are set, they specify a screen size that setupcon(1) will enforce using stty(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 when BEEP=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 ๐ŸŒˆ๐Ÿ’œ๐Ÿซถ