antixでfcitx-mozc

Last-modified: 2018-05-07 (月) 22:07:41

antix は、複数のデスクトップ環境を選択できるようになっている一方で、デスクトップ環境によって起動時に読み込む設定ファイルが違っていたりするため、どれでも通用するような日本語入力するための設定が難しい。
とりあえず、antix 17.1 の場合は、次のやり方でできるっぽい。
なお、 /usr/local/bin/desktop-session に記述するのは、どのデスクトップセッションでも必ずこのファイルを読み込むから(というか、このファイル(.sh がついてないけどシェルスクリプト)に基づいてデスクトップセッションを起動している。)
ほかのファイルだと、デスクトップセッションによって読み込まなかったり、読み込んでも上書きされるおそれがある。

 
  • fcitx と fcitx-mozc 及び関連パッケージをインストール
    $ sudo apt install --install-recommends fcitx fcitx-mozc
    「--install-recommends」オプションをつけることで、推奨されるパッケージも一括インストールされる。
     
  • エディタで /usr/local/bin/desktop-session を管理者権限で開く。
    83行あたりから環境変数のエスクポートをやっているので、そこに次の3行を追加する。
      say "Exporting desktop Variables:"
       say "DESKTOP_SESSION_CODE=$code"
       export DESKTOP_SESSION_CODE="$code"
       say "DESKTOP_SESSION_WM=$wm"
       export DESKTOP_SESSION_WM="$wm"
       say "DESKTOP_SESSION_IM=$im"
       export DESKTOP_SESSION_IM="$im"
   ## この後に次の3行追加
   export XMODIFIERS="@im=fcitx"
   export GTK_IM_MODULE=fcitx
   export QT_IM_MODULE=fcitx

これにより、インプットメソッドに fcitx を使うことをコンピュータに教えてあげられる。

 
  • さらに同じファイルの307行目あたりから10行ほど、conky の起動を設定しているので、その下(「fi」の下の行)に次を追加
           #Check if the user would like to run the session specific conky or not.
           if [ "$LOAD_CONKY" = "true" ]; then
               if [ -f "$conky_dir/$wm-conkyrc" ]; then
               echo_cmd conky -c $conky_dir/$wm-conkyrc
               else
                   echo_cmd conky
               fi
               echo_cmd wmctrl -F -r "Conky ($(hostname))" -b add,below &
           fi
       ## この後に次の1行を追加
       fcitx-autostart &  #(& はいらないかも)

なお、conky の起動スクリプトの次に書いたのは、そこが無難そうだったから。
おそらく208行目辺りの

  if [ "$wm_started" ] || [ "$FORCE_LOAD" = "true" ]; then

から318行目辺りの

  else

の間ならよいと思われる。(この間にウィンドウマネージャが起動した後の設定が記述されているので。)

 
  • ログインしなおしてみて、トレイなりパネルなりにキーボードのアイコンが表示されて、端末なりエディタなりブラウザなりを開いて、半角全角キーを押すと mozc のアイコンに切り替わるようなら成功。
    mozc に切り替わらない場合は、端末から
    $ echo $XMODIFIERS
    と打ってみて「@im=fcitx」と返答されなかった場合は、export XMODIFIERS="@im=fcitx" がうまくいっていない。