キーボードレイアウトが私に合わないのでxmodmap
、ログイン時に実行します。スクリプトには名前が付けられ.profile
、正常に実行されますが、Unityインターフェースは破損します。
xmodmap
ログイン時に実行され、何も壊れないように、行を配置する場所を知りたいです。
私はすでに成功せずにファイル.bash_login
と.bash_profile
ファイルに入れようとしました(xmodmap
キーボードを設定しません)。
私のオプションは何ですか?
キーボードレイアウトが私に合わないのでxmodmap
、ログイン時に実行します。スクリプトには名前が付けられ.profile
、正常に実行されますが、Unityインターフェースは破損します。
xmodmap
ログイン時に実行され、何も壊れないように、行を配置する場所を知りたいです。
私はすでに成功せずにファイル.bash_login
と.bash_profile
ファイルに入れようとしました(xmodmap
キーボードを設定しません)。
私のオプションは何ですか?
回答:
xmodmap ~/.Xmodmap
(起動時に変更が読み取られるように)置く場所は正しい~/.xinitrc
(以下の説明を参照)ですが、代わりにxmodmap
コマンドをスタートアップ項目として配置することもできます(/usr/bin/xmodmap /home/user/.Xmodmap
)。12.04(おそらく12.10)では、これら2つの選択肢は間違いなく機能します。どちらの方法でも、ログイン後に読み取られますlightdm
。(私はReturn to Right Shiftを変更しました。変更は、パスワードを入力してログインした後にのみ有効になりました)。
注意: Xfce を使用している場合、を使用する代わりにスタートアップアイテムを作成する必要がある場合があり、変更がによって上書きされないように実行を遅らせる必要がある場合があることが公式のXfce FAQに記載されています。スタートアップエントリでこれを実現するために遅延を使用できます。~/.xinitrc
xmodmap
setxkbmap
/bin/bash -c "sleep 20; /usr/bin/xmodmap /home/$USER/.Xmodmap"
(スタートアップエントリには、絶対パスを指定する必要があります)
setxkbmap
キーボードレイアウトを変更するために実行するたびxmodmap ~/.Xmodmap
に、ターミナルで再度実行する必要があります。
作成 ~/.xinitrc
呼ばれるホームフォルダ内のファイルを作成.xinitrc
してし
touch .xinitrc
そしてその中に配置します。
xmodmap ~/.Xmodmap
あなたのXmodmap
ファイルはすべきではないのエントリ持ってxmodmap -e " "
、一時的に値を設定するための端末で使用されているようなスタイルを。次の形式のエントリが必要です。
keycode 65 = Tab
keycode 23 = Space
多くの場合、各種のどの混乱さX
(のようなファイル.xprofile
、.xinitrc
など)を起動時に読み込まれますが、.xinitrc
一方で、まだ、12.04の下で読むように見えるん.Xmodmap
や.xinputrc
自身によって読まれていません。
xmodmap -e '...
の正しい形式を取得できることに注意してください。ただし、これを行った変更に適用される行だけにフィルターをかけたいと思うでしょう。xmodmap .Xmodmap
xmodmap -pke
ElementaryOS(GNOMEベースのウィンドウマネージャー)を使用していて、xdg
自動起動スクリプトを使用して解決策を見つけました。多くのウィンドウマネージャーはxdgを使用しているため、このアプローチは他の環境でも機能すると想定しています。少なくともGNOMEで動作するはずです。
xdg ~/.config/autostart
は、Xセッションでのログイン時にスクリプトを実行します。ログイン時にxmodmap構成をロードするには、次のスクリプトをに追加します~/.config/autostart/xmodmap.desktop
。
[Desktop Entry]
Name[en_US]=Xmodmap
Comment[en_US]=xmodmap ~/.Xmodmap
Exec=/usr/bin/xmodmap .Xmodmap
Icon=application-default-icon
X-GNOME-Autostart-enabled=true
Type=Application
その後、ログアウトして再度ログインすると、Xmodmap構成がロードされます。
動作しない場合は、ターミナルでxmodmapを実行して、問題のあるxmodmapかどうかを確認します。
$ xmodmap ~/.Xmodmap
エラーが発生しない場合は、次のコマンドを実行してデバッグします。
$ sudo cat /var/log/syslog | grep -B 5 -A 5 xmodmap
~/.xinitrc
ファイルの使用に失敗した後、自動開始のアプローチは完璧に機能しました。hxpaxが指摘したように、Mintユーザー(おそらくほとんど/すべてのDebian派生Linux)は、GUIダイアログを使用して、経由で自動開始エントリを追加できますMain Menu --> Preferences --> Startup Applications
。
今は目の前に統一インターフェースがありませんが、ランチャーの[アプリケーション]ボタンをクリックしてから、startupと入力してみてください。Startup Applications(またはそのようなもの)と呼ばれるアプリが必要です。それをクリックして、xmodmapコマンド(例xmodmap /home/thiago/.Xmodmap
)を追加します。
xmodmap .Xmodmap
Mint 17/18では、1秒の遅延で、スクリプトをスタートアップアプリケーションに入れることができます。
Mint 18はUbuntu 1604から派生したものであるため、同じことを行うことができると思います。または、スタートアップアプリケーション管理パネルがインストールされていない場合は最初にインストールすることもできます。
それが役に立てば幸い。
上記の提案のいずれにもあまり満足していませんでした(すべての新しいターミナルでxmodmapを実行するため、.bashrcオプションは実際には実行可能ではありませんでした)
xmodstartup.sh
ホームフォルダーで呼び出されるスクリプトに触れた
#!/bin/bash
sleep 1;
echo "running xmodmap"
xmodmap ~/.Xmodmap
保存してから、 sudo chmod +x xmodstartup.sh
次に、実行可能ファイルをgnomeの「スタートアップアプリケーション設定」ウィンドウに追加しました。bish bosh、英語レイアウトyEspañolon altgr
:)