---
name: "setupcon"
section: "1"
platform: "linux"
package: "console-setup"
version: "1.242~deb13u1"
release: "Debian 13 (Trixie)"
platforms: ["linux"]
url: "https://new.carta.tech/setupcon"
---

# setupcon(1)

sets up the font and the keyboard on the console

## NAME

setupcon - sets up the font and the keyboard on the console

## SYNOPSIS

**setupcon** \[*OPTION*\]... \[*VARIANT*\]

## DESCRIPTION

**setupcon** is a program for fast and easy setup of the font and the keyboard on the console.  Most of the time you invoke **setupcon** without arguments.  The keyboard configuration is specified in *~/.keyboard* or */etc/default/keyboard*. The font configuration is specified in *~/.console-setup* or */etc/default/console-setup*. Consult [**keyboard**(5)](/keyboard/5.md) and [**console-setup**(5)](/console-setup/5.md) for instructions how to configure these two files.

If you have to switch often between different encodings, keyboards or languages, you can prepare several alternative configuration files for **setupcon**. Suppose that most of the time you will use Greek language with Greek keyboard layout, but sometimes you need to type in German with German keyboard layout.  In this situation you should customize the main configuration files (*keyboard* and *console-setup*) for Greek.  Also, create alternative configuration files for German named *keyboard.german* and *console-setup.german*. Then in order to configure the console for Greek you will simply run the command with no arguments: *setupcon* and in order to configure the console for German you will use *setupcon german*.

## OPTIONS

- *VARIANT*

  Specifies which configuration file to use.  With no variant, the configuration files of **setupcon** are named *console-setup* and *keyboard*. On the other hand, if you use e.g. *chukchi* as *VARIANT* then the configuration files are *console-setup.chukchi* and *keyboard.chukchi*. In this way you can have easy access to several different configurations - for example one for the Chukchi language and another for the default configuration.

- **-v**, **--verbose**

  Be more verbose.   Use this option if something goes wrong or while experimenting with the configuration files.

- **-k**, **--keyboard-only**

  Setup the keyboard only, do not setup the font or the terminal.  On Linux it is enough to do this configuration only once.

- **-f**, **--font-only**

  Setup the font only, do not setup the keyboard or the terminal.  On Linux this configuration should be repeated each time a new console driver is activated (for example when the frame buffer becomes active).

- **-t**, **--terminal-only**

  Setup the terminal only, do not setup the keyboard or the font.

- **--current-tty**

  Setup the only the current virtual terminal.

- **--force**

  Do not check whether we are on the console.  Notice that you can be forced to hard-reboot your computer if you run **setupcon** with this option and the screen is controlled by a X server.

- **--save**

  This option can be useful if you want to use **setupcon** early in the boot process while */usr* is not yet mounted and the required data are not available.  This option will make **setupcon** copy the required files in */etc/console-setup/* in order to make them available before */usr* is mounted.  If you use **setupcon** early in the boot process, then you should run it with this option after every change of the console configuration.

- **--save-only**

  The same as *--save*, but does not setup anything.  This option can be useful if you want to save the required files while the screen is controlled by a X server.

- **--save-keyboard** *FILE*

  For use by initrd builders.  Do not configure anything.  Save an usable keyboard layout in *FILE*.

- **--setup-dir** *DIR*

  For use by initrd builders.  Do not configure anything.  Arrange in the directory *DIR* everything necessary in order to configure the console.  The file *DIR/morefiles* lists all binaries the initrd builder has to install in the initrd image.  All other files in *DIR* have to be copied unchanged in the initrd.  In order to configure the console one has to run the script *DIR/bin/setupcon*.

- **-h**, **--help**

  Display usage information.

## FILES

*~/.console-setup*\
 *~/.keyboard*\
 */etc/default/console-setup*\
 */etc/default/keyboard*\
 */etc/default/console-setup.VARIANT*\
 */etc/default/keyboard.VARIANT*\
 */etc/console-setup/*

## SEE ALSO

[**keyboard**(5)](/keyboard/5.md), [**console-setup**(5)](/console-setup/5.md)
