Wie richte ich fcitx auf Kubuntu 15.04 richtig ein?

Wie richte ich fcitx auf Kubuntu 15.04 richtig ein?

Ich brauche Hilfe beim Einrichtenfcitxauf meinemKubuntu 15.04Zuauf Japanisch schreiben.

Ich habe fcitx zuerst mit apt installiert.

Ich habe die Namen der Pakete vergessen, die ich während meiner Experimente installiert habe, aber hier ist, was derzeit auf meinem System installiert ist und mit „fcitx“ beginnt:

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     

Ich habe dann die Datei erstellt /etc/X11/Xsession.d/95fcitx_startmit:

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

Und dann neu starten.

Nach der Anmeldung und dem manuellen Start fcitxin einer Konsole wird das Tastatursymbol in der Taskleiste angezeigt und ich kann von dort aus das Fenster „Eingabemethode konfigurieren“ öffnen, um es bei Bedarf anzupassen.

Ich habe in die Liste „Eingabemethode“ -> „Eingabemethode auswählen“ -> „Aktuelle Eingabemethode“ Folgendes eingegeben:

  • Tastatur – Französisch – Französisch (Bepo, ergonomisch, Dvorak…)
  • Mozc

Bisher funktioniert alles. Ich kann Strg+Leertaste drücken, um die Eingabemethoden umzuschalten, und es ist einwandfrei.

Jetzt möchte ich, dass fcitx automatisch gestartet wird, wenn ich mich anmelde. Daher füge ich fcitxam Ende der /etc/X11/Xsession.d/95fcitx_startDatei hinzu:

Ich melde mich ab und wieder an …

Problem 1:Ich kann zum Umschalten Strg+Leertaste verwenden, aber wenn fcitx automatisch gestartet wird, wird in der Taskleiste kein Tastatursymbol angezeigt. Daher kann ich nicht mehr in die Optionen gehen und habe keinerlei visuelle Anzeige, die mir sagt, welche Eingabemethode ich verwende …

Problem 2:Das Popup, das Kanas durch Kanjis ersetzt, erscheint in Firefox weit abseits der Zeile, in der ich schreibe … in der Nähe der unteren linken Ecke des Fensters … Das ist seltsam.

Danke für die Hilfe.

Antwort1

Zur automatischen Eingabe von Strg + Leertaste nach der Anmeldung.

Meine Idee, xdotool zu verwenden (eigentlich ist das nicht meine Idee, im japanischen Forum wurde die Frage „Wie richten wir ibus-mozc automatisch ein, wenn wir uns anmelden …“ vorgestellt. Ich habe es so geändert, dass es zu fcitx-mozc passt.)

sudo apt install xdotool

Dann machen Sie ein Skript~/.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

Dieses Skript wiederholt das Drücken von Strg + Leertaste, bis fcitx Zenkaku erhält. Es ist also ein wenig dumm, wenn es sich bereits im Zenkaku-Modus befindet und man sieht, wie es funktioniert.

Wenn Sie meinen, dass es zu lange dauert, verkürzen Sie die Schlafenszeit.

chomod +x ~/.im_sw.sh

Nächster Schritt

Lassen Sie dieses Skript nach der Anmeldung automatisch ausführen. Erstellen Sie ein Startskript~/.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

Ich denke, das könnte funktionieren, und auch hier komme ich mir etwas dumm vor. Ich muss dafür sorgen, dass ein Terminal geöffnet wird.

verwandte Informationen