~/.bashrc
我目前在我的to swapcaps lock和esc:中有以下行/usr/bin/setkbmap -option "caps:swapescape"
。有时,当我启动计算机时,它可以完美运行。其他时间caps lock仍按 和caps lock一样esc工作esc。
这里可能发生了什么?这条线是否会在每次启动时恢复映射,因此它会交替工作和不工作?
谢谢你!如果您有更好的选择,请告诉我。我正在运行 Debian (Pop!_os)。
答案1
~/.bashrc
仅当您打开终端模拟器时才会运行。要让它在登录时自动运行,您需要将其放在其他地方(取决于您的登录方式)。对我来说,这将是在~/.xinitrc
.
根据Debian 维基:Graphical logins do not read a shell's startup files (/etc/profile and ~/.profile and so on) by default, but you as a user may choose to create a ~/.xsessionrc file which does this.
答案2
可能还有另一个问题。如果您正在使用setxkbmap
并且之前设置了大写锁定如果您不重置选项,它将堆叠选项(使用-option ''
,请参阅man setxkbmap
)。提示:使用冗长的-v
显示选项的选项,又名符号设置
例子
激活映射大写锁定以转义:
$ setxkbmap -option caps:escape -v
...
symbols: ...+capslock(escape)+...
...
不,让我们撤消映射(错误的方式)
$ setxkbmap -option caps:capslock -v
...
symbols: ...+capslock(capslock)+capslock(escape)+...
...
如您所见,旧选项仍然存在。清除全部它使用以下命令的选项:
$ setxkbmap -option '' -v
...
symbols: ...
...