web-dev-qa-db-ja.com

Linux Mint(Mate):xkbcompを使用して、起動時にキーボードレイアウトをロードします

ログイン時にカスタムキーボードレイアウトをロードしたいのですが、ロードされないか、「キーボード設定」のデフォルトのキーボードレイアウトによって上書きされます。残念ながら、デフォルトのキーボードレイアウトのようにインストールされていないため、レイアウトを選択できませんが、xkbcompによってコンパイルされています。

これはxkbcompコマンドです

xkbcomp -I$HOME/.config/xkb/ $HOME/.config/xkb/thinkpad.xkb $DISPLAY

ターミナルに入ると動作します。ただし、/ etc/rc.localまたは.xsession(その後にコマンド「mate-session」が続く)に配置するか、「スタートアップアプリケーション」として実行すると、レイアウトは読み込まれません(またはデフォルトで上書きされる可能性があります)。

どうすればいいですか?または、.lstファイルと.xmlファイルを手動でハッキングせずにxkbcompによってコンパイルされたレイアウトをインストールすることは可能ですか?

3
keo

xkbcompはXWindowsアプリケーションであり、beforeXが開始される前に実行されるため、rc.localから実行することはできません。 。

この行があなたの中にある限り、コマンドを$HOME/.xsessionに(mate-sessionなしで)追加すると、動作するはずです/etc/X11/Xsession.optionsファイル:

allow-user-xsession

それでもレイアウトが設定されていない場合は、Mateによって上書きされている可能性があります。その場合は、コマンドにsleep呼び出しを追加して、実行されるようにしてくださいafterMateは次のことを行います。

(sleep 10 && xkbcomp -I$HOME/.config/xkb/ $HOME/.config/xkb/thinkpad.xkb $DISPLAY)

おそらく役立つ:

https://unix.stackexchange.com/questions/11604/run-xmodmap-commands-after-loginhttps://unix.stackexchange.com/questions/1677/why- wont-my-xmodmap-command-run-on-startup-login

2
terdon