localectl pode ser usado para consultar e alterar as
configurações do layout de teclado e da localidade do sistema.
Ele se comunica com systemd-localed(8) para modificar arquivos como
/etc/locale.conf e /etc/vconsole.conf.
A localidade do sistema controla as configurações de
idioma dos serviços do sistema e da UI antes do usuário se
autenticar, tal como o gerenciador de exibição, bem como o
padrão para usuários após estar autenticado
As configurações de teclado controlam o layout de
teclado usado no console de texto e da UI gráfica antes do
usuário se autenticar, tal como o gerenciador de
exibição, bem como o padrão para usuários
após estar autenticado
Note that the changes performed using this tool might require the
initrd to be rebuilt to take effect during early system boot. The initrd is
not rebuilt automatically by localectl, this task has to be performed
manually, usually by reinstalling the distribution's kernel package.
Observe que systemd-firstboot(1) pode ser usado para
inicializar a localidade do sistema para imagens montadas (mas não
inicializadas) do sistema.
Os seguintes comandos são aceitos:
status
Mostra as configurações atuais da
localidade do sistema e mapeamento de teclado. Se nenhum comando for
especificado, isto está implícito por padrão.
Added in version 195.
set-locale LOCALIDADE, set-locale
VARIÁVEL=LOCALIDADE...
Define a localidade do sistema. Recebe uma localidade
como "en_US.UTF-8" ou recebe uma ou mais atribuições
de localidades tais como "LANG=de_DE.utf8",
"LC_MESSAGES=en_GB.utf8" e por aí vai. Se uma localidade sem
nome de variável é fornecida, então a variável de
localidade "LANG=" será definida. Consulte
locale(7)
para detalhes nas configurações disponíveis e seus
significados. Use
list-locales para uma lista de localidades
disponíveis (consulte abaixo).
Added in version 195.
list-locales
Lista as localidades disponíveis úteis para
configurações com
set-locale.
Added in version 195.
set-keymap MAPA [MAPA_ALTERNATIVO]
Define o mapeamento de teclado do sistema para o console
e o X11. Recebe um nome de mapeamento (como "de" ou "us")
e possivelmente um segundo para definir um mapeamento de teclado alternativo.
A menos que
--no-convert seja passado, a configuração
selecionada também é aplicada como o mapeamento padrão de
teclado do sistema para X11, após convertê-lo para
correspondência mais próxima de mapeamento de teclado para X11.
Use
list-keymaps para uma lista de mapeamentos de teclado
disponíveis (veja abaixo).
Added in version 195.
list-keymaps
Lista mapeamentos de teclado disponíveis par o
console, útil para a configuração com
set-keymap.
Added in version 195.
set-x11-keymap LAYOUT [MODELO [VARIANTE
[OPÇÕES]]]
Define o mapeamento de teclado padrão do sistema
para X11 e o console virtual. Recebe um nome de mapeamento de teclado (como
"de" ou "us") e, possivelmente, um modelo, variante e
opções, consulte
kbd(4) para obter detalhes. A menos que
--no-convert seja passado, a configuração selecionada
também é aplicada como o mapeamento do teclado do console do
sistema, após convertê-lo para o mapeamento de teclado do
console mais próximo.
Added in version 195.
list-x11-keymap-models, list-x11-keymap-layouts,
list-x11-keymap-variants [LAYOUT], list-x11-keymap-options
Lista os modelos de teclado X11 disponíveis,
layouts, variantes e opções, úteis para
configuração com
set-keymap. O comando
list-x11-keymap-variants, opcionalmente, recebe um parâmetro de
layout para limitar a saída às variantes adequadas para o layout
específico.
Added in version 201.
As seguintes opções são aceitas:
--no-ask-password
Não pergunta ao usuário por
autenticação para operações privilegiadas.
Added in version 195.
--no-convert
Se
set-keymap ou
set-x11-keymap é
chamado e esta opção é passada, então o mapa de
teclas não será convertido do console para X11, ou X11 para
console, respectivamente.
Added in version 195.
-H, --host=
Executa a operação remotamente. Especifique
um nome de host, ou um nome de usuário e nome de host separados por
"@", para se conectar. O nome do host pode opcionalmente ser
sufixado por uma porta na qual o ssh está escutando, separado por
":" e, em seguida, um nome de contêiner, separado por
"/", que se conecta diretamente a um contêiner
específico no host especificado. Isso usará SSH para se
comunicar com a instância do gerenciador de máquina remota. Os
nomes dos contêineres podem ser enumerados com machinectl
-HHOST. Coloque os endereços IPv6 entre colchetes.
-M, --machine=
Executa a operação em um contêiner
local. Especifique um nome de contêiner para se conectar, opcionalmente
prefixado por um nome de usuário para se conectar e um caractere de
separação "@". Se a string especial ".host"
for usada no lugar do nome do contêiner, uma conexão com o
sistema local é feita (o que é útil para se conectar a um
barramento de usuário especifício para o usuário:
"--user --machine=lennart@.host"). Se a sintaxe "@"
não for usada, a conexão será feita como usuário
root. Se a sintaxe "@" for usada do lado esquerdo ou direito, pode
ser omitido (mas não ambos), caso em que o nome de usuário local
e ".host" estão implícitos.
-h, --help
Imprime um texto de ajuda curto e sai.
--version
Imprime uma string curta de versão e sai.
--no-pager
Não encadeia a saída para um
paginador.
$SYSTEMD_LOG_LEVEL
The maximum log level of emitted messages (messages with
a higher log level, i.e. less important ones, will be suppressed). Takes a
comma-separated list of values. A value may be either one of (in order of
decreasing importance)
emerg,
alert,
crit,
err,
warning,
notice,
info,
debug, or an integer in the
range 0...7. See
syslog(3) for more information. Each value may
optionally be prefixed with one of
console,
syslog,
kmsg
or
journal followed by a colon to set the maximum log level for that
specific log target (e.g.
SYSTEMD_LOG_LEVEL=debug,console:info
specifies to log at debug level except when logging to the console which
should be at info level). Note that the global maximum log level takes
priority over any per target maximum log levels.
$SYSTEMD_LOG_COLOR
Um booleano. Se verdadeiro, as mensagens gravadas no tty
serão coloridas de acordo com a prioridade.
Esta configuração só é útil
quando as mensagens são gravadas diretamente no terminal, porque
journalctl(1) e outras ferramentas que exibem logs irão
colorir mensagens com base no nível de log por conta
própria.
$SYSTEMD_LOG_TIME
Um booleano. Se verdadeiro, as mensagens de log do
console serão prefixadas com um carimbo de data/hora.
Esta configuração só é útil
quando as mensagens são gravadas diretamente no terminal ou em um
arquivo, porque journalctl(1) e outras ferramentas que exibem logs
irão anexar carimbos de data/hora com base nos metadados de entrada
por conta própria.
$SYSTEMD_LOG_LOCATION
Um booleano &. Se verdadeiro, as mensagens
serão prefixadas com um nome de arquivo e número de linha no
código-fonte onde a mensagem se origina.
Observe que o local do registro é frequentemente anexado
como metadados às entradas de journal de qualquer maneira.
Incluí-lo diretamente no texto da mensagem pode, no entanto, ser
conveniente ao depurar programas.
$SYSTEMD_LOG_TID
Um booleano. Se verdadeiro, as mensagens serão
prefixadas com o ID de thread numérico atual (TID).
Observe que essas informações são anexadas
como metadados às entradas de journal de qualquer maneira.
Incluí-las diretamente no texto da mensagem pode, no entanto, ser
conveniente ao depurar programas.
$SYSTEMD_LOG_TARGET
O destino das mensagens de log. Um de
console (log
para o tty anexado),
console-prefixed (log para o tty anexado, mas com
prefixos que codificam o nível de log e "facilidade",
consulte
syslog(3),
kmsg (log para o buffer de log circular do
kernel),
journal (log para o journal),
journal-or-kmsg (log para
o journal se disponível, e para kmsg caso contrário),
auto (determinar o destino de log apropriado automaticamente, o
padrão),
null (desabilita a saída de log).
$SYSTEMD_LOG_RATELIMIT_KMSG
Whether to ratelimit kmsg or not. Takes a boolean.
Defaults to "true". If disabled, systemd will not ratelimit messages
written to kmsg.
$SYSTEMD_PAGER
Paginador a ser usado quando
--no-pager não
é fornecido; substitui
$PAGER. Se nem
$SYSTEMD_PAGER nem
$PAGER forem definidos, um conjunto de implementações de
paginador bem conhecidas é tentado por sua vez, incluindo
less(1) e
more(1), até que um seja encontrado. Se nenhuma
implementação de paginador for descoberta, nenhum paginador
será chamado. Definir esta variável de ambiente como uma string
vazia ou o valor "cat" é equivalente a passar
--no-pager.
Nota: Se $SYSTEMD_PAGERSECURE não estiver definido,
$SYSTEMD_PAGER (assim como $PAGER) será ignorado
silenciosamente.
$SYSTEMD_LESS
Substitui as opções passadas para
less (por padrão, "FRSXMK").
Usuários podem querer alterar duas opções em
particular:
K
Esta opção instrui o paginador a sair
imediatamente quando Ctrl+C é pressionado. Para permitir que
less manipule o Ctrl+C ele mesmo para voltar ao prompt de comando do
paginador, desmarque esta opção.
Se o valor de $SYSTEMD_LESS não incluir
"K" e o paginador que é chamado é less,
Ctrl+C será ignorado pelo executável e precisa ser manipulado
pelo paginador.
X
Esta opção instrui o paginador a não
enviar strings de inicialização e desinicialização
do termcap para o terminal. É definido por padrão para permitir
que a saída do comando permaneça visível no terminal
mesmo após a saída do paginador. No entanto, isso impede que
algumas funcionalidades do paginador funcionem, em particular a saída
paginada não pode ser rolada com o mouse.
Note that setting the regular $LESS environment variable
has no effect for less invocations by systemd tools.
Veja less(1) para mais discussão.
$SYSTEMD_LESSCHARSET
Substitui o conjunto de caracters passado para
less (por padrão, "utf-8", se o terminal chamador
é determinado como sendo compatível com UTF-8).
Note that setting the regular $LESSCHARSET environment
variable has no effect for less invocations by systemd tools.
$SYSTEMD_PAGERSECURE
Recebe um argumento booleano. Quando verdadeiro, o modo
"seguro" do paginador é habilitado; se falso, desabilitado.
Se
$SYSTEMD_PAGERSECURE não estiver definido, o modo seguro
é habilitado se o UID efetivo não for o mesmo que o dono da
sessão de login, consulte
geteuid(2) e
sd_pid_get_owner_uid(3) . No modo seguro,
LESSSECURE=1
será definido ao chamar o paginador, e o paginador deve desabilitar
comandos que abrem ou criam novos arquivos ou iniciam novos subprocessos.
Quando
$SYSTEMD_PAGERSECURE não está configurado,
paginadores que não são conhecidos por implementar o modo seguro
não serão usados. (Atualmente, apenas
less(1) implementa
o modo seguro.)
Nota: quando os comandos são chamados com
privilégios elevados, por exemplo, sob sudo(8) ou
pkexec(1), deve-se tomar cuidado para garantir que recursos
interativos indesejados não sejam ativados. O modo "seguro"
para o paginador pode ser habilitado automaticamente conforme descrito
acima. Definir SYSTEMD_PAGERSECURE=0 ou não removê-lo
do ambiente herdado permite que o usuário chame comandos
arbitrários. Observe que se as variáveis $
SYSTEMD_PAGER ou $PAGER devem ser respeitadas,
$SYSTEMD_PAGERSECURE também deve ser definido. Pode ser
razoável desabilitar completamente o pager usando --no-pager
ao invés.
$SYSTEMD_COLORS
Recebe um argumento booleano. Quando verdadeiro,
systemd e utilitários relacionados usarão cores em sua
saída, caso contrário, a saída será
monocromática. Além disso, a variável pode aceitar um dos
seguintes valores especiais: "16", "256" para restringir o
uso de cores às cores de base 16 ou 256 ANSI, respectivamente. Isso
pode ser especificado para substituir a decisão automática com
base no $TERM e a que o console está conectado.
$SYSTEMD_URLIFY
O valor deve ser um booleano. Controla se links
clicáveis devem ser gerados na saída para emuladores de terminal
terem suporte a isso. Isso pode ser especificado para substituir a
decisão que o systemd toma baseado no $TERM e outras
condições.