Restart the IBus Daemon in GNOME: Quick Guide
IBus daemon restarts aren’t always straightforward in GNOME, especially since menu options have been removed. You’ll need to kill the daemon and start a fresh one.
Quick restart
Kill the current IBus daemon:
pkill -o ibus-daemon
The -o flag terminates only the oldest process, which is typically the main daemon (not child processes).
IBus usually auto-restarts after being killed. If it doesn’t, you can start it manually:
ibus-daemon --replace
The --replace flag terminates any existing daemon and starts a fresh one.
Complete restart with all options
For more control, use:
/usr/bin/ibus-daemon --replace --xim --panel disable
Flags explained:
--replace: Kill existing daemon and start fresh--xim: Enable XIM (X Input Method) support for legacy applications--panel disable: Disable the IBus panel for system-only integration
Hard restart (guaranteed clean slate)
If you suspect orphaned processes or stale sockets:
killall -9 ibus-daemon ibus-ui-gtk3
sleep 1
ibus-daemon --replace &
The sleep 1 gives the system time to clean up resources. The & backgrounds the process.
Using systemd to restart IBus
Many distributions now manage IBus as a user service via systemd. Check its status:
systemctl --user status ibus
Restart it with:
systemctl --user restart ibus
Or stop and start separately:
systemctl --user stop ibus
systemctl --user start ibus
Check if it’s enabled to auto-start:
systemctl --user is-enabled ibus
Verifying IBus is running
Check running processes:
ps aux | grep ibus-daemon
Or query systemd:
systemctl --user is-active ibus.service
Clearing stale configuration and cache
If IBus won’t restart or behaves unexpectedly, clear cached data:
rm -f ~/.config/ibus/bus/*
rm -rf ~/.cache/ibus
Remove stale socket files explicitly:
rm -f /run/user/$(id -u)/ibus/socket
Custom socket path for non-standard environments
If running IBus in containers or custom environments, set the socket path before starting:
export IBUS_SOCKET_PATH=/run/user/$(id -u)/ibus
ibus-daemon --replace
GNOME 45+ integration issues
Starting with GNOME 45, input methods are tightly integrated into Settings. If IBus restarts but your input method doesn’t appear or behave correctly:
- Open Settings > Keyboard > Input Sources
- Verify your input method is listed and selected
- Toggle it off and on if needed
- Log out and back in if changes don’t take effect
If a specific input method is stuck, remove it from the list and re-add it.
Debugging persistent restart failures
If IBus still won’t restart after the above steps:
- Check for D-Bus issues:
systemctl --user status dbus
- View systemd journal for errors:
journalctl --user -u ibus -n 50
-
Try a full session logout/login rather than just restarting the daemon
- On Wayland sessions (GNOME’s default on newer systems), some IBus features may be limited. Check which session you’re running:
echo $XDG_SESSION_TYPE
If you’re on Wayland and experiencing input method issues, verify your input method supports Wayland or consider switching to X11.