kmscon.conf(5)

KMSCON.CONF(5) kmscon.conf KMSCON.CONF(5)

NAME

kmscon.conf - Configuration file for KMS/DRM based System Console

DESCRIPTION

kmscon.conf is the configuration file to control the behavior of kmscon and adjust it to your system-setup. It allows to remap the bindings of keyboard-shortcuts, define the desired keyboard-layout, select font attributes for text-rendering, hardware-accelerationn, orientation of output and much more.

Below is a complete list of all recognized Options, their meaning and possible values. In section Example is a typical real-world sample of a configuration to guide you in creating your own.

EXAMPLE

Here is a real-world example of a typical kmscon.conf file:

### General Options ###
verbose
### Seat Options ###
vt=1
switchvt
### Session Options ###
session-max=6
session-control
### Terminal Options ###
term=kmscon
### Input Options ###
xkb-model=pc102
xkb-layout=de
xkb-repeat-delay=200
xkb-repeat-rate=65
mouse
dpms-timeout=600
### Video Options ###
drm
hwaccel
gpus=all
multi-monitor=clone
rotate=normal
### Font Options ###
font-engine=freetype
font-size=18
font-name=Ubuntu Mono

In any line, every character are ignored after a # and considered to be a comment. whitespace are ignored at begining and ending of a line, and around the '=' when assigning a parameter

OPTIONS

Below is a complete list of all recognized options, their meaning and possible values.

verbose

Make kmscon be very chatty about what it is doing. It prints to stdout unless redirected. Off if not present in kmsconf.conf or commented out. (default: off)

debug

Let kmscon be even more chatty. The text-output goes to stdout or any file it was redirected to. Off if not present in kmsconf.conf or commented out. (default: off)

silent

Suppress notices and warnings. (default: off)

configdir

Path to config directory. (default: /etc/kmscon)

vt

Select which VT to run on. (default: auto)

switchvt

Automatically switch to VT. (default: on)

libseat

Use libseat for seat management. (default: off)

session-max

Maximum number of sessions. (default: 50)

session-control

Allow keyboard session-control. (default: off)

login

Start the given login process instead of the default process; all arguments following '--' will be be parsed as argv to this process. No more options after '--' will be parsed so use it at the end of the argument string. (default: /bin/login -p)

term

Value of the TERM environment variable for the child process. (default: kmscon)

reset-env

Reset environment before running child process. (default: on)

issue

Display issue files before the login prompt. Use no-issue to let the login process handle it. (default: on)

issue-path

Colon-separated list of issue files and directories to read, ordered by precedence. It implements uapi masking, so if there are multiple files, with the same name, only the first will be parsed. (default: "/etc/issue:/etc/issue.d:/run/issue:/run/issue.d:/usr/lib/issue:/usr/lib/issue.d")

asciicast

Path to an asciicast animation to play after opening the terminal session. The animation is stopped on keyboard input. (default: unset)

asciicast-loop

Loop the asciicast animation. (default: off)

backspace-delete

Send delete character when backspace is pressed. (default: on)

palette

Select the used color palette. (default: default)

sb-size

Size of the scrollback-buffer in lines. (default: 1000)

bell

Enable bell forwarding to the VT. When enabled, the BEL character (0x07) from applications is forwarded to the underlying VT. (default: off)

blink

Enable cursor and text blink. When enabled, the cursor will blink on the screen, and text with blink attribute will blink too. (default: on)

xkb-model

Set XkbModel for input devices. (default: unset)

xkb-layout

Set XkbLayout for input devices. (default: unset)

xkb-variant

Set XkbVariant for input devices. (default: unset)

xkb-options

Set XkbOptions for input devices. (default: unset)

xkb-keymap

Use a predefined keymap for input devices. (default: unset)

xkb-repeat-delay

Initial delay for key-repeat in ms. (default: 250)

xkb-repeat-rate

Delay between two key-repeats in ms. (default: 50)

mouse

Enable mouse/touchpad/trackpoint in kmscon (default: on). It allows to select, and copy/paste text with a pointing device, and also to scroll with the mouse wheel. It's still experimental, and may not work with specific devices.

natural-scrolling

Invert the mouse wheel direction (natural scrolling). When enabled, scrolling up with the wheel scrolls down and vice versa. (default: off)

soft-cursor

Force software cursor, if hardware cursor is not working properly. (default: off)

dpms-timeout

Set screen timeout in seconds (default: 600 = 10 minutes). When enabled, the screen will automatically turn off (DPMS OFF) after the specified period of keyboard and mouse inactivity. Any keyboard or mouse input will turn the screen back on and reset the timer. This feature is useful for power saving on systems where the screen is not always needed. Set to 0 to disable.

grab-scroll-up

Shortcut to scroll up. (default: <Shift>Up)

grab-scroll-down

Shortcut to scroll down. (default: <Shift>Down)

grab-page-up

Shortcut to scroll page up. (default: <Shift>Prior)

grab-page-down

Shortcut to scroll page down. (default: <Shift>Next)

grab-zoom-in

Shortcut to increase font size. (default: <Ctrl>Plus)

grab-zoom-out

Shortcut to decrease font size. (default: <Ctrl>Minus)

grab-session-next

Switch to next session. (default: <Ctrl><Logo>Right)

grab-session-prev

Switch to previous session. (default: <Ctrl><Logo>Left)

grab-session-close

Close current session. (default: <Ctrl><Logo>BackSpace)

grab-terminal-new

Create new terminal session. (default: <Ctrl><Logo>Return)

grab-rotate-cw

Rotate output clock-wise. (default: <Logo>Plus)

grab-rotate-ccw

Rotate output counter-clock-wise. (default: <Logo>Minus)

grab-reboot

Reboot the system when this keyboard shortcut is pressed. This option is disabled by default. The reboot behavior follows the system-wide setting in /proc/sys/kernel/ctrl-alt-del: when set to 0 (default), a graceful reboot is performed by sending SIGINT to init (PID 1); when set to a value greater than 0, an immediate hard reboot is performed after syncing disk buffers. Example: grab-reboot=<Ctrl><Alt>Delete (default: disabled)

drm

Use DRM if available. (default: on)

hwaccel

Use 3D hardware-acceleration if available. (default: off)

gpus

GPU selection mode. (default: all)

use-original-mode

Use the original KMS video mode. (default: off)

mode

Set the desired output mode. The given width, rate and height must match a supported mode exactly for this option to have any effect; if there is no supported mode that matches exactly, or if there is an error when using the desired mode, then the default mode (first valid mode found) will be used. Gpu, connector, and rate are optional, but if gpu is specified the connector must also be specified. You can find the name of the gpu and connector looking at kmscon logs. journalctl -u kmsconvt@* | grep display This parameter can be specified multiple times to set different modes for different gpus/connectors.

Modesetting is only supported in DRM mode, so this option does nothing with fbdev. However, fbset can still be used to externally set the mode when fbdev is in use.

multi-monitor {clone,largest,scaled}

When there are multiple monitors, this option controls how the monitors are used.

`clone': All monitors will have the same size. The smallest monitor will be used to determine the size.

`largest': The largest monitor will be used to determine the size. The other monitors will be disabled. If multiple monitors have the largest size, they will all be used.

`scaled': All monitors will display the same number of columns and rows based on the smallest monitor, with larger monitors scaling up their font size to fill the screen.

default: scaled

screen {gpu}[{connector}]{config}

Select the desired screen configuration. gpu and connector are optional. config is one of 'normal', 'upside-down', 'left', 'right' and 'disabled'. If config is 'disabled' kmscon won't use this display, unless it is the only available display. If gpu/connector are not specified, this will apply to all available displays. You can specify multiple screen configurations, to setup different configurations for different displays.

font-engine

Font engine to use. (default: freetype)

font-size

Font height in pixels. 0 will auto-detect (default: 0)

font-name

Font name to use. (default: monospace)

FILES

Main configuration file

/etc/kmscon/kmscon.conf

Seat specific configuration file

/etc/kmscon/{seat_name}.kmscon.conf

SEE ALSO

kmscon(1)

January 2023 kmscon.conf