
Мне нужна помощь в настройкеfcitxна моемКубунту 15.04кписать на японском.
Сначала я установил fcitx с apt.
Я забыл названия пакетов, которые я установил в ходе экспериментов, но вот что сейчас установлено в моей системе и начинается с «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+Пробел для переключения, но при автоматическом запуске 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
Этот скрипт повторяет нажатие 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
Я думаю, что это может сработать, но опять же, я чувствую себя немного глупо, мне нужно, чтобы открылся Терминал, чтобы сделать это.