go-appimage icon indicating copy to clipboard operation
go-appimage copied to clipboard

Cannot see volumes come and go on Kubuntu 20.04

Open probonopd opened this issue 5 years ago • 20 comments

image

probonopd avatar Aug 01 '20 14:08 probonopd

org.kde.Solid.Device messages are there, but apparently the way we determine whether we can see volumes come and go does not work on Kubuntu 20.04.

me@host:~$ dbus-monitor 2>&1 | grep -i setupDone
   string "type='signal',path='/org/kde/solid/Device__2Forg_2Ffreedesktop_2FUDisks2_2Fblock_5Fdevices_2Fsdb2',interface='org.kde.Solid.Device',member='setupDone'"
   string "type='signal',path='/org/kde/solid/Device__2Forg_2Ffreedesktop_2FUDisks2_2Fblock_5Fdevices_2Fsdb2',interface='org.kde.Solid.Device',member='setupDone'"
   string "type='signal',path='/org/kde/solid/Device__2Forg_2Ffreedesktop_2FUDisks2_2Fblock_5Fdevices_2Fsdb1',interface='org.kde.Solid.Device',member='setupDone'"
   string "type='signal',path='/org/kde/solid/Device__2Forg_2Ffreedesktop_2FUDisks2_2Fblock_5Fdevices_2Fsdb1',interface='org.kde.Solid.Device',member='setupDone'"
   string "type='signal',path='/org/kde/solid/Device__2Forg_2Ffreedesktop_2FUDisks2_2Fblock_5Fdevices_2Fsdb2',interface='org.kde.Solid.Device',member='setupDone'"
   string "type='signal',path='/org/kde/solid/Device__2Forg_2Ffreedesktop_2FUDisks2_2Fblock_5Fdevices_2Fsdb2',interface='org.kde.Solid.Device',member='setupDone'"
   string "type='signal',path='/org/kde/solid/Device__2Forg_2Ffreedesktop_2FUDisks2_2Fblock_5Fdevices_2Fsdb1',interface='org.kde.Solid.Device',member='setupDone'"
   string "type='signal',path='/org/kde/solid/Device__2Forg_2Ffreedesktop_2FUDisks2_2Fblock_5Fdevices_2Fsdb1',interface='org.kde.Solid.Device',member='setupDone'"
signal time=1596290595.248776 sender=:1.39 -> destination=(null destination) serial=509 path=/org/kde/solid/Device__2Forg_2Ffreedesktop_2FUDisks2_2Fblock_5Fdevices_2Fsdb1; interface=org.kde.Solid.Device; member=setupDone

probonopd avatar Aug 01 '20 14:08 probonopd

How to do this correctly?

https://github.com/probonopd/go-appimage/blob/a97af9b0ef17c3e22f44b9161243286e44bdaa9e/src/appimaged/udisks.go#L115-L122

probonopd avatar Aug 01 '20 14:08 probonopd

Same warning on fedora kde 36.

soredake avatar May 24 '22 08:05 soredake

I recently started getting the same warning on Debian with KDE. There are two problems which have been responsible:

  1. KDE's Power Devil (apt install powerdevil) was not installed and did not provide org.kde.Solid.PowerManagement.
  2. appimaged starts early and before powerdevil is up (race condition). I would suggest that appimaged polls or listens for the DBus services (if that is possible) to come up, at least up to a certain amount of time.

The warning is somewhat annoying and I am not sure if it does have any negative consequences.

luzat avatar Jun 16 '22 21:06 luzat

Makes me wonder...

  • Can we put something in the systemd file so that appimaged gets started after org.kde.Solid.PowerManagement?
  • How is one supposed to know that one needs to install extra software like "Power Devil" to get essential system services like org.kde.Solid.PowerManagement...?

probonopd avatar Jun 20 '22 18:06 probonopd

@probonopd

  1. I did try adding After=/Wants=plasma-powerdevil.service without success. Manually first starting powerdevil and then appimaged works, though. It might take some more time for org.kde.Solid.PowerManagement becomes available on DBUS. I don't have experience with DBUS, but isn't there some way to get notified about new services becoming available or poll for that and only initialize that part of appimaged once this has happened?

  2. I would ignore the issue of people not installing powerdevil, because most standard installs would come with a more complete set of services. On Debian, most people would probably install a larger meta-package or with recommended packages installed.

  3. I still do not know why appimaged needs that and what feature doesn't work if it's not available, but if a large part of the functionality is working just fine, it'd be nice to at least have an option to disable that warning which currently pops up after every login here (which is a bit weird, because a few weeks ago this worked fine on the same system; currently can't look much more into that, unfortunately).

luzat avatar Jun 20 '22 20:06 luzat

Thanks @luzat.

I still do not know why appimaged needs that and what feature doesn't work

The functionality is needed to see volumes come and go, so that when you plug in a disk or USB stick containing applications they can be integrated into the system, and can be unintegrated again when the disk is unmounted.

I don't have experience with DBUS, but isn't there some way to get notified about new services becoming available or poll for that and only initialize that part of appimaged once this has happened?

We don't want a half-working appimaged. If it can't work properly then it should quit itself and tell the user that it can't work on that kind of system.

probonopd avatar Jun 20 '22 22:06 probonopd

Since I don't particularly want/need appimages on new volumes to be integrated, and would disable that feature if possible, I feel like a way to turn off this notification at the very least would be quite nice. Currently I get a notification for a feature I don't want and that doesn't work on every login, which isn't optimal.

lukebemish avatar Nov 20 '22 19:11 lukebemish

This is a reminder that go-appimage was not developed for and has never been tested on the kind of system you are running it on. There are too many Linux distributions, and the are all slightly different and ever-changing. This is why I am using FreeBSD nowadays.

probonopd avatar Nov 20 '22 20:11 probonopd

I got around appimaged starting before powerdevil by just adding a delay to the appimaged.service

ExecStartPre=/bin/sleep 10

Also tried adding powerdevil to the After= with no success just like above.

parkerlreed avatar Nov 28 '22 21:11 parkerlreed

What is powerdevil?

probonopd avatar Nov 28 '22 21:11 probonopd

It's the service mentioned above that provides org.kde.Solid.PowerManagement

parkerlreed avatar Nov 28 '22 21:11 parkerlreed

Looked into this a little bit and it shouldn't be too hard to detect if powerdevil is installed and if so wait for it to get started or just sleep for a bit. I don't use KDE so I'll have to set up a VM to test it properly.

CalebQ42 avatar Nov 28 '22 23:11 CalebQ42

Hello, Any news on this ? Thanks

KaKi87 avatar Apr 11 '24 03:04 KaKi87

Hello, Any news on this ? Thanks

Everything should be working since #247, but if you're still having issues I could look into it.

CalebQ42 avatar Apr 11 '24 04:04 CalebQ42

Well, I'm receiving this notification at every boot and don't know what to do about it. Thanks PS : On KDE neon 6.

KaKi87 avatar Apr 11 '24 11:04 KaKi87

Well, I'm receiving this notification at every boot and don't know what to do about it. Thanks PS : On KDE neon 6.

What distro? Are you also on Kubuntu or something else?

CalebQ42 avatar Apr 11 '24 11:04 CalebQ42

Sorry, I edited my message right after submitting it to add this info : KDE neon 6.

KaKi87 avatar Apr 11 '24 11:04 KaKi87

Possibly KDE 6 changed something regarding org.kde.Solid.Device?

probonopd avatar Apr 12 '24 17:04 probonopd