我需要帮助设置迅捷网络在我的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
我认为这可能会起作用,而且再次这样我感觉有点愚蠢我需要看到一个终端打开才能做到这一点。