localectl
queries and changes the system locale and keyboard layout settings
TLDR
Show current locale and keymap settings
$ localectl
List available locales$ localectl list-locales
Set a system locale variable$ localectl set-locale LANG=en_US.UTF-8
List available keymaps$ localectl list-keymaps
Set system keyboard mapping$ localectl set-keymap us
Set X11 keyboard layout$ localectl set-x11-keymap us pc105
SYNOPSIS
localectl [OPTIONS] [COMMAND]
DESCRIPTION
localectl queries and changes the system locale and keyboard layout settings. It controls both console and X11 keyboard mappings through systemd-localed.
PARAMETERS
--no-ask-password
Do not prompt for password--no-convert
Do not convert console keymap to X11 or vice versa-H, --host
Execute operation on remote host-M, --machine
Execute operation on container
COMMANDS
status
Show current locale and keymap settingsset-locale LOCALE...
Set system locale variables (LANG, LC_*, etc.)list-locales
List available localesset-keymap MAP [TOGGLEMAP]
Set console keyboard mappinglist-keymaps
List available console keymapsset-x11-keymap LAYOUT [MODEL [VARIANT [OPTIONS]]]
Set X11 keyboard mappinglist-x11-keymap-models
List X11 keyboard modelslist-x11-keymap-layouts
List X11 keyboard layoutslist-x11-keymap-variants [LAYOUT]
List X11 keyboard variantslist-x11-keymap-options
List X11 keyboard options
COMMON LOCALE VARIABLES
LANG: Default locale for all categoriesLC_COLLATE: String collation orderLC_CTYPE: Character classificationLC_MESSAGES: Message languageLC_NUMERIC: Number formattingLC_TIME: Date and time formatting
CAVEATS
Setting the console keymap with set-keymap automatically updates the X11 keymap unless --no-convert is used. Changes take effect immediately for new sessions.
HISTORY
localectl is part of systemd, providing unified locale and keymap management through systemd-localed.
SEE ALSO
systemd-localed(8), locale(1), loadkeys(1), locale.conf(5)
