如何更改系统范围内的键盘布局? (影响控制台和 LightDM)

如何更改系统范围内的键盘布局? (影响控制台和 LightDM)

我想更改键盘布局,不是在桌面上,而是在控制台和登录屏幕上。这是系统范围内的默认键盘布局。

我正在运行 Linux Mint 20(基于 Ubuntu 20),但我希望这个线程能够收集大多数发行版的答案。

我的键盘布局是,azerty但我想切换到qwerty.

答案1

软呢帽和相关系统,这是文档说:

更改键盘布局

键盘布局设置使用户能够控制文本控制台和图形用户界面上使用的布局。

显示当前设置

如前所述,您可以使用以下命令检查当前的键盘布局配置:

localectl status

示例 4. 显示键盘设置

在以下输出中,您可以看到为虚拟控制台和 X11 窗口系统配置的键盘布局。

~]$ localectl status
   System Locale: LANG=en_US.utf8
       VC Keymap: us
      X11 Layout: us

列出可用的键盘映射

要列出可以在您的系统上配置的所有可用键盘布局,请键入:

localectl list-keymaps

示例 5. 搜索特定的键盘映射

您可以使用 grep 在上一个命令的输出中搜索特定的键盘映射名称。通常有多个键盘映射与您当前设置的区域设置兼容。例如,要查找可用的捷克语键盘布局,请键入:

~]$ localectl list-keymaps | grep cz
cz
cz-cp1250
cz-lat2
cz-lat2-prog
cz-qwerty
cz-us-qwertz
sunt5-cz-us
sunt5-us-cz

设置键盘映射

要设置系统的默认键盘布局,请以 root 身份使用以下命令:

localectl set-keymap map

将 map 替换为从命令输出中获取的键盘映射名称localectl list-keymaps。除非传递该--no-convert选项,否则选定的设置在转换为最接近匹配的 X11 键盘映射后,还将应用于 X11 窗口系统的默认键盘映射。这也适用于相反的情况,您可以使用以下命令作为 root 指定两个键盘映射:

localectl set-x11-keymap map

如果您希望 X11 布局与控制台布局不同,请使用该--no-convert选项。

localectl --no-convert set-x11-keymap map

使用此选项,可以在不更改以前的控制台布局设置的情况下指定 X11 键映射。

示例 6. 单独设置 X11 键映射

想象一下,您想在图形界面中使用德语键盘布局,但对于控制台操作,您希望保留美国键盘映射。为此,请以 root 身份输入:

~]# localectl --no-convert set-x11-keymap de

然后您可以通过检查当前状态来验证您的设置是否成功:

~]$ localectl status
   System Locale: LANG=de_DE.UTF-8
       VC Keymap: us
      X11 Layout: de

除了键盘布局(地图)之外,还可以指定其他三个选项:

localectl set-x11-keymap map model variant options

将 model 替换为键盘型号名称,将variant 和 options 替换为键盘变体和选项组件,这可用于增强键盘行为。默认情况下不设置这些选项。有关 X11 型号、X11 变体和 X11 选项的更多信息,请参阅 kbd(4) 手册页。

答案2

乌班图基于 Linux Mint 等发行版,您必须编辑/etc/default/keyboard(它是只读的,因此请使用终端编辑器sudo

# KEYBOARD CONFIGURATION FILE

# Consult the keyboard(5) manual page.

XKBMODEL="pc105"
XKBLAYOUT="us"
XKBVARIANT="qwerty"
XKBOPTIONS=""

BACKSPACE="guess"

如果您不知道要在文件中写入什么内容,请在桌面首选项中设置所需的键盘映射并运行localectl.它将为您提供 XKBLAYOUT 和 XKBVARIANT 所需的布局和变体名称。

为了使更改生效,请重新启动计算机。

相关内容