最近,我尝试在 Ubuntu 18.04 上切换 capslock 和 ctrl。我通过将以下行添加到我的.bashrc
:
# swap capslock and ctrl
/usr/bin/setxkbmap -option "ctrl:swapcaps"
这确实有效,但方式很尴尬。每次我通过 GUI 登录时,我都需要启动一个新终端来激活此设置。有时,当我锁定桌面然后重新登录时,此设置会被停用,我必须source .bashrc
再次激活它。
我想找到一种方法在通过 GUI 登录时自动激活此设置。我搜索了一下,发现有登录bash和非登录 bash。我相信当我通过 GUI 登录时,我实际上启动了一个登录bash。所以我把我的设置放在~/.profile
.但它甚至不再起作用了!
那么有没有什么方法可以自动激活设置呢?当我通过 GUI 登录时发生了什么?我的意思是,如果它不启动登录bash,我怎样才能在GUI上启动其他应用程序?
答案1
将其放在文件 /etc/X11/xorg.conf.d/50-keyboard.conf 中,例如:
Section "InputClass"
Identifier "my laptop keyboard"
MatchIsKeyboard "on"
MatchProduct "AT Translated Set 2"
# Option "XkbModel" "asus_laptop"
# Option "XkbLayout" "us"
Option "XkbOptions" "caps:none"
EndSection
如果这不起作用,请务必将 MatchProduct 更改为您自己的。在 Xorg.0.log 中查找产品名称。
XkbModel 和 XkbLayout 是可选的,因此可以由 Xorg 默认值自动选择或自定义。
XkbOptions 是您放置交换按键或关闭 CapsLock 选项的位置,就像我所做的那样。
参考: ”man xkeyboard 配置”
编辑:我在几台机器上安装了 Debian,而我现在更喜欢 voidlinux。我觉得xorg.conf对于 Ubuntu 来说也是一样的。
如果目录 /etc/X11/xorg.conf.d 不存在,则创建该目录。请参阅xorg.conf 手册页了解详情。
修改 Xorg 的常见方法是将您自己的配置文件放在 /etc/X11/xorg.conf.d/ 中,并确保使用它们而不是 /usr/share/X11/xorg.conf 中的自动配置文件。 d/ 通过检查 /var/log/Xorg.0.log 文件。