kando-menu / kando

🥧 The Cross-Platform Pie Menu.
https://kando.menu
Other
3.12k stars 89 forks source link

Kando does not work on VanillaOS #570

Open Blade04208 opened 3 months ago

Blade04208 commented 3 months ago

Short Summary

kando fails to start on vanillaos. image

Steps to Reproduce the Issue

Open Kando.

https://github.com/user-attachments/assets/02fcc1f9-cd88-4aef-b1f9-0b170a163425

Kando Version

v1.2.0

Installation Method

Via an installer downloaded from a release on GitHub

Desktop Environment

GNOME on Wayland

Environment Version

VanillaOS 2 Orchid x64

Additional Information

Kando was installed via a .deb file using Sideload (vanillaos .deb installer app.) VanillaOS uses a weird way of installing things, so i sort of expected this to happen. I will see if i can use kando via an arch subsystem (vanillaos feature) later.

Schneegans commented 3 months ago

Hi there! Thanks for the report. Can it be that for some reason Kando does not have access to the dbus when installed this way on VanillaOS? It somehow looks like it. You can also try running Kando from source, and see if it works that way. It's really easy: https://github.com/kando-menu/kando/blob/main/docs/installing.md#gear-building-kando-yourself

Blade04208 commented 3 months ago

running kando from source does not work. image

the issue with dbus is that it randomly and silently killed itself that session, but restarting and rerunning kando with a dbus recorder (bustle) gave this: 2024-08-10 01.16.13.pcap (you can open this with bustle)

Schneegans commented 3 months ago

Have you tried installing the missing libnss3?

Blade04208 commented 3 months ago

it is installed.... image

Schneegans commented 3 months ago

Well, I have no idea how to debug this from here. I am pretty sure that this is not really an issue of Kando but rather either some VanillaOS quirk or a misconfiguration of your system.

If the lib is installed but the electron executable does not find it, maybe something with your LD_LIBRARY_PATH is messed up? ldd ~/kando-source/kando/node_modules/electron/dist/electron may tell you which libs are found and which are missing.

Weird is that Kando installed via the debian package seems to have found it... There the issue was that Kando was not able to access the session bus.

Blade04208 commented 3 months ago

that lld command returns this, and i believe every library is there.

In a details because its big

linux-vdso.so.1 (0x00007f355c67e000) libffmpeg.so => /home/blade0/kando-source/kando/node_modules/electron/dist/libffmpeg.so (0x00007f3551600000) libdl.so.2 => /lib/x86_64-linux-gnu/libdl.so.2 (0x00007f355c66c000) libpthread.so.0 => /lib/x86_64-linux-gnu/libpthread.so.0 (0x00007f3551dfb000) libgobject-2.0.so.0 => /lib/x86_64-linux-gnu/libgobject-2.0.so.0 (0x00007f3551d99000) libglib-2.0.so.0 => /lib/x86_64-linux-gnu/libglib-2.0.so.0 (0x00007f35514b4000) libgio-2.0.so.0 => /lib/x86_64-linux-gnu/libgio-2.0.so.0 (0x00007f35512c4000) libnss3.so => /lib/x86_64-linux-gnu/libnss3.so (0x00007f3551165000) libnssutil3.so => /lib/x86_64-linux-gnu/libnssutil3.so (0x00007f3551d65000) libsmime3.so => /lib/x86_64-linux-gnu/libsmime3.so (0x00007f3551132000) libnspr4.so => /lib/x86_64-linux-gnu/libnspr4.so (0x00007f35510f0000) libdbus-1.so.3 => /lib/x86_64-linux-gnu/libdbus-1.so.3 (0x00007f3551099000) libatk-1.0.so.0 => /lib/x86_64-linux-gnu/libatk-1.0.so.0 (0x00007f355106f000) libatk-bridge-2.0.so.0 => /lib/x86_64-linux-gnu/libatk-bridge-2.0.so.0 (0x00007f3551032000) libcups.so.2 => /lib/x86_64-linux-gnu/libcups.so.2 (0x00007f3550f92000) libdrm.so.2 => /lib/x86_64-linux-gnu/libdrm.so.2 (0x00007f3550f7b000) libgtk-3.so.0 => /lib/x86_64-linux-gnu/libgtk-3.so.0 (0x00007f3550793000) libpango-1.0.so.0 => /lib/x86_64-linux-gnu/libpango-1.0.so.0 (0x00007f3550727000) libcairo.so.2 => /lib/x86_64-linux-gnu/libcairo.so.2 (0x00007f35505e2000) libX11.so.6 => /lib/x86_64-linux-gnu/libX11.so.6 (0x00007f355049e000) libXcomposite.so.1 => /lib/x86_64-linux-gnu/libXcomposite.so.1 (0x00007f3551d5c000) libXdamage.so.1 => /lib/x86_64-linux-gnu/libXdamage.so.1 (0x00007f3551d57000) libXext.so.6 => /lib/x86_64-linux-gnu/libXext.so.6 (0x00007f3550489000) libXfixes.so.3 => /lib/x86_64-linux-gnu/libXfixes.so.3 (0x00007f3551d4f000) libXrandr.so.2 => /lib/x86_64-linux-gnu/libXrandr.so.2 (0x00007f355047c000) libgbm.so.1 => /lib/x86_64-linux-gnu/libgbm.so.1 (0x00007f355046b000) libexpat.so.1 => /lib/x86_64-linux-gnu/libexpat.so.1 (0x00007f3550440000) libxcb.so.1 => /lib/x86_64-linux-gnu/libxcb.so.1 (0x00007f3550415000) libxkbcommon.so.0 => /lib/x86_64-linux-gnu/libxkbcommon.so.0 (0x00007f35503cd000) libasound.so.2 => /lib/x86_64-linux-gnu/libasound.so.2 (0x00007f35502bc000) libatspi.so.0 => /lib/x86_64-linux-gnu/libatspi.so.0 (0x00007f3550280000) libm.so.6 => /lib/x86_64-linux-gnu/libm.so.6 (0x00007f355019e000) libgcc_s.so.1 => /lib/x86_64-linux-gnu/libgcc_s.so.1 (0x00007f3550171000) libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007f354ff8c000) /lib64/ld-linux-x86-64.so.2 (0x00007f355c680000) libffi.so.8 => /lib/x86_64-linux-gnu/libffi.so.8 (0x00007f354ff7f000) libpcre2-8.so.0 => /lib/x86_64-linux-gnu/libpcre2-8.so.0 (0x00007f354fee2000) libgmodule-2.0.so.0 => /lib/x86_64-linux-gnu/libgmodule-2.0.so.0 (0x00007f354fedb000) libz.so.1 => /lib/x86_64-linux-gnu/libz.so.1 (0x00007f354febc000) libmount.so.1 => /lib/x86_64-linux-gnu/libmount.so.1 (0x00007f354fe47000) libselinux.so.1 => /lib/x86_64-linux-gnu/libselinux.so.1 (0x00007f354fe18000) libplc4.so => /lib/x86_64-linux-gnu/libplc4.so (0x00007f354fe11000) libplds4.so => /lib/x86_64-linux-gnu/libplds4.so (0x00007f354fe0a000) libsystemd.so.0 => /lib/x86_64-linux-gnu/libsystemd.so.0 (0x00007f354fd23000) libgssapi_krb5.so.2 => /lib/x86_64-linux-gnu/libgssapi_krb5.so.2 (0x00007f354fccf000) libavahi-common.so.3 => /lib/x86_64-linux-gnu/libavahi-common.so.3 (0x00007f354fcc1000) libavahi-client.so.3 => /lib/x86_64-linux-gnu/libavahi-client.so.3 (0x00007f354fcae000) libgnutls.so.30 => /lib/x86_64-linux-gnu/libgnutls.so.30 (0x00007f354fa8a000) libgdk-3.so.0 => /lib/x86_64-linux-gnu/libgdk-3.so.0 (0x00007f354f989000) libpangocairo-1.0.so.0 => /lib/x86_64-linux-gnu/libpangocairo-1.0.so.0 (0x00007f354f978000) libharfbuzz.so.0 => /lib/x86_64-linux-gnu/libharfbuzz.so.0 (0x00007f354f848000) libpangoft2-1.0.so.0 => /lib/x86_64-linux-gnu/libpangoft2-1.0.so.0 (0x00007f354f82f000) libfontconfig.so.1 => /lib/x86_64-linux-gnu/libfontconfig.so.1 (0x00007f354f7e0000) libfribidi.so.0 => /lib/x86_64-linux-gnu/libfribidi.so.0 (0x00007f354f7c2000) libcairo-gobject.so.2 => /lib/x86_64-linux-gnu/libcairo-gobject.so.2 (0x00007f354f7b7000) libgdk_pixbuf-2.0.so.0 => /lib/x86_64-linux-gnu/libgdk_pixbuf-2.0.so.0 (0x00007f354f789000) libepoxy.so.0 => /lib/x86_64-linux-gnu/libepoxy.so.0 (0x00007f354f659000) libXi.so.6 => /lib/x86_64-linux-gnu/libXi.so.6 (0x00007f354f645000) libcloudproviders.so.0 => /lib/x86_64-linux-gnu/libcloudproviders.so.0 (0x00007f354f62d000) libthai.so.0 => /lib/x86_64-linux-gnu/libthai.so.0 (0x00007f354f620000) libpng16.so.16 => /lib/x86_64-linux-gnu/libpng16.so.16 (0x00007f354f5ea000) libfreetype.so.6 => /lib/x86_64-linux-gnu/libfreetype.so.6 (0x00007f354f51d000) libXrender.so.1 => /lib/x86_64-linux-gnu/libXrender.so.1 (0x00007f354f510000) libxcb-render.so.0 => /lib/x86_64-linux-gnu/libxcb-render.so.0 (0x00007f354f502000) libxcb-shm.so.0 => /lib/x86_64-linux-gnu/libxcb-shm.so.0 (0x00007f354f4fb000) libpixman-1.so.0 => /lib/x86_64-linux-gnu/libpixman-1.so.0 (0x00007f354f44b000) libwayland-server.so.0 => /lib/x86_64-linux-gnu/libwayland-server.so.0 (0x00007f354f435000) libxcb-randr.so.0 => /lib/x86_64-linux-gnu/libxcb-randr.so.0 (0x00007f354f423000) libXau.so.6 => /lib/x86_64-linux-gnu/libXau.so.6 (0x00007f354f41e000) libXdmcp.so.6 => /lib/x86_64-linux-gnu/libXdmcp.so.6 (0x00007f354f414000) libblkid.so.1 => /lib/x86_64-linux-gnu/libblkid.so.1 (0x00007f354f3b5000) libcap.so.2 => /lib/x86_64-linux-gnu/libcap.so.2 (0x00007f354f3a9000) libkrb5.so.3 => /lib/x86_64-linux-gnu/libkrb5.so.3 (0x00007f354f2d3000) libk5crypto.so.3 => /lib/x86_64-linux-gnu/libk5crypto.so.3 (0x00007f354f2a6000) libcom_err.so.2 => /lib/x86_64-linux-gnu/libcom_err.so.2 (0x00007f354f29e000) libkrb5support.so.0 => /lib/x86_64-linux-gnu/libkrb5support.so.0 (0x00007f354f291000) libp11-kit.so.0 => /lib/x86_64-linux-gnu/libp11-kit.so.0 (0x00007f354f0f2000) libidn2.so.0 => /lib/x86_64-linux-gnu/libidn2.so.0 (0x00007f354f0bf000) libunistring.so.5 => /lib/x86_64-linux-gnu/libunistring.so.5 (0x00007f354ef0a000) libtasn1.so.6 => /lib/x86_64-linux-gnu/libtasn1.so.6 (0x00007f354eef2000) libnettle.so.8 => /lib/x86_64-linux-gnu/libnettle.so.8 (0x00007f354ee9e000) libhogweed.so.6 => /lib/x86_64-linux-gnu/libhogweed.so.6 (0x00007f354ee54000) libgmp.so.10 => /lib/x86_64-linux-gnu/libgmp.so.10 (0x00007f354edcc000) libwayland-client.so.0 => /lib/x86_64-linux-gnu/libwayland-client.so.0 (0x00007f354edba000) libwayland-cursor.so.0 => /lib/x86_64-linux-gnu/libwayland-cursor.so.0 (0x00007f354edb0000) libwayland-egl.so.1 => /lib/x86_64-linux-gnu/libwayland-egl.so.1 (0x00007f354eda9000) libXcursor.so.1 => /lib/x86_64-linux-gnu/libXcursor.so.1 (0x00007f354ed9c000) libXinerama.so.1 => /lib/x86_64-linux-gnu/libXinerama.so.1 (0x00007f354ed97000) libgraphite2.so.3 => /lib/x86_64-linux-gnu/libgraphite2.so.3 (0x00007f354ed6d000) libjpeg.so.62 => /lib/x86_64-linux-gnu/libjpeg.so.62 (0x00007f354ecd9000) libdatrie.so.1 => /lib/x86_64-linux-gnu/libdatrie.so.1 (0x00007f354eccd000) libbz2.so.1.0 => /lib/x86_64-linux-gnu/libbz2.so.1.0 (0x00007f354ecba000) libbrotlidec.so.1 => /lib/x86_64-linux-gnu/libbrotlidec.so.1 (0x00007f354ecac000) libbsd.so.0 => /lib/x86_64-linux-gnu/libbsd.so.0 (0x00007f354ec97000) libkeyutils.so.1 => /lib/x86_64-linux-gnu/libkeyutils.so.1 (0x00007f354ec90000) libresolv.so.2 => /lib/x86_64-linux-gnu/libresolv.so.2 (0x00007f354ec7d000) libbrotlicommon.so.1 => /lib/x86_64-linux-gnu/libbrotlicommon.so.1 (0x00007f354ec5a000) libmd.so.0 => /lib/x86_64-linux-gnu/libmd.so.0 (0x00007f354ec4b000)

installing kando in an arch container and running it via cli gives this:

image

vanillaos is quirky, and prefers using flatpaks for stuff, your best option to support vanillaos (and most distros, really) would be to use/make a flatpak on flathub.

Schneegans commented 3 months ago

I am not sure if running gui apps in the container is a good idea. For flatpak support we have #357. But I currently do not have the time to look into this. Would be cool if somebody would start working on that!

Schneegans commented 3 months ago

Also, I do not understand how it can be possible that ldd finds a library but if started, the executable does not find it. How's that even possible?

Blade04208 commented 3 months ago

I am not sure if running gui apps in the container is a good idea.

It's either that or I completely use flatpaks. I decided to completely use flatpaks. I will check out that flatpak open issue soon.