1

I'm trying to get Japanese input (fcitx-mozc) setup on Kubuntu 20.04, a task that one might expect to be simple, but after multiple hours of following dozens of tutorials, nothing seems to work:

  • If I launch "Fcitx Configuration," I get a dialog saying "You're currently running KDE, but KCModule for fcitx couldn't be found, the package name of this KCModule is usually kcm-fcitx or kde-config-fcitx." kde-config-fcitx is already installed. And kcm-fcitx is not in the repo.
  • According to tutorials like this, there's supposed to be a config panel under System Settings->Regional->Input Method. No such panel exists.
  • Other tutorials have suggested installing fcitx-config-gtk3 (not in the repo) and/or fcitx-configtool (not in the repo).
  • fcitx is already selected in im-config.

I'm at a loss. It took 2 seconds to install on Mint, and was done 100% from the UI. This was a fresh Kubuntu install that I just setup a day or two ago, so it's very unlikely anything else I've changed would have impacted this. Am I somehow missing something simple? Is it not possible to input in Japanese on the newly-released Kubuntu 20.04 yet?

Edit: Here's the output of fcitx-diagnose:

System Info:

  1. uname -a:

    Linux Latitude-5490-Kubuntu 5.4.42-050442-generic #202005200734 SMP Wed May 20 07:36:21 UTC 2020 x86_64 x86_64 x86_64 GNU/Linux
    
  2. lsb_release -a:

    No LSB modules are available.
    Distributor ID: Ubuntu
    Description:    Ubuntu 20.04 LTS
    Release:        20.04
    Codename:       focal
    
  3. lsb_release -d:

    Description:    Ubuntu 20.04 LTS
    
  4. /etc/lsb-release:

    DISTRIB_ID=Ubuntu
    DISTRIB_RELEASE=20.04
    DISTRIB_CODENAME=focal
    DISTRIB_DESCRIPTION="Ubuntu 20.04 LTS"
    
  5. /etc/os-release:

    NAME="Ubuntu"
    VERSION="20.04 LTS (Focal Fossa)"
    ID=ubuntu
    ID_LIKE=debian
    PRETTY_NAME="Ubuntu 20.04 LTS"
    VERSION_ID="20.04"
    HOME_URL="https://www.ubuntu.com/"
    SUPPORT_URL="https://help.ubuntu.com/"
    BUG_REPORT_URL="https://bugs.launchpad.net/ubuntu/"
    PRIVACY_POLICY_URL="https://www.ubuntu.com/legal/terms-and-policies/privacy-policy"
    VERSION_CODENAME=focal
    UBUNTU_CODENAME=focal
    
  6. Desktop Environment:

    Desktop environment is kde.

  7. Bash Version:

    BASH_VERSION='5.0.16(1)-release'
    

Environment:

  1. DISPLAY:

    DISPLAY=':0'
    
  2. Keyboard Layout:

    1. setxkbmap:

      xkb_keymap {
          xkb_keycodes  { include "evdev+aliases(qwerty)" };
          xkb_types     { include "complete"      };
          xkb_compat    { include "complete"      };
          xkb_symbols   { include "pc+us+inet(evdev)"     };
          xkb_geometry  { include "pc(pc105)"     };
      };
      
    2. xprop:

      _XKB_RULES_NAMES(STRING) = "evdev", "pc105", "us", "", ""
      
  3. Locale:

    1. All locale:

      C
      C.UTF-8
      POSIX
      
    2. Current locale:

      LANG=en_US.UTF-8
      LANGUAGE=
      LC_CTYPE="C.UTF-8"
      LC_NUMERIC="C.UTF-8"
      LC_TIME="C.UTF-8"
      LC_COLLATE="C.UTF-8"
      LC_MONETARY="C.UTF-8"
      LC_MESSAGES="C.UTF-8"
      LC_PAPER="C.UTF-8"
      LC_NAME="C.UTF-8"
      LC_ADDRESS="C.UTF-8"
      LC_TELEPHONE="C.UTF-8"
      LC_MEASUREMENT="C.UTF-8"
      LC_IDENTIFICATION="C.UTF-8"
      LC_ALL=C.UTF-8
      
  4. Directories:

    1. Home:

      /home/metal450
      
    2. ${XDG_CONFIG_HOME}:

      Environment variable XDG_CONFIG_HOME is not set.

      Current value of XDG_CONFIG_HOME is ~/.config (/home/metal450/.config).

    3. Fcitx Settings Directory:

      Current fcitx settings directory is ~/.config/fcitx (/home/metal450/.config/fcitx).

  5. Current user:

    The script is run as metal450 (1000).

Fcitx State:

  1. executable:

    Found fcitx at /usr/bin/fcitx.

  2. version:

    Fcitx version: 4.2.9.7

  3. process:

    Found 1 fcitx process:

       2530 fcitx <defunct>
    
  4. fcitx-remote:

    Cannot connect to fcitx correctly.

  5. DBus interface:

    Using dbus-send to check dbus.

    Cannot find DBus name org.fcitx.Fcitx owner.

    Cannot find pid of DBus name org.fcitx.Fcitx owner.

Fcitx Configure UI:

  1. Config Tool Wrapper:

    Found fcitx-configtool at /usr/bin/fcitx-configtool.

  2. Config GUI for gtk2:

    Config GUI for gtk2 not found.

  3. Config GUI for gtk3:

    Config GUI for gtk3 not found.

  4. Config GUI for kde:

    kcmshell4 not found.

    Cannot find a GUI config tool, please install one of kcm-fcitx, fcitx-config-gtk2, or fcitx-config-gtk3.

Frontends setup:

Xim:

  1. ${XMODIFIERS}:

    Environment variable XMODIFIERS is set to "@im=fcitx" correctly. Xim Server Name from Environment variable is fcitx.

  2. XIM_SERVERS on root window:

    Cannot find xim_server on root window.

Qt:

  1. qt4 - ${QT4_IM_MODULE}:

    Environment variable QT4_IM_MODULE is set to "fcitx" correctly.

  2. qt5 - ${QT_IM_MODULE}:

    Environment variable QT_IM_MODULE is set to "fcitx" correctly.

  3. Qt IM module files:

    Cannot find fcitx input method module for Qt4. Cannot find fcitx input method module for Qt5.

Gtk:

  1. gtk - ${GTK_IM_MODULE}:

    Environment variable GTK_IM_MODULE is set to "fcitx" correctly.

  2. gtk-query-immodules:

    1. gtk 2:

      Cannot find gtk-query-immodules for gtk 2

      Cannot find fcitx im module for gtk 2.

    2. gtk 3:

      Cannot find gtk-query-immodules for gtk 3

      Cannot find fcitx im module for gtk 3.

  3. Gtk IM module cache:

    1. gtk 2:

      Found immodules cache for gtk 2.24.32 at /lib/x86_64-linux-gnu/gtk-2.0/2.10.0/immodules.cache. Version Line:

      # Created by /usr/lib/x86_64-linux-gnu/libgtk2.0-0/gtk-query-immodules-2.0 from gtk+-2.24.32
      

      Found fcitx im modules for gtk 2.24.32.

      "/usr/lib/x86_64-linux-gnu/gtk-2.0/2.10.0/immodules/im-fcitx.so" 
      "fcitx" "Fcitx (Flexible Input Method Framework)" "fcitx" "/usr/share/locale" "ja:ko:zh:*" 
      
    2. gtk 3:

      Found immodules cache for gtk 3.24.18 at /lib/x86_64-linux-gnu/gtk-3.0/3.0.0/immodules.cache. Version Line:

      # Created by /usr/lib/x86_64-linux-gnu/libgtk-3-0/gtk-query-immodules-3.0 from gtk+-3.24.18
      

      Found fcitx im modules for gtk 3.24.18.

      "/usr/lib/x86_64-linux-gnu/gtk-3.0/3.0.0/immodules/im-fcitx.so" 
      "fcitx" "Fcitx (Flexible Input Method Framework)" "fcitx" "/usr/share/locale" "ja:ko:zh:*" 
      
  4. Gtk IM module files:

    1. gtk 2:

      Gtk 2 immodule file /usr/lib/x86_64-linux-gnu/gtk-2.0/2.10.0/immodules/im-fcitx.so does not exist.

    2. gtk 3:

      Gtk 3 immodule file /usr/lib/x86_64-linux-gnu/gtk-3.0/3.0.0/immodules/im-fcitx.so does not exist.

Configuration:

Fcitx Addons:

  1. Addon Config Dir:

    Found fcitx addon config directory: /usr/share/fcitx/addon.

  2. Addon List:

    1. Found 12 enabled addons:

      fcitx-autoeng
      fcitx-chttrans
      fcitx-clipboard
      fcitx-fullwidth-char
      fcitx-imselector
      fcitx-ipcportal
      fcitx-keyboard
      fcitx-punc
      fcitx-quickphrase
      fcitx-remote
      fcitx-spell
      fcitx-unicode
      
    2. Found 0 disabled addons:

  3. Addon Libraries:

    All libraries for all addons are found.

  4. User Interface:

    Cannot find enabled fcitx user interface!

Input Methods:

  1. Found 1 enabled input methods:

    fcitx-keyboard-us
    
  2. Default input methods:

    You only have one keyboard input method enabled. You may want to add another input method to input other languages.

Log:

  1. date:

    Sat May 23 13:20:19 PDT 2020
    
  2. ~/.config/fcitx/log/:

    total 0
    
  3. ~/.config/fcitx/log/crash.log:

    ~/.config/fcitx/log/crash.log not found.

Regarding: "Cannot find a GUI config tool, please install one of kcm-fcitx, fcitx-config-gtk2, or fcitx-config-gtk3." None of those are available in the repo, but as mentioned, kde-config-fcitx is installed.

Regarding: Cannot find fcitx input method module for Qt4 & Cannot find fcitx input method module for Qt5. According to https://wiki.archlinux.org/index.php/fcitx#Input_method_module, those are supposed to be fcitx-qt4 and fcitx-qt5. But neither of those are in the repo.

3 Answers 3

3

My eventual solution was to just give up on Fcitx & use Anthy (an alternative IME to fcitx). After hours & hours struggling with fcitx, including posting a pretty detailed bug report on their github (which the devs seem to generally ignore), I gave Anthy a try. It installed & worked almost instantly. To install:

  • sudo apt install ibus-anthy ibus-gtk ibus-gtk3
  • Reboot
  • After reboot you should see the "EN" symbol in the systray.
  • Systray icon->Preferences->Input Method->Add->Japanese->Anthy
  • Done. You can now change languages with Super+Space.

Thus, this doesn't really answer the question of "how to get fcitx working on kubuntu 20.04," but "how to get Japanese input working on kubuntu 20.04."

1
1

Summary (TLDR)

Using Gnome/Ubuntu 18.04:

  1. Install japanese language for your SO:
  2. Install, at least one, IMF:
    • sudo apt install ibus, and/or;
    • sudo apt install fcitx
  3. Install, at least one, IME for your IMF:
    • if choose ibus:
      • sudo apt install ibus-mozc, and/or;
      • sudo apt install ibus-anthy, and/or;
      • sudo apt install ibus-kkc, and/or;
      • sudo apt install ibus-skk.
    • if choose fcitx:
      • sudo apt install fcitx-mozc, and/or;
      • sudo apt install fcitx-anthy, and/or;
      • sudo apt install fcitx-kkc, and/or;
      • sudo apt install fcitx-skk.

Explanations

By your answer you get the wrong concepts from anthy and fcitx. They are different category of softwares. The first one is an IMF and the second one is an IME.

I'm using Ubuntu 18.04, with Gnome. So try to adapt my solutions to your local environment.

You will need to install 3 kinds of packages: (japanese) language, at least one IMF and, at least one (japanese) IME.

Japanese Language

You need to install the japanese language (to get the core packages). Following the instructions in in Writing Japanese with Ubuntu 18.04 LTS Bionic Beaver and Japanese Input:

  1. In system settings, select Region & Language.
  2. Click Manage Installed Languages.
  3. In the Language Support window, click on Install / Remove Languages....
  4. In the Installed Languages window, check Japanese, click Apply.
  5. Log out of your Ubuntu profile to get effect.

IMFs packages

IMF are Input Method Framework softwares. They manage all different language inputs.

For example, I have english and spanish installed. So, the IMF provide to me a switch to change the language inputted. And I can have two or more spanish input softwares to be manipulated too.

Ubuntu comes with ibus installed. You can install one (or both) IMFs. Example of IMFs are ibus and fcitx. See a list of Linux IMFs in List of input methods for Unix platforms and Linux input method framework brief summary.

To install, type:

  • ibus: sudo apt install ibus, and/or;
  • fcitx: sudo apt install fcitx.

IMEs packages

IME are Input Method Editor/Engine softwares. They translate the key from your keyboard to a char of the desired language to be outputted.

So with the same keyboard, I can type in spanish, english, italian etc. And I can install many IMEs for the same language. For example, I can have 2 IMEs for english, 3 IME for Korean and so. Each IME have its own configurations, menus, documentations and so on. So choose what can fit your requirements.

You need to install at least one japanese IME(s) for each installed IMF. For example, Ubuntu comes with ibus IMF. So you can install one (or more) of these japanese IMEs:

  • mozc: sudo apt install ibus-mozc, and/or;
  • Anthy: sudo apt install ibus-anthy, and/or;
  • KKC: sudo apt install ibus-kkc, and/or;
  • SKK: sudo apt install ibus-skk.

And if you installed fctix IMF, you will need to install at least one of its specific japanese IMEs:

  • mozc: sudo apt install fcitx-mozc, and/or;
  • Anthy: sudo apt install fcitx-anthy, and/or;
  • KKC: sudo apt install fcitx-kkc, and/or;
  • SKK: sudo apt install fcitx-skk.

After install

After all of that, you can select the input method (IME) from your language selector on icon tray (IMF).

See bellow, on GNOME/Ubuntu:

  • the IMF (ibus) on Gnome Status Menu (is represented by a language icon selector).
  • all selectable IMEs (portuguese, spanish, english, japanese-mozc, japanese-anthy, japanese-kkc, japanese-skk) from this IMF (ibus).

ibus menu and selectables IMEs

And using the Gnome shortcut to fast-switch between IMEs: hold Super and press Space.

gnome menu shortcut to select IMEs

That's all!

7
  • Would it have been accurate, then, if I'd said "I gave up on fcitx-mozc and instead used ibus-anthy?"
    – J23
    Commented Jun 14, 2020 at 19:12
  • It will be more accurate. But with that answer, you changed both IMF and IME. The more precise can be like this: "I switch from fcitx-ibus to fcitx-mozc" or "I give up from ibus and give a chance to fcitx". :)
    – paulolimac
    Commented Jun 14, 2020 at 21:26
  • ...Don't you mean I gave up on fcitx and instead used ibus? :)
    – J23
    Commented Jun 14, 2020 at 22:40
  • No, no, no! I'm using IBUS because it is the Ubuntu's default IMF. It is usable and I haven't any kind of problem/bug with it until now. About FCITX, I used it years ago, but I hadn't many experiences with it, so I can't expose my impressions about it. But I think you can switch between FCITX and IBUS without problems. Finally, I recommend that you install and use the different Japanese IMEs (mozc, kkc etc). Each one has its own usability, configurations, shortcuts, keymaps systems and so on. They have many differences about usability.
    – paulolimac
    Commented Jun 19, 2020 at 13:23
  • Huh? Those are different points. You said "I gave up from ibus an give a chance to fcitx." I was just saying that what I did was the opposite: gave up on fcitx (because it was extremely cumbersome to setup & didn't work properly per their instructions, as documented above) and used ibus instead (because it worked easily & right away).
    – J23
    Commented Jun 19, 2020 at 17:29
0

refer to http://disq.us/p/2h4n2gv, very details about input methods installation...

Taskbar shows the input methods and languages

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .