Error when trying to launch ULauncher

Hello,

I installed ULauncher, but whenever I try to launch it, I get this error:

Traceback (most recent call last):
File “/usr/bin/ulauncher”, line 27, in <module>
from ulauncher.main import main
File “/usr/lib/python3.8/site-packages/ulauncher/main.py”, line 26, in <module>
from ulauncher.ui.windows.UlauncherWindow import UlauncherWindow
File “/usr/lib/python3.8/site-packages/ulauncher/ui/windows/UlauncherWindow.py”, line 34, in <module>
from ulauncher.utils.desktop.notification import show_notification
File “/usr/lib/python3.8/site-packages/ulauncher/utils/desktop/notification.py”, line 2, in <module>
gi.require_version(‘Notify’, ‘0.7’)
File “/usr/lib64/python3.8/site-packages/gi/init.py”, line 126, in require_version
raise ValueError(‘Namespace %s not available’ % namespace)
ValueError: Namespace Notify not available

I did get other errors before, but they all were resolved by installing missing dependencies. It looks like that might be the issue here too, but I can’t figure out what’s missing.

Hello and welcome to the openSUSE forums.

Because most people here can not read minds, I think you must provide more information.

E.g., I do not see ULauncher in the standard repositories. Which probably means you have installed it in someway from somewhere. Please explain.

You do not tell (or show) how you try to start it. When from the CLI, then please include the prompt-command line with your copy/paste f the output (which you show already I guess).

I also want to inform you about an important, but not easy to find feature on the forums.

Please in the future use CODE tags around copied/pasted computer text in a post. It is the # button in the tool bar of the post editor. When applicable copy/paste complete, that is including the prompt, the command, the output and the next prompt.

An example is here: Using CODE tags Around your paste.

I see, I wasn’t sure which tag to use because it’s technically not code, thanks.
I installed ulauncher from here: https://software.opensuse.org/package/ulauncher, I used the first community package for Tumbleweed.
And I’m launching it from the terminal, the command is just “ulauncher”, no parameters.

Hi
Is python38-pyinotify installed?

Yes:

'python38-pyinotify' is already installed.
No update candidate for 'python38-pyinotify-0.9.6-4.8.noarch'. The highest available version is already installed.
Resolving package dependencies...
Nothing to do.

You could try strace

# strace /usr/bin/ulauncher

The result might be quite large so better pipe it into a file. And then search the file for “error”, “not found” and the like.

If strace is not installed on your system:

zypper in strace

Regards

susejunky

Hi
Have a look here at the setup.cfg file and check the relevant python38 versions of the requires are installed;

https://github.com/Ulauncher/Ulauncher/blob/dev/setup.cfg

Doesn’t look like there’s anything unusual besides the error message I posted in my first post

I can’t seem to find some of the packages listed there, not even on https://software.opensuse.org. Is there a way to find out the package names for openSUSE? I know some packages have different names in different distros

Hi
Use zypper…


zypper se python38*websocket-client Levenshtein keybinder *webkit* python38*dbus python38*cairo python38*gobject python38*pyxdg python38*inotify

Some are libs, some are python. just need to make sure the 3.8 python ones are installed…

Well, I installed everything that command listed, except for the ones with another version besides 3.8, but there’s still the same error.

Loading repository data...
Reading installed packages...

S  | Name                             | Summary                                                                      | Type
---+----------------------------------+------------------------------------------------------------------------------+-----------
i+ | keybinder-3.0-devel              | Development files for keybinder-3.0                                          | package
i+ | keybinder-devel                  | Development Files for Keybinder                                              | package
i+ | keybinder-lua                    | Lua Files for Keybinder                                                      | package
i+ | libkeybinder-3_0-0               | Library Package for Keybinder                                                | package
i  | libkeybinder0                    | A library for registering global keyboard shortcuts                          | package
i+ | libproxy1-pacrunner-webkit       | Libproxy module to support WPAD/PAC parsing via the WebKit JavaScript Engine | package
i+ | libproxy1-pacrunner-webkit-32bit | Libproxy module to support WPAD/PAC parsing via the WebKit JavaScript Engine | package
i+ | libwebkit2gtk-4_0-37             | Library for rendering web content, GTK+ Port                                 | package
i+ | libwebkit2gtk-4_0-37-32bit       | Library for rendering web content, GTK+ Port                                 | package
i  | libwebkit2gtk-4_1-0              | Library for rendering web content, GTK+ Port                                 | package
i+ | libwebkit2gtk-4_1-0-32bit        | Library for rendering web content, GTK+ Port                                 | package
i+ | libwebkit2gtk-5_0-0              | Library for rendering web content, GTK+ Port                                 | package
   | python-Levenshtein               | Python extension computing string distances and similarities                 | srcpackage
   | python36-Levenshtein             | Python extension computing string distances and similarities                 | package
i+ | python38-Levenshtein             | Python extension computing string distances and similarities                 | package
i+ | python38-gobject                 | Python bindings for GObject                                                  | package
i+ | python38-gobject-cairo           | Python bindings for GObject/Cairo                                            | package
i+ | python38-matplotlib-cairo        | Cairo backend for python38-matplotlib                                        | package
i+ | python38-pycairo                 | Python Bindings for Cairo                                                    | package
i+ | python38-pydbus                  | Pythonic DBus library                                                        | package
i+ | python38-pyinotify               | Python module for watching filesystems changes                               | package
i+ | python38-pyxdg                   | Implementations of freedesktop.org standards in python                       | package
i+ | python38-slip-dbus               | Convenience functions for dbus services                                      | package
i+ | python38-websocket-client        | WebSocket client implementation                                              | package
   | python39-Levenshtein             | Python extension computing string distances and similarities                 | package
i+ | typelib-1_0-Keybinder-0_0        | Introspection bindins for the Keybinder library                              | package
i+ | typelib-1_0-Keybinder-3_0        | Introspection bindings for Keybinder                                         | package
i+ | webkit-jsc-4                     | JavaScript command line from WebKit                                          | package
i+ | webkit-jsc-4.1                   | JavaScript command line from WebKit                                          | package
i+ | webkit-jsc-5.0                   | JavaScript command line from WebKit                                          | package
i+ | webkit2gtk-4_0-injected-bundles  | Injected bundles for webkit2gtk3-soup2                                       | package
i  | webkit2gtk-4_1-injected-bundles  | Injected bundles for webkit2gtk3                                             | package
i  | webkit2gtk-5_0-injected-bundles  | Injected bundles for webkit2gtk4                                             | package
i+ | webkit2gtk3-devel                | Development files for webkit2gtk3                                            | package
i+ | webkit2gtk3-minibrowser          | MiniBrowser from WebKit                                                      | package
i+ | webkit2gtk3-soup2-devel          | Development files for webkit2gtk3-soup2                                      | package
i+ | webkit2gtk3-soup2-minibrowser    | MiniBrowser from WebKit                                                      | package
i+ | webkit2gtk4-devel                | Development files for webkit2gtk4                                            | package
i+ | webkit2gtk4-minibrowser          | MiniBrowser from WebKit                                                      | package

Which is not added to reply because it was posted it as quote.

Anyway, you need typelib-1_0-Notify-0_7 package. It complains that it cannot load gobject introspection repository definition for Notify.

Wow, that fixed it! Thank you so much!

You may consider reporting it to maintainer of this package. This obviously is missing dependency (which is listed e.g. in Debian control file upstream).

I guess the correct requirement here is “typelib(Notify) = 0.7”.