Unable to use Fuzzel launcher via Distrobox

I'm trying to install and use the Fuzzel launcher. I am installing it in an Arch container. It installs correctly (via pacman -S fuzzel). I can export it. The app runs from the host. When I try to use it to actually launch an app though, the launcher disappears but the app never launches. I'm wondering if anyone has a workaround or maybe just an understanding why it fails. I tried filing an issue first with fuzzel, and they suggested I try here. Check there for more details.
20 Replies
termdisc
termdisc•3mo ago
sometimes the exported distrobox shortcut uses the wrong target app. can you upload the contents of ~/.local/share/applications/<fuzzel shortcut>? I'm trying to install this to an arch box, but it isn't working for me to check this for you
📦[outphase@temparch ~]$ fuzzel
err: wayland.c:2374: compositor is missing support for the Wayland layer surface protocol
err: fdm.c:132: no such FD: 6
📦[outphase@temparch ~]$ distrobox-export -a fuzzel
Error: cannot find any desktop files.
Error: trying to export a non-installed application.
📦[outphase@temparch ~]$ fuzzel
err: wayland.c:2374: compositor is missing support for the Wayland layer surface protocol
err: fdm.c:132: no such FD: 6
📦[outphase@temparch ~]$ distrobox-export -a fuzzel
Error: cannot find any desktop files.
Error: trying to export a non-installed application.
after installing via sudo pacman -S fuzzel although my issue may be a gnome-specific thing
RadDevon
RadDevonOP•3mo ago
I had to export a binary even though the command starts a GUI, so maybe that's the issue with the export. Not sure why you can't run it from the container though. Oh, maybe you're on X11? I think Fuzzel may only work with Wayland.
termdisc
termdisc•3mo ago
it's a gnome-specific thing. gnome doesn't support the wayland layer surface protocol
RadDevon
RadDevonOP•3mo ago
Contents of the shortcut:
#!/bin/sh
# distrobox_binary
# name: arch
if [ -z "${CONTAINER_ID}" ]; then
exec "/usr/bin/distrobox-enter" -n arch -- '/usr/bin/fuzzel' "$@"
elif [ -n "${CONTAINER_ID}" ] && [ "${CONTAINER_ID}" != "arch" ]; then
exec distrobox-host-exec '/home/raddevon/.local/bin/fuzzel' "$@"
else
exec '/usr/bin/fuzzel' "$@"
fi
#!/bin/sh
# distrobox_binary
# name: arch
if [ -z "${CONTAINER_ID}" ]; then
exec "/usr/bin/distrobox-enter" -n arch -- '/usr/bin/fuzzel' "$@"
elif [ -n "${CONTAINER_ID}" ] && [ "${CONTAINER_ID}" != "arch" ]; then
exec distrobox-host-exec '/home/raddevon/.local/bin/fuzzel' "$@"
else
exec '/usr/bin/fuzzel' "$@"
fi
termdisc
termdisc•3mo ago
can you give an example of the way you're trying to invoke it? I got it loaded up in a VM running bazzite kde now also have it exported out. I just need an idea of what you're trying to do and how
RadDevon
RadDevonOP•3mo ago
Sure. I'm invoking with the bare command (fuzzel) which should invoke as an app launcher, listing all the .desktop files. That does work. I see the GUI, but no matter which app I select (arrow to select and enter), the GUI goes away but the app never launches.
termdisc
termdisc•3mo ago
I see. it all depends on how fuzzel finds its app targets. if it's searching ~/.local/share/applications for example, it won't work because it's trying to access it from the container side because anything in that folder is installed to the host
RadDevon
RadDevonOP•3mo ago
It lists the .desktop files, so I'm assuming it uses the paths in those.
termdisc
termdisc•3mo ago
that would be an issue because those desktop files are pointing to apps that are not installed within the container but the container wouldn't be able to interpret them otherwise so if a .desktop is pointing to /usr/bin/myCoolApp, fuzzel inside the container will try to run /usr/bin/myCoolApp within the container, which wouldn't exist it wouldn't be able to launch an app that is installed outside of the container
RadDevon
RadDevonOP•3mo ago
Makes sense. And the export doesn't really do anything to help with that then. So, if it's passing that path to xdg-open, it would pass it to the binary on the container which would then fail to open it.
termdisc
termdisc•3mo ago
that would be my guess yes
RadDevon
RadDevonOP•3mo ago
OK, cool. Thank you for taking a look at it!
termdisc
termdisc•3mo ago
this may be a good candidate for layering in the package with rpm-ostree, even if it is out of date
RadDevon
RadDevonOP•3mo ago
I don't think there's an RPM for it yet sadly, but I'll take another look. I also wanted to install Espanso, and had the same problem there: no RPM for the Wayland version.
termdisc
termdisc•3mo ago
or maybe nix unstable, but I don't know if using nix would recreate the same problem
RadDevon
RadDevonOP•3mo ago
Ah, OK. Is Nix in Bazzite out of the box, or do I install via Homebrew?
termdisc
termdisc•3mo ago
$ rpm-ostree search fuzzel

===== Name Matched =====
fuzzel : Application launcher for wlroots based Wayland compositors
$ rpm-ostree search fuzzel

===== Name Matched =====
fuzzel : Application launcher for wlroots based Wayland compositors
RadDevon
RadDevonOP•3mo ago
I thought I had looked, but I guess not. Thanks again!
termdisc
termdisc•3mo ago
I am not sure, I don't use Nix actually haha
RadDevon
RadDevonOP•3mo ago
I can poke around and see. May not need to though since I can just layer.
Want results from more Discord servers?
Add your server