https://bugzilla.redhat.com/show_bug.cgi?id=2023222
Bug ID: 2023222
Summary: ibus cannot open display via imsettings in Plasma
Wayland
Product: Fedora
Version: 35
Status: NEW
Component: imsettings
Assignee: tagoh(a)redhat.com
Reporter: tfujiwar(a)redhat.com
QA Contact: extras-qa(a)fedoraproject.org
CC: i18n-bugs(a)lists.fedoraproject.org, tagoh(a)redhat.com
Target Milestone: ---
Classification: Fedora
Description of problem:
im-chooser can launch imsettings-daemon and ibus-daemon and imsettings-daemon
launches ibus-daemon again when user log into the Plasma Wayland session but
ibus-ui-gtk3 fails to be launched because ibus-ui-gtk3 fails to open Display
with XOpenDisplay(NULL) via imsettings-daemon while I confirmed ibus-ui-gtk3
got DISPLAY=:0 environment variable.
If I invoke ibus-daemon by manual ibus-daemon can launch ibus-ui-gtk3
successfully so this issue would be imsettings in Plasma Wayland.
Version-Release number of selected component (if applicable):
imsettings-1.8.2-4.fc35.x86_64
ibus-1.5.25-4.fc35.x86_64
plasma-workspace-wayland-5.22.5-2.fc35.x86_64
How reproducible:
Steps to Reproduce:
1. Log into Plasma Wayland session
2. Run im-chooser and select IBus and ibus-daemon runs
3. Log out the session and imsettings-daemon is still running
4. Log into Plasma Wayland session again
or
5. Run im-chooser again and select IBus -> No input method -> IBus
Actual results:
ibus-ui-gtk3 and ibus-x11 are not running and no IBus panel icon in the Plasma
desktop
Expected results:
ibus-ui-gtk3 and ibus-x11 are running and users can switch IBus engines from
IBus panel icon in the Plasma desktop
Additional info:
I'm thinking to launch imsettings-daemon from
/usr/libexec/plasma-dbus-run-session-if-needed until Plasma Wayland can manage
IBus input contexts with D-Bus likes GNOME Wayland so I'm fine to terminate
imsettings-daemon by logging out the desktop session.
--- /usr/libexec/plasma-dbus-run-session-if-needed.orig07:11:14.936606871 +0900
+++ /usr/libexec/plasma-dbus-run-session-if-needed
@@ -2,6 +2,10 @@
# Usage: plasma-dbus-run-session-if-needed PROGRAM [ARGUMENTS]
# If the session bus is not available it is spawned and wrapper round our
program
# Otherwise we spawn our program directly
+if [ -x /usr/libexec/xinput-run-in-session ] ; then
+ nohup /usr/libexec/xinput-run-in-session &
+fi
+
drs=
if [ -z "${DBUS_SESSION_BUS_ADDRESS}" ]
then
# cat /usr/libexec/xinput-run-in-session
#!/bin/sh
# Wait for running a desktop session with D-Bus
sleep 180
if [ -x /etc/X11/xinit/xinitrc.d/50-xinput.sh ] ; then
/etc/X11/xinit/xinitrc.d/50-xinput.sh
ibus exit
imsettings-switch -n -q -x
fi
--
You are receiving this mail because:
You are on the CC list for the bug.
https://bugzilla.redhat.com/show_bug.cgi?id=2023222