im-launch
Launch input method (IM) applications
SYNOPSIS
im-launch [OPTION]... [--] [COMMAND [ARGS...]]
PARAMETERS
--help
Display help message and exit
--version
Output version information and exit
COMMAND [ARGS]
Application to launch with IM support; defaults to /bin/sh
DESCRIPTION
im-launch is a wrapper script from the ibus package that initializes the Intelligent Input Bus (IBus) input method framework before executing a command. It ensures applications, especially those using GTK+, Qt, or X11, can access input methods like keyboard layouts, IMEs for CJK languages, or emoji pickers.
When run, it checks if ibus-daemon is active via ibus-daemon --replace &. If not, it starts the daemon. It then exports key environment variables: GTK_IM_MODULE=ibus, QT_IM_MODULE=ibus, XMODIFIERS=@im=ibus, CLUTTER_IM_MODULE=ibus, and GLib:GIO_MODULE_DIR for broader compatibility.
If no command is specified, it execs /bin/sh. This makes it ideal for wrapping application launchers in desktop environments like GNOME, KDE, or XFCE to enable seamless input method switching. Without it, apps might ignore input methods or fail to detect the daemon.
Common use: Add to ~/.xinitrc or session scripts: exec im-launch your-desktop-session. Supports X11 primarily, with partial Wayland integration via ibus 1.5+.
CAVEATS
X11-focused; Wayland requires ibus-portal or DE-specific setup. Does not start daemon if already running to avoid multiples.
USAGE EXAMPLE
im-launch firefox launches Firefox with IBus IME enabled.
im-launch -- gnome-session starts GNOME with IM support.
ENVIRONMENT SETUP
Exports: GTK_IM_MODULE=ibus, QT_IM_MODULE=ibus, XMODIFIERS=@im=ibus.
HISTORY
Developed as part of IBus project (started 2008 by Peng Gao et al. for Linux input methods). Integrated into major distros ~2010; version 1.5 (2014) added Wayland support. Maintained by Red Hat, Ubuntu teams.
SEE ALSO
ibus-daemon(1), im-config(1), ibus-setup(1)


