Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Unable to establish a IBus connection #3019

Open
subins2000 opened this issue Jul 20, 2019 · 9 comments

Comments

@subins2000
Copy link

commented Jul 20, 2019

Linux distribution and version

Linux Mint 19 Tara

Flatpak version

Flatpak 1.0.8

Description of the problem

I'm trying to package this IBus engine. Here's the packaging repo. I gave enough permissions for the engine to connect to parent ibus-daemon but it fails :

GLib-GIO _g_io_module_get_default: Found default implementation local (GLocalVfs) for ?gio-vfs?
IBUS ibus_factory_new: assertion 'G_IS_DBUS_CONNECTION (connection)' failed
GLib-GObject g_object_ref_sink: assertion 'G_IS_OBJECT (object)' failed
IBUS ibus_factory_add_engine: assertion 'IBUS_IS_FACTORY (factory)' failed
IBUS ibus_bus_call_sync: assertion 'ibus_bus_is_connected (bus)' failed

To test if it's a connection problem, I ran the default ibus-tmpl engine, but that also fails establishing a connection :

Traceback (most recent call last):
  File "main.py", line 121, in <module>
    main()
  File "main.py", line 118, in main
    launch_engine(exec_by_ibus)
  File "main.py", line 78, in launch_engine
    IMApp(exec_by_ibus).run()
  File "main.py", line 59, in __init__
    self.__factory = IBus.Factory.new(self.__bus.get_connection())
TypeError: Argument 0 does not allow None as a value

So it seems that it is failing in a connection to ibus. I read #675, perhaps flatpak is limiting the access of an engine ?

Does flatpak's implementation of ibus portal supports packaging an engine ?
Or am I doing it wrong ? Here are the permissions :

"finish-args": [
        "--share=ipc",
        "--own-name=org.freedesktop.IBus.EnchantPython",
        "--talk-name=org.freedesktop.DBus",
        "--talk-name=org.freedesktop.IBus",
        "--talk-name=org.freedesktop.portal.IBus",
        "--filesystem=xdg-run/dconf",
        "--filesystem=~/.config/dconf:ro",
        "--talk-name=ca.desrt.dconf",
        "--env=DCONF_USER_CONFIG_DIR=.config/dconf"
],
@AnwarShah

This comment has been minimized.

Copy link

commented Aug 6, 2019

I have a similar problem, though I haven't started packaging yet

@subins2000

This comment has been minimized.

Copy link
Author

commented Aug 11, 2019

@AnwarShah what problem do you face ? Is the debug/error message similar to this ?

@AnwarShah

This comment has been minimized.

Copy link

commented Aug 13, 2019

I haven't gone to packaging. I am assessing whether it is possible to use flatpak for providing ibus engine to be used by system ibus.

@mominul

This comment has been minimized.

Copy link

commented Aug 15, 2019

I am maintaining an iBus engine, so I am also interested in this issue.

@subins2000

This comment has been minimized.

Copy link
Author

commented Aug 15, 2019

@mominul Nice to see there's a Bangla ibus engine :)

Can you try packaging yours ? Perhaps another set of eyes will help in making it work. I don't know C much and haven't got into the engine's code. I'm just trying to package it.

@mominul

This comment has been minimized.

Copy link

commented Aug 15, 2019

@subins2000 Thanks for your appreciation!

But I want to know about is it possible to pack IMEs with Flatpak in the first place as IME(ibus engines) might require special permissions. I don't have enough knowledge of dbus or Flatpak to know if this is possible. It'd be great if a person familiar with Flatpak would help us.

cc @fujiwarat @matthiasclasen

@fujiwarat

This comment has been minimized.

Copy link

commented Aug 21, 2019

@subins2000

This comment has been minimized.

Copy link
Author

commented Aug 21, 2019

@fujiwarat This should included in the flatpak package ?

How do I know if I have it or not ? Is this a host thing or a package thing ?

@fujiwarat

This comment has been minimized.

Copy link

commented Aug 22, 2019

ibus-portal is running in the host side. and sandbox also should include GTK IM module for IBus.
I mean old IBus version does not implement ibus-portal.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
4 participants
You can’t perform that action at this time.