First the fix:

Set the following in $HOME/.config/imsettings/xinputrc

    export GTK_IM_MODULE=ibus
    export XMODIFIERS=@im=ibus
    export QT_IM_MODULE=ibus

If the folder $HOME/.config/imsettings doesn’t exist, create it first.

And now a bit of background.

I switched for a short time to Ubuntu. My reasoning was that I can give better family support but I switched back to Fedora.

There is a script /etc/X11/xinit/xinitrc.d/50-xinput.sh. This script tries to do some magic and works pretty late in the process of starting your GUI when using the default GDM.

The folder creation part is the place where I guess the script failed for me.

And if that file doesn’t get sourced by the script for whatever reason, the script looks up which LANG-variable you have set and compares it to a hardcoded list. And then sets up environment variables depending on your LANG-variable.

If you have set en_US.utf8 like me that means that they get set up in a minimal way which leads to not being able to use an IME. And of course the script doesn’t bother logging anything.

Dear Fedora Project, this is too much magic and can fail. Especially since there are multiple places in $HOME where you can potentially set up the three environment variables, not all recommended but possible.

Sunday February 28, 2016