なーのブログ

nan1sa の個人ブログ

GNOME でロック解除時に日本語入力を無効化する

2023-08-22 備忘録

パソコンのロックを解除した直後に日本語入力がオンになったままだと、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 &

参考にしたサイト