$ gnupg-desktop-2.4.3.0-x86_64.AppImage -c cat: /tmp/.mount_gnupg-laqw1E/GnuPG-VS-Desktop-VERSION: No such file or directory Welcome to GnuPG Desktop ! (type "exit" to leave) gpg> kleopatra kf.dbusaddons: Couldn't register name 'org.kde.gnupg-desktop-2.4.3.0-x86_64.AppImage' with DBUS - another process owns it already!
Description
Details
- Version
- gnupg-desktop-2.4.3.0-x86_64.AppImage
Status | Assigned | Task | ||
---|---|---|---|---|
Open | None | T6630 Platform independent starter | ||
Open | None | T6612 Kleopatra can't be started from the gpg shell of the AppImage |
Event Timeline
I cannot reproduce this. Neither with the official AppImage nor with my self-built AppImage. The error message suggests that some process is still registered with DBUS. Maybe a process left over from a previous run?
Also the AppImage I downloaded from gnupg.org prints "Welcome to GnuPG Foo 2.4.3!" and it doesn't look for a GnuPG-VS-Desktop-VERSION file. You seem to use an older AppImage.
Right, I had briefly uploaded a "GnuPG-Desktop" appimage but then realized that for the gnupg.org download site the "GnuPG-Foo" was actually the correct version. Werner and me discussed the future of that version and there will be some changes for future releases which I won't go in there. But functionally it is the same, only the VERSION file differs.
Strange that you cannot reproduce it. No it is not a leftover. If I close the shell and start the image directly this works. But there is probably something in my and evas shell startup thats already grabbing the dbus. But then at least from your shell you should not be able to start kleopatra and okular at the same time from the same shell, e.g. the same agent which was the original reason for this issue.
I have just started kleopatra in the shell. Moved it to the background (Ctrl+Z bg). Then started okular. Then opened certificate of signed PDF in kleopatra. Everything works. (Except "Show Signatures Panel" doesn't really work if the side panel is not visible, but that's a completely different issue.) I also tried first starting okular and then kleopatra in the same shell. This also worked.
I'm seeing
kf.config.core: Use of KConfigWatcher without DBus support. You will not receive updates
and socket stealing logs by gpg-agent.
And I saw
gpg-agent[20186]: command 'MARKTRUSTED' failed: Not trusted gpg-agent[20186]: command 'MARKTRUSTED' failed: Not trusted gpg-agent[20186]: command 'MARKTRUSTED' failed: Not trusted gpg-agent[20186]: command 'MARKTRUSTED' failed: Not trusted gpg-agent[20186]: command 'MARKTRUSTED' failed: Not trusted gpg-agent[20186]: command 'MARKTRUSTED' failed: Not trusted gpg-agent[20186]: command 'MARKTRUSTED' failed: Not trusted gpg-agent[20186]: command 'MARKTRUSTED' failed: Not trusted gpg-agent[20186]: command 'MARKTRUSTED' failed: Not trusted gpg-agent[20186]: command 'MARKTRUSTED' failed: Not trusted gpg-agent[20186]: command 'MARKTRUSTED' failed: Not trusted gpg-agent[20186]: command 'MARKTRUSTED' failed: Not trusted gpg-agent[20186]: command 'MARKTRUSTED' failed: Not trusted
wherever that comes from.
I used dbus-monitor to monitor the session bus. I'm seeing the following logged by dbus-monitor when starting kleopatra in the AppImage shell.
method call time=1690445994.197305 sender=:1.141 -> destination=org.freedesktop.DBus serial=1 path=/org/freedesktop/DBus; interface=org.freedesktop.DBus; member=Hello method return time=1690445994.197348 sender=org.freedesktop.DBus -> destination=:1.141 serial=1 reply_serial=1 string ":1.141" signal time=1690445994.197368 sender=org.freedesktop.DBus -> destination=(null destination) serial=93 path=/org/freedesktop/DBus; interface=org.freedesktop.DBus; member=NameOwnerChanged string ":1.141" string "" string ":1.141" signal time=1690445994.197394 sender=org.freedesktop.DBus -> destination=:1.141 serial=2 path=/org/freedesktop/DBus; interface=org.freedesktop.DBus; member=NameAcquired string ":1.141" method call time=1690445994.197919 sender=:1.141 -> destination=org.freedesktop.DBus serial=2 path=/org/freedesktop/DBus; interface=org.freedesktop.DBus; member=AddMatch string "type='signal',sender='org.freedesktop.DBus',path='/org/freedesktop/DBus',interface='org.freedesktop.DBus',member='NameAcquired'" method call time=1690445994.198591 sender=:1.141 -> destination=org.freedesktop.DBus serial=3 path=/org/freedesktop/DBus; interface=org.freedesktop.DBus; member=RequestName string "org.kde.kleopatra" uint32 0 signal time=1690445994.198656 sender=org.freedesktop.DBus -> destination=(null destination) serial=94 path=/org/freedesktop/DBus; interface=org.freedesktop.DBus; member=NameOwnerChanged string "org.kde.kleopatra" string "" string ":1.141" signal time=1690445994.198680 sender=org.freedesktop.DBus -> destination=:1.141 serial=3 path=/org/freedesktop/DBus; interface=org.freedesktop.DBus; member=NameAcquired string "org.kde.kleopatra" [...]
and when quitting Kleopatra I see
method call time=1690446001.636935 sender=:1.141 -> destination=org.freedesktop.DBus serial=21 path=/org/freedesktop/DBus; interface=org.freedesktop.DBus; member=ReleaseName string "org.kde.kleopatra" signal time=1690446001.636978 sender=org.freedesktop.DBus -> destination=:1.141 serial=10 path=/org/freedesktop/DBus; interface=org.freedesktop.DBus; member=NameLost string "org.kde.kleopatra" signal time=1690446001.636991 sender=org.freedesktop.DBus -> destination=(null destination) serial=97 path=/org/freedesktop/DBus; interface=org.freedesktop.DBus; member=NameOwnerChanged string "org.kde.kleopatra" string ":1.141" string ""
As you can see, Kleopatra registers as "org.kde.kleopatra". I have no idea where the name "org.kde.gnupg-desktop-2.4.3.0-x86_64.AppImage" should come from. If on your systems Okular and Kleopatra both try to register the name "org.kde.gnupg-desktop-2.4.3.0-x86_64.AppImage" this would explain the problem.
It's a shell issue. With bash Kleopatra starts from the shell. Andre will debug further.
While the DBus problem is interesting and I want to further investigate this, I think the real question or feature we need to have here is to attach multiple "UI Processes" to an AppImage environment. So that you can have an Okular, KMail and Kleopatra running in your VSD environment without going through the console.