我在我的文件上使用它.bashrc
:
## SWAP CONTROL KEY
setxkbmap -option ctrl:swapcaps
我这样做主要是因为我经常使用 Emacs。它似乎大多数时候都有效。
不幸的是,有两个问题不断发生:
(i) - PC 启动后,需要一段时间才能工作。这不是瞬间完成的,这让我很感兴趣,因为这似乎是一件“小”事;
(ii) - 有时,突然间,交换停止工作,然后突然又恢复。今天就发生过一次。
虽然只有一次,但真的很烦人,因为我最近更改了按键绑定。所以,在习惯它的过程中,我有时会犯错误。如果我不信任这个按键绑定,错误会更加频繁。
我对文件配置的知识缺口很大.bashrc
。也许我的文件中存在一些不一致之处。以下是 GitHub 上的存储库,显示了整个 .bashrc 文件。
谢谢。
答案1
因此,您遇到的问题之一就是“.bashrc
仅在终端中为 Bash shell 读取”。您的 GUI 不是 Bash shell,因此.bashrc
GUI 不会读取它,直到您打开终端,然后激活/应用密钥更改。
如果我们希望它在全球范围内发挥作用,它需要作为系统的一部分独立执行.bashrc
。有两个选项:您的用户 crontab,@reboot
这是一个特殊名称。或者,一个 SystemD 单元。
(我没有测试过这两种解决方案,因此我无法评论其中哪一种效果更好,如果有的话)。
让我们首先从 cron job 选项开始。
Cron 任务方法
打开你的终端,然后运行crontab -e
。
添加以下行:
@reboot setxkbmap -option ctrl:swapcaps
重新启动系统,看看是否有效。
如果有效,那就太好了。如果不行,那么我们必须尝试另一种方法。
后备解决方案:登录后自动运行 gnome-terminal
如果其他方法都失败了,请将其添加gnome-terminal
到您的启动应用程序中。
首先,安装gnome-startup-applications
:
sudo apt install gnome-startup-applications
其次,在您的应用程序中搜索“启动应用程序偏好设置”
添加一个项目gnome-terminal
。这样它就会自动运行终端。