Linux Mint 13を実行しているラップトップにopenboxをセットアップしています。CapsLockキーを追加のコントロールキーとして機能させたいです。必要な設定を~/.Xmodmap
ファイルに入れ、実行して確認しました
xmodmap ~/.Xmodmap
正常に動作します。
ただし、openboxセッションに再ログインしても、これらの重要な変更はありません。上記のxmodmap
コマンドを実行すると、再び機能しますが、起動時に自動的に実行されるようにしたいと思います。
興味深いのはzenity
、~/.config/openbox/autostart
ファイルに次のようにテストコマンドを追加したことです。
zenity --info --text=Hello
これにより、小さなダイアログウィンドウが生成され、ダイアログが閉じられた後にのみ終了します。
これで、openboxセッションに再ログインすると、Caps Lock はzenityダイアログが閉じるまで Ctrlキーとして機能します。そのダイアログを閉じると、Caps Lockはデフォルトの動作に戻ります。
私はこれでグーグルで何も見つけていないので、ここで助けを求めています。何がうまくいかないのか考えていますか?
更新:
私はこれを理解しようとしました、そして私の実験では、私は自分の/usr/bin/xmodmap
ファイルをにコピーして、次のbashスクリプトでファイルを/usr/bin/xmodmap_
置き換えました/usr/bin/xmodmap
#!/bin/bash
{
echo '-------'
date
echo xmodmap "$@"
} >> ~/xmodmap-calls
exec /usr/bin/xmodmap_ "$@"
そのため、システム上のいまいましいスクリプトが実行されるたびにxmodmap
、私はそれを知るようになります。
これで、私は再ログインし、私の~/xmodmap-calls
ファイルでエントリを1つだけ見つけます~/.Xmodmap
。だから、私はxmodmap
それが私の変更を上書きしているわけではないと考えました。
次に、少しグーグルでsetxkbmap
コマンドを紹介しましたが、明らかに同じこともできます。上記のxmodmapと同様に、その実行可能ファイルも置き換えました。そして、私は犯人の命令を得ました!
setxkbmap -option terminate:ctrl_alt_bksp
私はそれが何をしているのか全くわかりませんが、xmodmap ~/.Xmodmap
(私の設定を正しく適用した)実行後、上記のコマンドを実行すると、変更がリセットされます!編集:これは本当に面白いことが判明しています。setxkbmap
引数なしのコマンドだけで、変更内容がxmodmap ~/.Xmodmap
コマンドによって上書きされます。
今、私は2つのことを理解する必要があります、これはどこsetxkbmap
から実行されているのか、なぜそしてどのようにこれを修正するのですか?私はまだ調査中ですが、いくつかの助けを真剣に使うことができます:)
アップデート2
と地獄にxmodmap
。のsetxkbmap
呼び出し元がわかりませんが、setxkbmap
コマンドを使用してCaps LockをCtrlとして動作させる方法を見つけました。
setxkbmap -option ctrl:nocaps
openboxを起動する直前。素晴らしい作品。Caps Lockキーは、Ctrlキーとして機能し続けます。xmodmap
決して実行されません。
これらのことを知っている人が洞察を提供できるように、この質問はここで開いたままにしておきます。また、私の後にこれに直面する人のために:)
アップデート3
.config/openbox/autostart
pedrosaurioからリクエストされたmyの内容は次のとおりです。
#!/bin/bash
# Set the wallpaper.
feh --bg-scale /wall.png
# Set default brightness.
xbacklight -time 1 '=40'
# Compositing.
xcompmgr &
# The panel.
tint2 &
# Start a terminal too.
roxterm &
私の知る限り、これはキーボードとは何の関係もありません。また、ここに私のセッションを開始するスクリプトがあります:(lightdmで実行)
#!/bin/bash
setxkbmap -option ctrl:nocaps
exec openbox-session
autostart
ファイルを投稿できますか?