Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

Bug#1033097: fcitx5: Fcitx5 does not start in KDE plasma Wayland

1,271 views
Skip to first unread message

Jun Nogata

unread,
Mar 17, 2023, 5:42:25 AM3/17/23
to
Package: fcitx5
Version: 5.0.21-3
Severity: normal
X-Debbugs-Cc: nogajun...@gmail.com

Dear Maintainer,

Fcitx5 will not start in KDE Plasma Wayland.

When I go to KDE System Settings and open Regional Settings -> Input Methods, I get the message "Cannot connect to Fcitx by DBus, is Fcitx running?". If I press the "Run Fcitx" button here, Fcitx5 starts and I can type Japanese.

In KDE Plasma X11, Fcitx5 is automatically started and Japanese can be input.


-- Package-specific info:

--- Fcitx5 Diagnose output ---

# System Info:
1. `uname -a`:

Linux debian 6.1.0-6-amd64 #1 SMP PREEMPT_DYNAMIC Debian 6.1.15-1 (2023-03-05) x86_64 GNU/Linux

2. `lsb_release -a`:

Distributor ID: Debian
Description: Debian GNU/Linux bookworm/sid
Release: n/a
Codename: bookworm

3. `lsb_release -d`:

Description: Debian GNU/Linux bookworm/sid

4. `/etc/lsb-release`:

`/etc/lsb-release` not found.

5. `/etc/os-release`:

PRETTY_NAME="Debian GNU/Linux bookworm/sid"
NAME="Debian GNU/Linux"
VERSION_CODENAME=bookworm
ID=debian
HOME_URL="https://www.debian.org/"
SUPPORT_URL="https://www.debian.org/support"
BUG_REPORT_URL="https://bugs.debian.org/"

6. Desktop Environment:

Desktop environment is `kde`.

7. XDG SESSION TYPE:

XDG_SESSION_TYPE='wayland'

8. Bash Version:

BASH_VERSION='5.2.15(1)-release'

# Environment:
1. DISPLAY:

DISPLAY=':1'


WAYLAND_DISPLAY='wayland-0'

2. Keyboard Layout:

1. `setxkbmap`:

WARNING: Running setxkbmap against an XWayland server
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 locales:

C
C.utf8
POSIX
en_US.utf8
ja_JP.utf8

2. Current locale:

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

4. Directories:

1. Home:

/home/jun

2. `${XDG_CONFIG_HOME}`:

Environment variable `XDG_CONFIG_HOME` is not set.

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

3. Fcitx5 Settings Directory:

Current fcitx5 settings directory is `~/.config/fcitx5` (`/home/jun/.config/fcitx5`).

5. Current user:

The script is run as jun (1000).

# Fcitx State:
1. executable:

Found fcitx5 at `/usr/bin/fcitx5`.

2. version:

Fcitx version: `5.0.21`

3. process:

Found 1 fcitx5 process:

1675 fcitx5

4. `fcitx5-remote`:

`fcitx5-remote` works properly.

5. DBus interface:

Using `dbus-send` to check dbus.

Owner of DBus name `org.fcitx.Fcitx5` is `:1.78`.

PID of DBus name `org.fcitx.Fcitx5` owner is `2134`.

Debug information from dbus:

Group [x11::1] has 4 InputContext(s)
IC [996a30e468824fe281cbff7f74797d8b] program:Firefox-esr frontend:dbus cap:6000000012 focus:0
IC [83f823c58e524789b32c4bdc48a41bd9] program:Firefox-esr frontend:dbus cap:6000000012 focus:0
IC [7894801571f441bf88d516b9366c4042] program:Firefox-esr frontend:dbus cap:6000000012 focus:0
IC [6222ca5bc7364a359ac94f9a91e6afce] program:Firefox-esr frontend:dbus cap:6000000012 focus:0
Group [wayland:] has 4 InputContext(s)
IC [9ec1333a3181429c8fc496eda6780e36] program:konsole frontend:dbus cap:e001800072 focus:1
IC [667c0f2841be402c946af333c880458c] program:plasmashell frontend:dbus cap:1e001800072 focus:0
IC [c41103ea659b4e84908c6e2b47e5033e] program:dolphin frontend:dbus cap:1e001800072 focus:0
IC [ced9301d0cf5469aa2500cdcb345f74b] program:kwrite frontend:dbus cap:1e001800072 focus:0
Input Context without group

# Fcitx Configure UI:
1. Config Tool Wrapper:

Found fcitx5-configtool at `/usr/bin/fcitx5-configtool`.

2. Config GUI for qt:

Found `fcitx5-config-qt` at `/usr/bin/fcitx5-config-qt`.

3. Config GUI for kde:

Found fcitx5 kcm module.

kcm_fcitx5 - Configure Input Method

# 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:

Xim server name is the same with that set in the environment variable.

3. XIM encoding:

**Your LC_CTYPE is set to C whose encoding is not UTF-8. You may have trouble committing strings using XIM.**

## Qt:
1. qt4 - `${QT4_IM_MODULE}`:

Environment variable QT_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:

Found fcitx5 qt5 module: `/usr/lib/x86_64-linux-gnu/fcitx5/qt5/libfcitx-quickphrase-editor5.so`.
Found fcitx5 im module for qt6: `/usr/lib/x86_64-linux-gnu/qt6/plugins/platforminputcontexts/libfcitx5platforminputcontextplugin.so`.
Found fcitx5 im module for qt5: `/usr/lib/x86_64-linux-gnu/qt5/plugins/platforminputcontexts/libfcitx5platforminputcontextplugin.so`.
Found unknown fcitx qt module: `/usr/lib/x86_64-linux-gnu/qt5/plugins/kcms/kcm_fcitx5.so`.

Following error may not be accurate because guessing Qt version from path depends on how your distribution packages Qt. It is not a critical error if you do not use any Qt application with certain version of Qt or you are using text-input support by Qt under Wayland.
**Cannot find fcitx5 input method module for Qt4.**

## 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 fcitx5 im module for gtk 2.**

2. gtk 3:

**Cannot find `gtk-query-immodules` for gtk 3**

**Cannot find fcitx5 im module for gtk 3.**

3. Gtk IM module cache:

1. gtk 2:

Found immodules cache for gtk `2.24.33` at `/usr/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.33

**Failed to find fcitx5 in immodule cache at `/usr/lib/x86_64-linux-gnu/gtk-2.0/2.10.0/immodules.cache`**

**Cannot find fcitx5 im module for gtk 2 in cache.**

2. gtk 3:

Found immodules cache for gtk `3.24.37` at `/usr/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.37

Found fcitx5 im modules for gtk `3.24.37`.

"/usr/lib/x86_64-linux-gnu/gtk-3.0/3.0.0/immodules/im-fcitx5.so"
"fcitx" "Fcitx5 (Flexible Input Method Framework5)" "fcitx5" "/usr/locale" "ja:ko:zh:*"
"fcitx5" "Fcitx5 (Flexible Input Method Framework5)" "fcitx5" "/usr/locale" "ja:ko:zh:*"

3. gtk 4:

**Cannot find immodules cache for gtk 4**

**Cannot find fcitx5 im module for gtk 4 in cache.**

4. Gtk IM module files:

1. gtk 2:

All found Gtk 2 immodule files exist.

2. gtk 3:

All found Gtk 3 immodule files exist.

3. gtk 4:

All found Gtk 4 immodule files exist.

# Configuration:
## Fcitx Addons:
1. Addon Config Dir:

Found fcitx5 addon config directory: `/usr/share/fcitx5/addon`.

2. Addon List:

1. Found 20 enabled addons:

Classic User Interface 5.0.21
Clipboard 5.0.21
DBus 5.0.21
DBus Frontend 5.0.21
Emoji 5.0.21
Fcitx4 Frontend 5.0.21
IBus Frontend 5.0.21
Input method selector 5.0.21
Keyboard 5.0.21
KDE Input Method Panel 5.0.21
Mozc
Status Notifier 5.0.21
Notification 5.0.21
Quick Phrase 5.0.21
Spell 5.0.21
Unicode 5.0.21
Wayland 5.0.21
Wayland Input method frontend 5.0.21
XCB 5.0.21
X Input Method Frontend 5.0.21

2. Found 0 disabled addons:

3. Addon Libraries:

All libraries for all addons are found.

4. User Interface:

Found 2 enabled user interface addons:

Classic User Interface
KDE Input Method Panel

Kimpanel process:

904 /usr/bin/plasmashell --no-respawn

## Input Methods:
1. `/home/jun/.config/fcitx5/profile`:

[Groups/0]
# Group Name
Name=デフォルト
# Layout
Default Layout=jp
# Default Input Method
DefaultIM=mozc

[Groups/0/Items/0]
# Name
Name=keyboard-jp
# Layout
Layout=

[Groups/0/Items/1]
# Name
Name=mozc
# Layout
Layout=

[GroupOrder]
0=デフォルト

# Log:
1. `date`:

Fri Mar 17 18:21:57 JST 2023

2. `/home/jun/.config/fcitx5/crash.log`:

`/home/jun/.config/fcitx5/crash.log` not found.

**Warning: the output of fcitx5-diagnose contains sensitive information, including the distribution name, kernel version, name of currently running programs, etc.**

**Though such information can be helpful to developers for diagnostic purpose, please double check and remove as necessary before posting it online publicly.**

-- System Information:
Debian Release: bookworm/sid
APT prefers testing-security
APT policy: (500, 'testing-security'), (500, 'testing')
Architecture: amd64 (x86_64)

Kernel: Linux 6.1.0-6-amd64 (SMP w/2 CPU threads; PREEMPT)
Locale: LANG=en_US.UTF-8, LC_CTYPE=en_US.UTF-8 (charmap=UTF-8), LANGUAGE=ja_JP
Shell: /bin/sh linked to /usr/bin/dash
Init: systemd (via /run/systemd/system)
LSM: AppArmor: enabled

Versions of packages fcitx5 depends on:
ii fcitx5-data 5.0.21-3
ii fcitx5-modules 5.0.21-3
ii libc6 2.36-8
ii libexpat1 2.5.0-1
ii libfcitx5config6 5.0.21-3
ii libfcitx5core7 5.0.21-3
ii libfcitx5utils2 5.0.21-3
ii libgcc-s1 12.2.0-14
ii libjson-c5 0.16-2
ii libstdc++6 12.2.0-14

Versions of packages fcitx5 recommends:
ii fcitx5-config-qt 5.0.16-1
ii fcitx5-frontend-gtk3 5.0.21-1
ii fcitx5-frontend-gtk4 5.0.21-1
ii fcitx5-frontend-qt5 5.0.16-1+b3
ii fcitx5-frontend-qt6 5.0.16-1+b3
ii im-config 0.55-1

Versions of packages fcitx5 suggests:
pn fcitx5-chinese-addons <none>
pn fcitx5-frontend-gtk2 <none>
ii kde-config-fcitx5 5.0.16-1

-- no debconf information

Gunnar Hjalmarsson

unread,
Mar 17, 2023, 4:30:04 PM3/17/23
to
Control: reassign -1 im-config 0.55-1
Control: affects -1 fcitx5
Control: severity -1 important
Control: retitle -1 im-config: Fcitx5 does not start automatically in
KDE plasma Wayland

On 2023-03-17 10:27, Jun Nogata wrote:
> Dear Maintainer,
>
> Fcitx5 will not start in KDE Plasma Wayland.
>
> When I go to KDE System Settings and open Regional Settings -> Input
> Methods, I get the message "Cannot connect to Fcitx by DBus, is Fcitx
> running?". If I press the "Run Fcitx" button here, Fcitx5 starts and
> I can type Japanese.
>
> In KDE Plasma X11, Fcitx5 is automatically started and Japanese can
> be input.

Thanks for your report.

I made some tests with Kubuntu 23.04, and the problem seems to be with
the im-config file /etc/xdg/autostart/im-launch.desktop. I see this line
in the syslog:

2023-03-17T18:46:15.452477+01:00 gunnar-kubuntu-lunar-230317
systemd[865]:
/run/user/1000/systemd/generator.late/app-im\x2dl...@autostart.service:14:
Ignoring unknown escape sequences: "if [ "x\$XDG_SESSION_TYPE" =
"xwayland" ] ; then exec env IM_CONFIG_CHECK_ENV=1 im-launch true; fi"

How are those escapes added??

Anyway, it works for me in a wayland session if I drop the condition
from the Exec line in /etc/xdg/autostart/im-launch.desktop so it looks
like this:

Exec=sh -c 'exec env IM_CONFIG_CHECK_ENV=1 im-launch true'

But that's not what we want, is it? Suggestions for a proper way to
address this issue are most welcome.

--
Rgds,
Gunnar Hjalmarsson

Gunnar Hjalmarsson

unread,
Mar 18, 2023, 4:00:04 AM3/18/23
to
On 2023-03-17 21:18, Gunnar Hjalmarsson wrote:
> I made some tests with Kubuntu 23.04, and the problem seems to be
> with the im-config file /etc/xdg/autostart/im-launch.desktop. I see
> this line in the syslog:
>
> 2023-03-17T18:46:15.452477+01:00 gunnar-kubuntu-lunar-230317
> systemd[865]:
> /run/user/1000/systemd/generator.late/app-im\x2dl...@autostart.service:14:
> Ignoring unknown escape sequences: "if [ "x\$XDG_SESSION_TYPE" =
> "xwayland" ] ; then exec env IM_CONFIG_CHECK_ENV=1 im-launch true;
> fi"
>
> How are those escapes added??
>
> Anyway, it works for me in a wayland session if I drop the condition
> from the Exec line in /etc/xdg/autostart/im-launch.desktop so it
> looks like this:
>
> Exec=sh -c 'exec env IM_CONFIG_CHECK_ENV=1 im-launch true'
>
> But that's not what we want, is it? Suggestions for a proper way to
> address this issue are most welcome.

On Ubuntu 23.04 I see the issue in Plasma (Wayland) but not in Ubuntu
(Wayland). Is there some buggy systemd feature, which takes over XDG
autostart files, and which KDE/Plasma makes use of while GNOME does not?

@Jun Nogata: Can you please edit /etc/xdg/autostart/im-launch.desktop as
shown above and let us know if it helps in your case.

--
Gunnar

Gunnar Hjalmarsson

unread,
Mar 18, 2023, 5:40:04 AM3/18/23
to
On 2023-03-18 08:54, Gunnar Hjalmarsson wrote:
> Is there some buggy systemd feature, which takes over XDG autostart
> files, and which KDE/Plasma makes use of while GNOME does not?

It looks like that's close to the truth. I googled around, and found a
command which disables the thing:

kwriteconfig5 --file startkderc --group General --key systemdBoot false

(+ reboot)

That made Fcitx5 start automatically for me on Plasma (Wayland).

Source: https://bugs.kde.org/show_bug.cgi?id=455252

So this may well be a KDE bug or a systemd bug — pick your choice.

Should we do something with im-config in the meantime to work around the
problem?

--
Gunnar

Gunnar Hjalmarsson

unread,
Mar 18, 2023, 10:40:04 PM3/18/23
to
Submitted an im-config merge request:

https://salsa.debian.org/input-method-team/im-config/-/merge_requests/18

Feedback welcome!

Gunnar Hjalmarsson

unread,
Mar 19, 2023, 6:10:04 PM3/19/23
to
Since I based the merge request on Kubuntu 23.04 observations, I decided
to confirm that it also applies in Debian itself. So I installed
plasma-desktop on my Debian testing installation, and — as expected —
fcitx5 didn't start when logging in to a Plasma (Wayland) session. I
confirmed that the same systemd boot issue is present in Debian, so I
applied the proposed changes to im-config. Result: fcitx5 still didn't
start.

The remaining problem proved to be the display manager. GDM does not
source the files in /etc/profile.d when logging in to a Plasma (Wayland)
session! So I installed sddm and made it the standard DM. That proved to
be it. When logging in from SDDM to a Plasma (Wayland) session, fcitx5
starts automatically.

@Jun Nogata: It would be interesting to know which display manager you
are using.

Not sure what the conclusion of this is. Did I find a GDM bug? Or is GDM
intended to be used for GNOME sessions only? Or should we reconsider
im-config's use of /etc/profile.d? Maybe systemd is good enough these days.

But this latter aspect is something to maybe deal with later. Unless
somebody objects, I will consider the merge request sufficient to fix
this bug.

--
Gunnar
0 new messages