質問: キーを他のxubuntuに永続的に再マップします キーを再マップする方法について多くの質問を見てきましたが、どういうわけか私の問題は、キーが再マップされないことです永続的に。これが私の~/bootstrap-custom.sh#!/bin/sh # remaps caps lock to ctrl /usr/bin/setxkbmap -option "ctrl:nocaps" 私が追加しました source ~/boostrap-custom.sh私のスタートアップアプリケーションに。マッピングは正常に機能します。しかしながら: マッピングは起動時に読み込まれないか、少なくとも起動アプリケーションの後に実行されるものによって上書きされます。 キーボードを接続するたびに、マッピングが忘れられているようです。 マッピングを永続的にする方法はありますが、同じメソッド(xkbmap)を維持しますか?
回答: これは部分的な解決策にすぎないかもしれませんが(キーボードのプラグの抜き差しにどのように反応するかは正直わかりません)、必要なことを実行するスクリプトがすでにあるので、これで十分かもしれません。起動時に、x11は、システムに存在する場合、いくつかの特別なプログラムを実行します。私たちの目的では、最も興味深いのはおそらく〜/。xsessionです。これは、通常の設定であるディスプレイマネージャーを介してログインした後に実行されます。最近のグラフィカル環境向けです。 (以前は、通常はシェルにログインしてから、コマンドstartxを実行してxを起動していました。その場合は、〜/。xinitrc同じ目的で。)これを利用して、使用しているディスプレイマネージャー(gdm、gdm3、kdm、...)やデスクトップ環境(gnome、xfce、kde、...)に関係なく、実質的にコマンドを実行できます。 .xsessionという名前のファイルを作成し、ホームディレクトリに配置します。 以下を追加します。 #!/bin/bash /usr/bin/setxkbmap -option "ctrl:nocaps" 保存して、ファイルをモード755に設定します(chmod 755 ~/.xsession) ログアウトして再度ログオンするか、再起動します これにより、ログイン時にキーボードマッピングが設定されます。また、setxkbmapが実際に機能するのに十分な遅延で実行する必要があります。何らかの理由でこれが機能しない場合テキスト端末にログインします(ctrl+alt+f2 [f1..f6]のf2は友達である必要があります)、コマンドrm ~/.xsessionを発行してファイルを削除します。参考までに、これが私の〜/ .xsessionです。これは、モード755でxfce4セッションにドロップします(これは「既知の良い」例として役立ちます)。#!/bin/sh xscreensaver & exec xfce4-session 最後のexecディレクティブは、スクリプト自体を指定されたコマンドに置き換えます。多かれ少なかれすぐに終了しないものはすべてバックグラウンドで処理する必要があるため、&。 (setxkbmapはほぼすぐに終了するため、バックグラウンドは必要ありません。)