【Linux】【xdotool】ログイン時に ibus-mozc に「入力モード」を「ひらがな」を選択させる【SW】

ibus-mozc を使って日本語を入力するためには、ログイン後に一度だけ次の操作が必要になる。

1. 入力モードから「ひらがな」を選択する
2. 入力メソッドを「日本語」に切り替える必要がある

 
そこで xdotool を使って ibus-mozc に「入力モード」→「ひらがな」を擬似的に送信する。

以下、こちらのサイトのコードをそのままコピーさせてもらったことで、上記 1、2 が実現できた。
なお、注意点として以下がある。

  • ログイン後にまず gnome-shell を起動させて、下記スクリプトを実行すること
  • 先に Firefox など別のウインドウを使うアプリを起動させないこと
    • ウインドウを使うアプリが起動していると、下記スクリプトによるキーエミュレーションができない

 

まず最初に xdotool をインストールする。

% sudo apt-get install xdotool

 
その後、以下のスクリプトを $HOME/bin/. などに配置しておき、ログイン時に実行させれば良い。

#!/bin/bash
echo 'setting ibus-mozc...'
 
# ibus-mozcのデフォルト入力モード対策
# 日本語 (Mozc)に切り替えて全角キーを送信し英語 (US)に戻す
sleep 1 && \
xdotool keydown alt && sleep 0.2 && \
xdotool key grave && sleep 0.2 && \
xdotool keyup alt && \
for i in `seq 0 9`
do
  mozc=`ps -ef | grep 'ibus-engine-mozc' | grep -v grep | grep -v srvchk | wc -l`
  if [ $mozc -gt 0 ]; then
    sleep 1
    xdotool keydown Zenkaku && sleep 0.2 && \
    xdotool keyup Zenkaku && sleep 0.2
    break
  else
    sleep 1
  fi
done
sleep 0.2 && \
xdotool keydown alt && sleep 0.2 && \
xdotool key grave && sleep 0.2 && \
xdotool keyup alt
 
echo 'ibus-mozc setting done.'
 
 
sleep 1