"setxkbmap"を使用してescを置き換えますが、一貫して動作しません。

"setxkbmap"を使用してescを置き換えますが、一貫して動作しません。

~/.bashrc現在のところ、次caps lockのようescな行があります/usr/bin/setkbmap -option "caps:swapescape"。時には、コンピュータを起動すると完全に実行されます。残りの時間は通常caps lock通りに行われます。caps lockescesc

ここで何が起こりますか?この行はブートするたびにマッピングを復元し、交互に機能し動作しなくなりますか?

ありがとうございます!より良いオプションがある場合はお知らせください。私はDebian(Pop!_os)を実行しています。

答え1

~/.bashrcターミナルエミュレータを開くときにのみ実行されます。ログイン時に自動的に実行するには(ログイン方法に応じて)、別の場所に保存する必要があります。私にとってはそれになります~/.xinitrc

~によるとDebian Wiki: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:    ...
...

関連情報