GNOME でロック解除時に日本語入力を無効化する
パソコンのロックを解除した直後に日本語入力がオンになったままだと、URL などが正しく打てなくなってストレスが溜まります。そのため、ロックを解除する度に ibus を再起動して直接入力に切り替えるようにします。
前提の環境
- GNOME 42.9
- ibus 1.5.26
- ibus-skk 1.4.3
方法
dbus-monitor
でスクリーンセーバーの起動状況を監視して、ロックが解除されたら特定のコードを実行するスクリプトを書きます。
#!/bin/sh
dbus-monitor --session "type='signal',interface='org.gnome.ScreenSaver'" |
while read x; do
case "$x" in
*"boolean false"*) ibus-daemon -drx;
esac
done &
あとは、このスクリプトが動作中は期待した動作をするはずです。GNOME 起動時に自動で起動するように設定しておくと便利です。
余談:ibus-skk の設定が保存されないときの対処法
本来は ibus-dconf
が起動していないと保存されないものの、なぜか ibus-memconf
が起動していて保存されない状態になっていました。その場合は、再起動のコマンドを ibus-daemon --config=/usr/libexec/ibus-dconf -drx
に置き換えてあげるといいです。ついでに、起動時にも一度再起動してあげるといいです。
#!/bin/sh
ibus-daemon --config=/usr/libexec/ibus-dconf -drx
dbus-monitor --session "type='signal',interface='org.gnome.ScreenSaver'" |
while read x; do
case "$x" in
*"boolean false"*) ibus-daemon --config=/usr/libexec/ibus-dconf -drx;
esac
done &