如何让系统运行 bash 脚本来在登录后重新映射按键?

如何让系统运行 bash 脚本来在登录后重新映射按键?

我有一个setup-notebook-keyboard.sh脚本,每次登录后都会运行,因为我喜欢我的键盘

  • CapsLock-> Esc
  • CapsLock+键 -> Ctrl+键

环境。

我以前尝试过设置它,但没能成功。
我想我尝试过在 ubuntu 中设置它,init.d也尝试过在 ubuntu 中“启动时运行”。我猜这两种情况都没能成功,因为它们不是在 shell 环境或类似的东西上运行的……

但无论如何,每次启动后以及合上笔记本盖子后,我都不得不运行脚本。有人能帮忙吗?

编辑:我不认为这是“如何在 Ubuntu 中持久地重新映射键”的重复,我有一个可以做两件事的脚本,我很满意,因为我从去年就开始使用它了,我只是无法让它自动运行,我已经研究并尝试了不同的方法。

编辑2:请删除重复的标签。我尝试了问题中的建议,但都没有用。我现在尝试添加一个简单的echo "(profanity) (location)" >> ~/file

  • ~/.profile
  • ~/.xinitrc
  • ~/.xsession
  • ~/.gnomerc

机器没有对文件执行任何操作,或者我做错了什么。

我尝试过(profanity).desktop在中添加条目~/.config/autostart,尝试过使用完整路径,尝试过/etc/X11/Xsession.d/00_xx文件,尝试过00100,关闭盖子并打开,​​重新启动等。

我通过检查按下 CapsLock 键时该键是否亮起来进行测试,因为执行后setup-notebook-keyboard.sh它就不再亮了。

可能重要的附加信息:我正在使用 gnome shell,它是一个图形用户界面。

版本: 10:37:34 ~$ lsb_release -a No LSB modules are available. Distributor ID: Ubuntu Description: Ubuntu 16.04.4 LTS Release: 16.04 Codename: xenial

附言:现在我尝试添加echo "(profanity)" >> file~/.bashrc它在我打开终端时运行(如果您一开始以为我在终端上运行 ubuntu,我提前说声抱歉)。那么...为什么登录后执行脚本这么难?难怪我在 1 年前就放弃了 x(

答案1

在 ~/.profile 文件中添加一个命令来运行此脚本。每次您登录时,它都会以用户身份运行。

如果您希望每次打开新 tty 时执行某些命令(例如每次打开新终端时),您可以将命令添加到 ~/.bashrc 文件中。

相关内容