16

I'm wondering where is the config file of ibus stored? I checked ~/.config/ibus, and there's only a dbus socket. And no ~/.ibus folder available.

daisy
  • 53,527
  • 78
  • 236
  • 383

3 Answers3

12

As of 1.5.11, IBus uses dconf. Here is (a snip of) its configuration obtained by: dconf dump /desktop/ibus/

[general]
use-system-keyboard-layout=false
preload-engines-inited=true
embed-preedit-text=false
use-global-engine=true
version='1.5.11'
engines-order=['xkb:us::eng', 'hangul', 'sunpinyin', 'm17n:ru:kbd']
preload-engines=['xkb:us::eng', 'm17n:ru:kbd', 'hangul', 'sunpinyin']

The changes applied by saving the output to a file (dconf dump /desktop/ibus/ > ibus.dconf) and then loading it via dconf load /desktop/ibus/ < ibus.dconf) have been applied without a restart of IBus.

Koterpillar
  • 293
  • 2
  • 7
6

For newer versions see Koterpillar's answer.


IIRC ibus uses gconf to store its settings so you should be able to use either gconf-editor or gconftool (CLI) to get/set those settings.

don_crissti
  • 79,330
  • 30
  • 216
  • 245
1

I have seen the same thing elsewhere, that the configuration is stored in gconf, and that you can edit that with command line tools. But when I try that, it doesn't seem to have any effect. I am on Suse Linux 12.3.

To find out what to change, I first did a recursive-list of gconf and saved it to a file:

gconftool-2 --recursive-list / > beforeConfig.txt

Then I started ibus-setup, and did 'Select an Input Method', Japanese, Anthy, Add, Close.

Then I did another recursive-list:

gconftool-2 --recursive-list / > afterConfig.txt

Then I did a diff on the two files and saw that the only difference was with preload engines:

preload_engines = []

     vs.

preload_engines = [anthy]

And that it was under /desktop/ibus/general So I figured that starting over with ibus unconfigured, I could do the following to configure it:

gconftool-2 --set /desktop/ibus/general/preload_engines --type string "[anthy]"

After that, I did another recursive-list, and found it identical to the afterConfig.txt one. But then if I start ibus-setup, it does not show any Input methods configured. And it does not work as if it is configured.

So is the configuration also stored somewhere else besides gconf? Someplace that actually matters? Or am I doing something wrong when setting the preload_engines value?

I also tried it on Suse Linux 12.1, with the same results, except a somewhat different value for that key:

preload_engines = [anthy,m17n:ko:han2]
0xC0000022L
  • 16,189
  • 24
  • 102
  • 168
Jeff
  • 11
  • 1