Can't use input method in snap apps

Awesome, thank you very much!

It seems that the snaps that uses the gnome-platform content snap cannot load the IM module:

Cannot load module /snap/gtk3-demo/x1/gnome-platform/usr/lib/x86_64-linux-gnu/gtk-3.0/3.0.0/immodules/im-fcitx.so: GModule (/snap/gtk3-demo/x1/gnome-platform/usr/lib/x86_64-linux-gnu/gtk-3.0/3.0.0/immodules/im-fcitx.so) initialization check failed: GLib version too old (micro mismatch)
/snap/gtk3-demo/x1/gnome-platform/usr/lib/x86_64-linux-gnu/gtk-3.0/3.0.0/immodules/im-fcitx.so does not export GTK+ IM module API: GModule (/snap/gtk3-demo/x1/gnome-platform/usr/lib/x86_64-linux-gnu/gtk-3.0/3.0.0/immodules/im-fcitx.so) initialization check failed: GLib version too old (micro mismatch)
Cannot load module /snap/gtk3-demo/x1/gnome-platform/usr/lib/x86_64-linux-gnu/gtk-3.0/3.0.0/immodules/im-ibus.so: /snap/gtk3-demo/x1/gnome-platform/usr/lib/x86_64-linux-gnu/gtk-3.0/3.0.0/immodules/im-ibus.so: undefined symbol: ibus_input_context_set_cursor_location_relative
/snap/gtk3-demo/x1/gnome-platform/usr/lib/x86_64-linux-gnu/gtk-3.0/3.0.0/immodules/im-ibus.so does not export GTK+ IM module API: /snap/gtk3-demo/x1/gnome-platform/usr/lib/x86_64-linux-gnu/gtk-3.0/3.0.0/immodules/im-ibus.so: undefined symbol: ibus_input_context_set_cursor_location_relative

fcitx+snap still not working on mine.

snap 2.36.3
snapd 2.36.3
series 16
ubuntu 18.10
kernel 4.18.0-13-generic

Has this issue been fixed yet?

1 Like

It really depends on the snap you’re using, currently the supporting code is available, but (a) the snap you’re using hasn’t included it yet (b) the technology your snap is using isn’t compatible with the supporting code.

LIbreoffice cannot handle CJK input unfortunately.

snap    2.37.1.1+18.04
snapd   2.37.1.1+18.04
series  16
ubuntu  18.04
kernel  4.18.0-13-generic

@oSoMoN, any chance LIbreoffice will be able to handle CJK through fcitx soon?

1 Like

I unable to reproduce this problem

$ snap version
snap    2.37.1.1+18.04
snapd   2.37.1.1+18.04
series  16
ubuntu  18.04
kernel  4.15.0-44-generic

Have you installed the Gtk3 frontend of Fcitx?

$ LANG=C apt search fcitx-frontend-gtk3
Sorting... Done
Full Text Search... Done
fcitx-frontend-gtk3/bionic,now 1:4.2.9.6-1 amd64 [installed]
  Flexible Input Method Framework - GTK+ 3 IM Module frontend

yes.
to be specific I’m using fcitx + mozc.
Still, cannot type in Japanese in LO writer

$ dpkg --get-selections |grep ^fcitx
fcitx                                           install
fcitx-bin                                       install
fcitx-config-common                             install
fcitx-config-gtk                                install
fcitx-data                                      install
fcitx-frontend-all                              install
fcitx-frontend-gtk2                             install
fcitx-frontend-gtk3                             install
fcitx-frontend-qt4                              install
fcitx-frontend-qt5:amd64                        install
fcitx-module-dbus                               install
fcitx-module-kimpanel                           install
fcitx-module-lua                                install
fcitx-module-x11                                install
fcitx-modules                                   install
fcitx-mozc:amd64                                install
fcitx-ui-classic                                install
1 Like

Ubuntu 19.04, fcitx doesn’t work on snap app, slack.
I can’t input Chinese to slack, that’s very frustrating, maybe slack deb works?

1 Like

Ubuntu 19.04, fcitx doesn’t work on snap app, slack.

It needs to be fixed in the slack app, some users including me have filed support tickets. Please see

Hey Rex,

It’s great to see you again, and big thanks for the help :slight_smile:
Aside from ibus, fcitx also has a huge user space and being worth to be considered.

Hi @v1kn, I’ve just tested fcitx + mozc on the latest libreoffice-6.2.4.2-snap1, and looks to be working now. Can you confirm?

Hi

On Slack 4.0.1, fcitx doesn’t work, it seems like this problem is lasting so long time.

did you contact slack ? they are the ones packaging it so they are also the ones you need to notify (i’m not sure anyone from slack reads this forum)

Hi ogra

Thanks a lot for the reply, however, all the snap apps are having this issues.

For example, I can’t not launch the Input Method in Slack snap app, Chrome snap app and so on.

It seems this is a general snap problem

while this might be true, note that snap (unlike i.e. flatpack which is a desktop-only-app-delivery mechanism) is actually a packaging format that also supports cli, kernel, bootloader, server, you-name-it packages. so is is fully in the hand of the packagers to include either input methods in the snap, like @chihchun said above already and like @marcustomlinson has done for libreoffice …

one could argue that the desktop helpers should perhaps ship them by default, but then, it isnt really a requirement to use the desktop helpers either, you can always use your own method to bring any desktop support into your snap.

A quick check on the slack snap shows there are XIM and ibus immodules but no fcitx immodule. This really need the slack snap to be fixed.

Hi orga,

Thank you for the reply.

It’s been a while (Nov, last year) that was asking for slack fcitx support in @chihchun thread. it seems like no one pay attention to it. :frowning:

I’m a bit confused. Based on your comment, is it fair to say having an input method framework support should be done in every snap package?

Thanks

Hey Anthony,

Nice to see you here! :slight_smile:

For chromium, slack and Electronic-Wechat, these snap apps, I’m having same issue that I can’t launch fcitx and inputting non-Chinese characters.

Do I need to ask fcitx support with each snap app?

Thanks a lot

Hey Ray!

Due to how snap is architected, each snap has to include the libraries that it needs, and input method is one of them.

Another quick check on electronic-wechat, there is no immodule for gtk3 but only gtk2:

$ find /snap/electronic-wechat/ -name im-fcitx.so
/snap/electronic-wechat/7/usr/lib/x86_64-linux-gnu/gtk-2.0/2.10.0/immodules/im-fcitx.so

Not sure if this is the reason why you can’t use fcitx or caused by other reasons, I don’t have time to look deeper.

Gnome apps such as gedit makes use of the gnome runtime snap and connect to it through content interface, like this:
https://gitlab.gnome.org/GNOME/gedit/commit/56ff93fe359cd7a272c70f7ad5d870a027487dc5
So gedit doesn’t include IM libraries and just rely on the gnome runtimes such as gnome-3-28-1804.

I think desktop app snap developers should be made more well aware of these pitfalls.

Thank you Anthony,

Now I’m clear about it. I’ll try to ping slack thread and other snap app if necessary.

Thank you so much for helping me understand this.