localectl peut être utilisé pour interroger
et changer les paramètres régionaux du système et les
réglages de la configuration du clavier. Cette commande communique
avec systemd-localed(8) pour modifier des fichiers tels que
/etc/locale.conf et /etc/vconsole.conf.
Les paramètres régionaux du système
contrôlent la langue des services du système et de l'interface
utilisateur avant que l'utilisateur ne se connecte, comme le gestionnaire
d'affichage et les paramètres par défaut des utilisateurs
après la connexion.
Les réglages du clavier contrôlent la configuration
du clavier utilisée sur la console texte et l'interface utilisateur
graphique avant la connexion de l'utilisateur, comme le gestionnaire
d'affichage et les paramètres par défaut pour les utilisateurs
après la connexion.
Notez que les changements induits par l'usage de cet outil
nécessitent la reconstruction de l'initrd pour prendre effet lors du
début de l'amorçage du système. L'initrd n'est pas
reconstruite automatiquement par localectl, cette tâche doit
être effectuée manuellement, généralement en
utilisant un outil comme dracut(8).
Notez que vous pouvez utiliser systemd-firstboot(1) pour
initialiser les paramètres régionaux du système pour
les images système montées (mais non amorcées).
Les commandes suivantes sont acceptées :
status
Afficher les réglages actuels du clavier et des
paramètres régionaux du système. Si aucune commande n'est
indiquée, il s'agit de la commande par défaut.
Ajouté dans la version 195.
set-locale LOCALE, set-locale VARIABLE=LOCALE...
Définir les paramètres régionaux du
système. Cette commande accepte un paramètre régional tel
que « fr_FR.UTF-8 » ou une ou plusieurs
affectations de paramètres régionaux tels que
« LANG=de_DE.utf8 »,
« LC_MESSAGES=en_GB.utf8 », etc. Si un
paramètre régional sans nom de variable est fourni,
« LANG= » sera défini. Consulter
locale(7) pour les détails sur les réglages disponibles
et leurs significations. Utiliser
list-locales pour obtenir une liste
des paramètres régionaux disponibles (voir ci-dessous).
Ajouté dans la version 195.
list-locales
Lister les paramètres régionaux utiles pour
la configuration avec
set-locale.
Ajouté dans la version 195.
set-keymap MAP [TOGGLEMAP]
Définir le mappage du clavier du système
pour la console et X11. Accepte un nom de mappage (tel que
« de » ou « fr »), et
si possible un second pour définir un mappage du clavier alternatif.
À moins que
--no-convert ne soit passé, le réglage
sélectionné est aussi appliqué comme défaut pour
le mappage du clavier de X11, après l'avoir converti au plus proche
mappage du clavier de X11 correspondant. Utiliser
list-keymaps pour
obtenir une liste des mappages de clavier disponibles (voir ci-dessous).
Ajouté dans la version 195.
list-keymaps
Lister les mappages de clavier disponibles pour la
console, utile pour la configuration avec
set-keymap.
Ajouté dans la version 195.
set-x11-keymap LAYOUT [MODÈLE [VARIANTE
[OPTIONS]]]
Définir le mappage par défaut du clavier
pour X11 et la console virtuelle. Accepte un nom de mappage clavier (tel que
« de » ou « fr »), et
si possible un modèle, une variante et des options, consulter
kbd(4) pour plus de détails. À moins que
--no-convert ne soit passé, le réglage
sélectionné est aussi appliqué au mappage du clavier de
la console du système, après l'avoir converti au mappage le plus
proche du clavier de la console correspondant.
Ajouté dans la version 195.
list-x11-keymap-models, list-x11-keymap-layouts,
list-x11-keymap-variants [LAYOUT], list-x11-keymap-options
Lister les modèles, les dispositions, les
variantes et les options de clavier X11, utile pour la configuration avec
set-keymap. La commande
list-x11-keymaps-variants accepte en
option un paramètre de disposition pour limiter la sortie aux variantes
disponibles pour la disposition spécifiée.
Ajouté dans la version 201.
Les options suivantes sont comprises :
--no-ask-password
Ne pas demander à l'utilisateur de s'authentifier
pour les opérations requérant des privilèges.
Ajouté dans la version 195.
--no-convert
Si
set-keymap ou
set-x11-keymap est
invoqué et si cette option est passée, la configuration du
clavier ne sera pas convertie de la console à X11 ou de X11 à la
console, respectivement.
Ajouté dans la version 195.
-H, --host=
Effectuer l'opération à distance. Indiquez
un nom d'hôte, ou un nom d'utilisateur et un nom d'hôte
séparés par un « @ », auquel se
connecter. Le nom de l'hôte peut, de façon optionnelle,
être suffixé par un port sur lequel ssh écoute,
séparé par un « : », puis le nom
d'un conteneur, séparé par un « / »,
ce qui connecte alors directement à un conteneur donné sur
l'hôte. Cela utilisera SSH pour dialoguer avec le contrôleur de
la machine distante. Les noms des conteneurs peuvent être
énumérés avec machinectl -H HOST. Mettre
les adresses IPv6 entre crochets.
-M, --machine=
Effectuer l'opération dans un conteneur local.
Précisez le nom d'un conteneur auquel se connecter, optionnellement
préfixé par le nom sous lequel se connecter et un
caractère de séparation « @ ». Si la
chaîne spéciale « .host » est
utilisée à la place du nom du conteneur, une connexion au
système local se produit (ce qui est utile pour se connecter au bus
utilisateur d'un utilisateur particulier) : « --user
--machine=lennart@.host »). Si la syntaxe
« @ » n'est pas utilisée, la connexion est
réalisée en tant que superutilisateur. Si la syntaxe
« @ » est utilisée, le côté
gauche ou le côté droit peuvent être omis (mais pas les
deux à la fois), auquel cas le nom de l'utilisateur local et
« .host » sont implicites.
-h, --help
Afficher un aide-mémoire succinct et
quitter.
--version
Afficher une information de version courte et
quitter.
--no-pager
Ne pas rediriger (pipe) la sortie vers un afficheur
(pager).
$SYSTEMD_LOG_LEVEL
Le niveau maximal de journalisation des messages
émis (les messages avec un niveau de journalisation plus
élevé, c'est-à-dire les moins importants seront
supprimés). Soit un de ces niveaux (par ordre d'importance
décroissante)
emerg,
alert,
crit,
err,
warning,
notice,
info,
debug ou un entier dans
l'intervalle 0...7. Consultez
syslog(3) pour plus d'informations.
$SYSTEMD_LOG_COLOR
Un booléen. Si la valeur est vrai, les messages
écrits sur le terminal seront colorés selon la priorité.
Ce réglage est utile uniquement quand les messages sont
écrits directement dans un terminal ou un fichier parce que
journalctl(1) et d'autres outils qui affichent des journaux
coloreront par eux-mêmes les messages selon le niveau de
journalisation.
$SYSTEMD_LOG_TIME
Un booléen. Si la valeur est vrai, les messages du
journal de la console seront préfixés d'un horodatage.
Ce réglage est utile uniquement quand les messages sont
écrits directement dans un terminal ou un fichier parce que
journalctl(1) et d'autres outils qui affichent des journaux
attacheront par eux-mêmes un horodatage selon les
métadonnées de l'entrée.
$SYSTEMD_LOG_LOCATION
Un booléen. Si la valeur est vrai, les messages
seront préfixés par un nom de fichier et du numéro de
ligne du code source d'où vient le message.
Notez que l'emplacement du journal est souvent attaché
comme métadonnée aux entrées du journal de toute
façon. L'inclure directement dans le texte du message peut
néanmoins être opportun lors du débogage de
programmes.
$SYSTEMD_LOG_TID
Un booléen. Si la valeur est vrai, les messages
seront préfixés par l'identifiant numérique du thread
actuel (TID).
Notez que cette information est attachée comme
métadonnée aux entrées du journal de toute
façon. L'inclure directement dans le texte du message peut
néanmoins être opportun lors du débogage de
programmes.
$SYSTEMD_LOG_TARGET
Destination pour journaliser les messages. Une des
destinations parmi
console (journaliser dans le terminal
attaché),
console-prefixed (journaliser dans le terminal
attaché, mais avec des préfixes qui codent le niveau et le
« service » de journalisation, consultez
syslog(3)),
kmsg (journaliser dans le tampon de journalisation
circulaire du noyau),
journal (journaliser dans le journal),
journal-or-kmsg (journaliser dans le journal s'il est disponible et
sinon dans kmsg),
auto (déterminer automatiquement la cible
appropriée de journalisation, c'est la destination par défaut),
null (désactive la sortie de journalisation).
$SYSTEMD_LOG_RATELIMIT_KMSG
Que ce soit pour le taux de requête kmsg ou pas.
Prend un booléen. Par défaut
« true ». Si désactivé, systemd ne
limitera pas le taux des messages écrits à kmsg.
$SYSTEMD_PAGER
Afficheur à utiliser lorsque
--no-pager
n'est pas précisé ; outrepasse
$PAGER. Si ni
$SYSTEMD_PAGER, ni
$PAGER n'ont de valeur, un ensemble
d’afficheurs bien connus sont essayés à tour de
rôle, incluant
less(1) et
more(1), jusqu'à ce
qu'il y en ait un qui soit trouvé. Si aucun afficheur n'est
trouvé, aucun afficheur n'est appelé. Définir cette
variable d'environnement à une chaîne vide ou à
« cat » est équivalent à
l'utilisation de
--no-pager.
Remarque : si $SYSTEMD_PAGERSECURE n'est pas
défini, $SYSTEMD_PAGER (tout comme $PAGER) sera
ignoré silencieusement.
$SYSTEMD_LESS
Outrepasser les options passées à
less (par défaut « FRSXMK »).
Les utilisateurs voudront peut-être changer deux options en
particulier :
K
Cette option ordonne à l’afficheur de
quitter immédiatement lorsque Ctrl+C est entré. Pour permettre
à
less de gérer Ctrl+C lui-même le retour à
l'invite de commande de l’afficheur, ne pas fournir cette option.
Si la valeur de $SYSTEMD_LESS n'inclut pas
« K » et si l’afficheur appelé est
less, Ctrl+C sera ignoré par l'exécutable et doit
être géré par l’afficheur.
X
Cette option ordonne à l’afficheur de ne
pas envoyer les chaînes d'initialisation et de désinitialisation
de termcap au terminal. C'est le choix par défaut afin de permettre aux
sorties des commandes de rester visibles dans le terminal même
après que l’afficheur soit fermé. Toutefois, cela
empêche quelques fonctionnalités de l’afficheur de
fonctionner, en particulier, il n'est pas possible de faire défiler les
sorties affichées avec la souris.
Notez que le réglage de la variable d'environnement
$LESS normale n'a aucun effet sur les invocations de less par
les outils de systemd.
Voir less(1) pour plus de détails.
$SYSTEMD_LESSCHARSET
Outrepasser le jeu de caractères passé
à
less (par défaut « utf-8 »,
si le terminal invoqué est compatible avec l'UTF-8).
Notez que le réglage de la variable d'environnement
$LESSCHARSET normale n'a aucun effet sur les invocations de
less par les outils de systemd.
$SYSTEMD_PAGERSECURE
Prend un argument booléen. Quand c'est
« vrai », le mode
« secure » de l'afficheur est activé et
quand c'est « faux », il est
désactivé. Si
$SYSTEMD_PAGERSECURE n'est pas du tout
défini, le mode « secure » est
activé si l'UID effectif n'est pas le même que celle du
propriétaire de la session connectée, consulter
geteuid(2) et
sd_pid_get_owner_uid(3). En mode
« secure »,
LESSSECURE=1 sera défini
lors de l'invocation de l'afficheur, et l'afficheur désactivera les
commandes qui ouvrent ou créent de nouveaux fichiers ou lancent de
nouveaux sous-processus. Quand
$SYSTEMD_PAGERSECURE n'est pas du tout
défini, les afficheurs qui ne sont pas reconnus comme
implémentant le mode « secure » ne seront
pas utilisés. (Actuellement seul
less(1) implémente le
mode « secure ».)
Note : quand des commandes sont invoquées avec des
privilèges élevés, par exemple avec sudo(8) ou
pkexec(1), des précautions doivent être prises pour
s'assurer que des fonctions interactives indésirables ne sont pas
activées. Le mode « Secure » de
l'afficheur interactif peut être activé automatiquement comme
décrit plus haut. Définir SYSTEMD_PAGERSECURE=0 ou ne
pas le supprimer de l'environnement hérité autorise
l'utilisateur à invoquer des commandes arbitraires. Notez que si les
variables $SYSTEMD_PAGER ou $PAGER doivent être
respectées, $SYSTEMD_PAGERSECURE doit aussi être
défini. Il pourrait être raisonnable de désactiver
complètement l'afficheur interactif en utilisant plutôt
--no-pager.
$SYSTEMD_COLORS
Prend un argument booléen. Quand c'est
« vrai », systemd et les utilitaires
liés utiliseront la couleur pour leurs sorties, autrement, la sortie
sera monochrome. En plus, la variable peut prendre une des valeurs
spéciales suivantes : 16 ou 256 pour limiter
l'usage des couleurs aux couleurs ANSI base 16 ou base 256
respectivement. Cela peut être précisé pour outrepasser
la décision automatique prise sur $TERM et quel que soit ce
à quoi la console est connectée.
$SYSTEMD_URLIFY
La valeur doit être un booléen.
Contrôle si les liens cliquables doivent être
générés dans la sortie pour des émulateurs de
terminaux le prenant en charge. Cela peut être indiqué pour
passer outre la décision faite par systemd basée sur
$TERM et d'autres conditions.