You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
GNOME 42 uses IBus systemd file to launch ibus-daemon.
When I run ibus restart command, ibus-daemon closes owned file descriptors from sysconf() and calls execv() to launch ibus-daemon in ibus/bus/server.c:_restart_server(). But ibus-daemon fails to launch ibus-daemon with execv().
Seems execv() is not permitted with systemd.
ibus restart command need to call systemd D-Bus method if gnome-session launches ibus-daemon with systemd.
But the ibus client does not know whether ibus-daemon is launched with systemd or directly.
E.g. users can call ibus exit command and runs ibus-daemon directly in GNOME.
The text was updated successfully, but these errors were encountered:
Thinking about this again, ibus-daemon outputs the D-Bus address and PID to $XDG_CONFIG_HOME/ibus/bus/ and probably I think IBus clients can get the PPID from the socket file and check if the parent is systemd.
If ibus-daemon is called via systemd, IBus restart API cannot restart
ibus-daemon but just terminates it.
Now ibus restart command checks the systemd avaiability and restart
ibus-daemon via systemd.
ibus start command is also added to launch ibus-daemon with systemd.
BUG=#2407
GNOME 42 uses IBus systemd file to launch ibus-daemon.
When I run
ibus restart
command, ibus-daemon closes owned file descriptors from sysconf() and calls execv() to launch ibus-daemon in ibus/bus/server.c:_restart_server(). But ibus-daemon fails to launch ibus-daemon with execv().Seems execv() is not permitted with systemd.
ibus restart
command need to call systemd D-Bus method if gnome-session launches ibus-daemon with systemd.But the ibus client does not know whether ibus-daemon is launched with systemd or directly.
E.g. users can call
ibus exit
command and runs ibus-daemon directly in GNOME.The text was updated successfully, but these errors were encountered: