如何在 Kubuntu 15.04 上正确设置 fcitx?

如何在 Kubuntu 15.04 上正确设置 fcitx?

我需要帮助设置迅捷网络在我的Ubuntu 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 + space。

我的想法是使用 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

此脚本重复按 ctrl + space 直到 fcitx 进入 Zenkaku。因此,当已经处于 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

我认为这可能会起作用,而且再次这样我感觉有点愚蠢我需要看到一个终端打开才能做到这一点。

相关内容