Kubuntu 15.04 で fcitx を適切に設定するにはどうすればよいですか?

Kubuntu 15.04 で fcitx を適切に設定するにはどうすればよいですか?

設定に手助けが必要fcitx私の〜の上にクブントゥ 15.04日本語で書く

まずaptを使ってfcitxをインストールしました。

実験中にインストールしたパッケージ名は忘れてしまいましたが、現在私のシステムにインストールされている「fcitx」で始まるパッケージは次のとおりです。

fcitx                     fcitx-data                fcitx-googlepinyin:amd64  fcitx-modules             fcitx-ui-classic        
fcitx-anthy:amd64         fcitx-frontend-all        fcitx-libs-qt             fcitx-module-x11          fcitx-ui-light          
fcitx-bin                 fcitx-frontend-gtk2       fcitx-libs-qt5            fcitx-mozc:amd64          fcitx-ui-qimpanel       
fcitx-config-common       fcitx-frontend-gtk3       fcitx-module-dbus         fcitx-pinyin                                      
fcitx-config-gtk          fcitx-frontend-qt4        fcitx-module-kimpanel     fcitx-sunpinyin                                   
fcitx-config-gtk2         fcitx-frontend-qt5:amd64  fcitx-module-lua          fcitx-tools     

次に、次のファイルを作成しました/etc/X11/Xsession.d/95fcitx_start:

export XMODIFIERS=@im=fcitx
export XIM=fcitx
export XIM_PROGRAM=fcitx

そして再起動します。

ログインしてfcitxコンソールで手動で起動すると、タスクバーにキーボード アイコンが表示され、そこから「入力方法の構成」ウィンドウを開いて必要に応じてカスタマイズできます。

「入力方法」->「入力方法の選択」->「現在の入力方法」リストに以下を入力します。

  • キーボード - フランス語 - フランス語 (Bepo、エルゴノミクス、Dvorak…)
  • モズク

これまでのところ、すべて正常に動作しています。Ctrl + Space を押すと入力方法を切り替えることができ、問題ありません。

ここで、ログオン時に fcitx が自動的に起動するようにします。そのため、ファイルfcitxの最後に追加します/etc/X11/Xsession.d/95fcitx_start

ログアウトして再度ログオンします…

問題1:Ctrl+Space で切り替えることはできますが、fcitx が自動的に起動するとシステム トレイにキーボード アイコンが表示されないため、オプションに移動できず、どの入力方法を使用しているかを示す視覚的な表示がまったくありません...

問題2:Firefox で、かなを漢字に置き換えるポップアップが、私が書いている行からかなり離れた、ウィンドウの左下隅付近に表示されます... 奇妙です。

お手伝いありがとう。

答え1

ログイン後にCtrl + スペースを自動的に入力します。

xdotool を使用するという私のアイデア (実はこれは私のアイデアではなく、ログイン時に ibus-mozc を自動的に設定する方法が日本語フォーラムで紹介されていました。fcitx-mozc に合うように修正しました)

sudo apt install xdotool

次にスクリプトを作成します~/.im_sw.sh

#!/bin/bash
echo 'activation fcitx-mozc...'

sleep 1 && \
xdotool keydown ctrl && sleep 0.2 && \
xdotool key space && sleep 0.2 && \
xdotool keyup ctrl && \
for i in `seq 0 9`
do
  mozc=`ps -ef | grep 'fcitx-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 ctrl && sleep 0.2 && \
xdotool key space && sleep 0.2 && \
xdotool keyup ctrl

echo 'fcitx-mozc activation done.'

sleep 1

このスクリプトは、fcitx が Zenkaku になるまで Ctrl + Space を繰り返し押します。そのため、すでに Zenkaku モードになっているときにその動作を見ると、少しばかげているように思えます。

時間がかかりすぎると思われる場合は、睡眠時間を短くしてください。

chomod +x ~/.im_sw.sh

次のステップ

ログイン後にこのスクリプトを自動的に実行します。起動スクリプトを作成します~/.config/autostart/im_sw.desktop

[Desktop Entry]
Name=Input method switch
Comment=To Zenkaku Hiragana
Exec=$HOME/.im_sw.sh
Terminal=true
Type=Application
Hidden=false

これはうまくいくかもしれないと思うのですが、この方法では、ターミナルを開いてこれを行う必要があるのは少し愚かな気がします。

関連情報