在 Ubuntu 16.04 中切换键盘布局时 setxkbmap 设置丢失

setxkbmap setting lost when I switch keyboard layout in Ubuntu 16.04

我在 Ubuntu 16.04 中使用以下命令将 Caps Lock 设置为 Ctrl: setxkbmap -option 'caps:ctrl_modifier' 但是,当我将键盘从 En 更改为 Cs 时,Caps Lock 又变成了 Caps Lock,而不是 Ctrl。

要修复它,我必须从终端再次执行上面的 setxkbmap 命令。

如何使设置永久生效,即使我切换了键盘布局?

我刚刚解决了这个问题。在尝试了很多不同的东西之后,在 Ubuntu 16.04 中: - 转到 /.bashrc(您可以打开终端并输入 vim .bashrc(或使用您喜欢的编辑器)。 - 在最后添加命令!在我的例子中我做了:setxkbmap -option ctrl:swapcaps

为了使setxkbmap设置的选项永久生效,将它们添加到/etc/default/keyboard如下:

--- a/etc/default/keyboard
+++ b/etc/default/keyboard
@@ -5,6 +5,6 @@
 XKBMODEL="pc105"
 XKBLAYOUT="us"
 XKBVARIANT=""
-XKBOPTIONS=""
+XKBOPTIONS="caps:ctrl_modifier"

 BACKSPACE="guess"

那么即使键盘布局从 En 切换到任何其他语言,选项 caps:ctrl_modifier 也会被设置。

您也可以尝试在 Xorg 配置中进行设置。有关正确语法和定义选项的位置,请参阅 https://wiki.archlinux.org/index.php/Keyboard_configuration_in_Xorg#Using_X_configuration_files。这还有关于使用 setxkbmap 及其选项的其他有用信息。