IBusStartUpTroubleShooting

aayjaychan edited this page Apr 21, 2018 · 3 revisions

IBus start up trouble shooting for various desktop environments (DE) and standalone window managers (WM).

Phase-Deploy

1. Introduction

Normally IBus startup configuration will be done automatically after IBus installation. But if it does not "just work" then this page is for you. Following sections list the possible causes of the problem.

2. Trouble shooting

2.1 Does the DE or WM support XDG autostart?

XDG autostart specifies the how the applications should be started when you start a X session. DE such like GNOME, KDE, LXDE, and XFCE support it. Unfortunately, not all WM support it, if you have one of such WM, you may need to put ibus-daemon in your start up script.

See Start Up Script for detail.

2.2 Does your imsettings, im-chooser, im-switch, or other input framework selecting mechanism work?

Some distribution like Fedora and Ubuntu have this mechanism so users can change their input frameworks (such as SCIM, IBus, OXIM) , without logging out. If unfortunately, the mechanism does not get along with your DE or WM, then you might need to disable it.

See Start Up Script for detail.

3. Start Up Script#

Note: The following script is designed for Fedora, other system may need to change accordingly.

The following method should work for nearly all DE or WM. However you may need to disable the imsettings and IBus from XDG autostart setting.

3.1 Disable im-settings and IBus from XDG autostart

3.1.1 KDE4

Application->System->System Setting->Advance->Autostart Disable im-settings and IBus

3.1.2 GNOME

System->Preferences->Startup Application->Startup Programs Disable im-settings and IBus

3.1.3 LXDE

# Open an terminal
# gnome-control-center
# Startup Application->Startup Programs
Disable im-settings and IBus

3.2 Install Autoexec script(optional)

If you want a place to put your autostart scripts for all DE and WM regardless the XDG support or starting from startx/desktop manager, read on, otherwise skip this section.

# sudo vi /etc/X11/xinit/xinitrc.d/45-autoexec.sh

Whose content is:

#!/bin/bash
if [ -x "$HOME/.autoexec" ]; then
       . $HOME/.autoexec

Now you can put your favorite application in $HOME/.autoexec

3.3 Content of the startup script

Add following to your startup script (~/.autoexec, or ~/.Xclient if you start with startx)

# input framework launch
XIM_PROF=ibus
ln -sf /etc/X11/xinit/xinput.d/${XIM_PROF}.conf ${HOME}/.xinputrc
source ${HOME}/.xinputrc

if [ -n "${GTK_IM_MODULE}" ]; then
   export GTK_IM_MODULE
else
   export GTK_IM_MODULE=xim
fi 
if [ -n "${QT_IM_MODULE}" ]; then
   export QT_IM_MODULE
else
   export QT_IM_MODULE=xim
fi 

echo "XIM_PROGRAM=${XIM_PROGRAM}"
${XIM_PROGRAM} ${XIM_ARGS} &

If you do not have /etc/X11/xinit/xinput.d/ibus.conf , then use following instead:

# input framework launch
ibus-daemon --xim -d
You can’t perform that action at this time.
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.
Press h to open a hovercard with more details.