QEFIEntryManager icon indicating copy to clipboard operation
QEFIEntryManager copied to clipboard

[Bug] `pkexec`-elevated `.AppImage`s fail to invoke.

Open RokeJulianLockhart opened this issue 5 months ago • 10 comments

Errata

Ignoring TheAssassin/AppImageLauncher/issues/711, x86_64-Qt6_3a746abe447b3c79c5784a7d5622b2ab.AppImage fails to locate QEFIEntryManager via env (due to pkexec):

+ RokeJulianLockhart@Beedell:~$ /home/RokeJulianLockhart/Applications/EFI_Entry_Manager-x86_64-Qt6_3a746abe447b3c79c5784a7d5622b2ab.AppImage
- /usr/bin/AppImageLauncher: /lib64/libcurl.so.4: no version information available (required by /usr/bin/../lib/x86_64-linux-gnu/appimagelauncher/libappimageupdate.so)
+ env: ‘QEFIEntryManager’: No such file or directory

This persists with AppImageLauncher uninstalled, so it's irrelevant; I solely leave it because the original issue contained that error message.

My Environment

  1. My OS

    Per /etc/os-release:

    NAME="Fedora Linux"
    VERSION_ID=42
    VARIANT="KDE Plasma Desktop Edition"
    
  2. My OS

    Per kinfo:

    KDE Plasma Version: 6.4.3
    KDE Frameworks Version: 6.16.0
    Qt Version: 6.9.1
    Kernel Version: 6.15.7-200.fc42.x86_64 (64-bit)
    Graphics Platform: Wayland
    

RokeJulianLockhart avatar Jul 29 '25 19:07 RokeJulianLockhart

RokeJulianLockhart@Beedell:~$ /home/RokeJulianLockhart/Applications/EFI_Entry_Manager-x86_64-Qt6_3a746abe447b3c79c5784a7d5622b2ab.AppImage /usr/bin/AppImageLauncher: /lib64/libcurl.so.4: no version information available (required by /usr/bin/../lib/x86_64-linux-gnu/appimagelauncher/libappimageupdate.so) env: ‘QEFIEntryManager’: No such file or directory

Environment

Per kinfo:

Operating System: Fedora Linux 42 KDE Plasma Version: 6.4.3 KDE Frameworks Version: 6.16.0 Qt Version: 6.9.1 Kernel Version: 6.15.7-200.fc42.x86_64 (64-bit) Graphics Platform: Wayland Processors: 12 × AMD Ryzen 5 7600X 6-Core Processor Memory: 32 GiB of RAM (30.4 GiB usable) Graphics Processor 1: AMD Radeon RX 5700 Graphics Processor 2: AMD Radeon Graphics Manufacturer: ASRock Product Name: X670E Taichi

It looks like a missing/wrong dep of the AppImage. Could you also check the libcurl version adn location that you have?

Inokinoki avatar Oct 03 '25 15:10 Inokinoki

Could you also check the libcurl version

@Inokinoki, I've reproduced this with v0.4.1/QEFI.Entry.Manager.x86_64.AppImage.Qt6.zip, without integrating it with AppImageLauncher this time, to confirm this remains applicable:

RokeJulianLockhart@Beedell:~$ /home/RokeJulianLockhart/Downloads/EFI_Entry_Manager-x86_64-Qt6.AppImage
/usr/bin/AppImageLauncher: /lib64/libcurl.so.4: no version information available (required by /usr/bin/../lib/x86_64-linux-gnu/appimagelauncher/libappimageupdate.so)
env: ‘QEFIEntryManager’: No such file or directory

Therefore, my currently-installed versions of libcurl are:

  1. Name        : libcurl
    Version     : 8.11.1
    Release     : 6.fc42
    Architecture: x86_64
    Install Date: Sun 21 Sep 2025 00:18:05 BST
    Size        : 854078
    Signature   : RSA/SHA256, Thu 18 Sep 2025 13:50:31 BST, Key ID c8ac4916105ef944
    Source RPM  : curl-8.11.1-6.fc42.src.rpm
    Build Date  : Thu 18 Sep 2025 12:28:49 BST
    Build Host  : buildhw-x86-10.rdu3.fedoraproject.org
    Packager    : Fedora Project
    Vendor      : Fedora Project
    URL         : https://curl.se/
    Bug URL     : https://bugz.fedoraproject.org/curl
    
  2. Name        : libcurl
    Version     : 8.11.1
    Release     : 6.fc42
    Architecture: i686
    Install Date: Sun 21 Sep 2025 00:18:11 BST
    Size        : 886584
    Signature   : RSA/SHA256, Thu 18 Sep 2025 13:50:26 BST, Key ID c8ac4916105ef944
    Source RPM  : curl-8.11.1-6.fc42.src.rpm
    Build Date  : Thu 18 Sep 2025 12:29:09 BST
    Build Host  : buildvm-x86-05.rdu3.fedoraproject.org
    Packager    : Fedora Project
    Vendor      : Fedora Project
    URL         : https://curl.se/
    Bug URL     : https://bugz.fedoraproject.org/curl
    

This kind of dependency management is why I don't understand the allure of AppImage; unlike Flatpak, it doesn't actually abstract much, yet doesn't integrate as a native package would.

adn location that you have?

What does this mean?

RokeJulianLockhart avatar Oct 03 '25 15:10 RokeJulianLockhart

Could you also check the libcurl version

@Inokinoki, I've reproduced this with v0.4.1/QEFI.Entry.Manager.x86_64.AppImage.Qt6.zip, without integrating it with AppImageLauncher this time, to confirm this remains applicable:

RokeJulianLockhart@Beedell:~$ /home/RokeJulianLockhart/Downloads/EFI_Entry_Manager-x86_64-Qt6.AppImage /usr/bin/AppImageLauncher: /lib64/libcurl.so.4: no version information available (required by /usr/bin/../lib/x86_64-linux-gnu/appimagelauncher/libappimageupdate.so) env: ‘QEFIEntryManager’: No such file or directory

Therefore, my currently-installed versions of libcurl are:

  1. Name : libcurl Version : 8.11.1 Release : 6.fc42 Architecture: x86_64 Install Date: Sun 21 Sep 2025 00:18:05 BST Size : 854078 Signature : RSA/SHA256, Thu 18 Sep 2025 13:50:31 BST, Key ID c8ac4916105ef944 Source RPM : curl-8.11.1-6.fc42.src.rpm Build Date : Thu 18 Sep 2025 12:28:49 BST Build Host : buildhw-x86-10.rdu3.fedoraproject.org Packager : Fedora Project Vendor : Fedora Project URL : https://curl.se/ Bug URL : https://bugz.fedoraproject.org/curl

  2. Name : libcurl Version : 8.11.1 Release : 6.fc42 Architecture: i686 Install Date: Sun 21 Sep 2025 00:18:11 BST Size : 886584 Signature : RSA/SHA256, Thu 18 Sep 2025 13:50:26 BST, Key ID c8ac4916105ef944 Source RPM : curl-8.11.1-6.fc42.src.rpm Build Date : Thu 18 Sep 2025 12:29:09 BST Build Host : buildvm-x86-05.rdu3.fedoraproject.org Packager : Fedora Project Vendor : Fedora Project URL : https://curl.se/ Bug URL : https://bugz.fedoraproject.org/curl

This kind of dependency management is why I don't understand the allure of AppImage; unlike Flatpak, it doesn't actually abstract much, yet doesn't integrate as a native package would.

adn location that you have?

What does this mean?

Thanks! I just googled that it seems to be just a warning.

Could you try the previous versions to see whether it's a general issue or just this version?

Inokinoki avatar Oct 03 '25 16:10 Inokinoki

@Inokinoki, it reproduces with v0.4.0/QEFI.Entry.Manager.x86_64.AppImage.Qt6.zip:

RokeJulianLockhart@Beedell:~$ /home/RokeJulianLockhart/Downloads/EFI_Entry_Manager-x86_64-Qt6.AppImage
/usr/bin/AppImageLauncher: /lib64/libcurl.so.4: no version information available (required by /usr/bin/../lib/x86_64-linux-gnu/appimagelauncher/libappimageupdate.so)
env: ‘QEFIEntryManager’: No such file or directory

RokeJulianLockhart avatar Oct 03 '25 16:10 RokeJulianLockhart

@Inokinoki, it reproduces with v0.4.0/QEFI.Entry.Manager.x86_64.AppImage.Qt6.zip:

RokeJulianLockhart@Beedell:~$ /home/RokeJulianLockhart/Downloads/EFI_Entry_Manager-x86_64-Qt6.AppImage /usr/bin/AppImageLauncher: /lib64/libcurl.so.4: no version information available (required by /usr/bin/../lib/x86_64-linux-gnu/appimagelauncher/libappimageupdate.so) env: ‘QEFIEntryManager’: No such file or directory

Thanks! Let me check

Inokinoki avatar Oct 03 '25 16:10 Inokinoki

@Inokinoki, it reproduces with v0.4.0/QEFI.Entry.Manager.x86_64.AppImage.Qt6.zip:

RokeJulianLockhart@Beedell:~$ /home/RokeJulianLockhart/Downloads/EFI_Entry_Manager-x86_64-Qt6.AppImage /usr/bin/AppImageLauncher: /lib64/libcurl.so.4: no version information available (required by /usr/bin/../lib/x86_64-linux-gnu/appimagelauncher/libappimageupdate.so) env: ‘QEFIEntryManager’: No such file or directory

Thanks! Let me check

Hey @RokeJulianLockhart , I got a few clues - it could be the pkexec command which loses the ENV in the App Image.

As for now, this version (prior to pkexec) could be used. It only misses some refactoring works and i18n. But please remember to run the App Image executable with sudo permission.

I will be working on fixing this. Thanks for the report and investigation!

Inokinoki avatar Oct 19 '25 18:10 Inokinoki

It could be the pkexec command, which loses the environment in the AppImage.

@Inokinoki, is that due to a bug in PolicyKit? I ask because, per discuss.kde.org/t/31420/13, I've recently moved to using pkexec (although wasn't for this issue), so would like to ensure that it can't cause similar problems elsewhere, and/or file an upstream report, if you haven't.

As for now, this version (prior to pkexec) could be used.

That indeed works. Thanks!

Image

RokeJulianLockhart avatar Oct 20 '25 21:10 RokeJulianLockhart

It could be the pkexec command, which loses the environment in the AppImage.

@Inokinoki, is that due to a bug in PolicyKit? I ask because, per discuss.kde.org/t/31420/13, I've recently moved to using pkexec (although wasn't for this issue), so would like to ensure that it can't cause similar problems elsewhere, and/or file an upstream report, if you haven't.

That indeed works. Thanks!

Image

Not sure, but I modified the code to avoid this, and added the CI to generate AppImage that is not using pkexec as well. In the next release, there should be AppImages as before - it needs sudo ./*.AppImage.

Anyway, I'm also following the related issues in either app image (fuse) or pkexec (PolicyKit) ;)

Inokinoki avatar Nov 01 '25 23:11 Inokinoki

Attached 2 experimental AppImages in the last release: https://github.com/Inokinoki/QEFIEntryManager/releases/tag/v0.4.1

Inokinoki avatar Nov 02 '25 22:11 Inokinoki

@Inokinoki, apologies for the wait. Needed to diagnose AppImage/AppImageKit/issues/1304#issuecomment-3482683017 to ensure I didn't report errors that aren't your fault to you.

Thereafter, all appear to invoke as expected; the pkexec version fails, whereas the version without operates when invoked the superuser:

Image

However, the error that it returns when not invoked as it could be improved:

Image

To empirically confirm:

RokeJulianLockhart@Beedell:~$ /home/RokeJulianLockhart/QEFI.Entry.Manager.x86_64.AppImage.Qt6.AppImage
env: ‘QEFIEntryManager’: No such file or directory
RokeJulianLockhart@Beedell:~$ sudo /home/RokeJulianLockhart/QEFI.Entry.Manager.x86_64.AppImage.Qt6.AppImage
env: ‘QEFIEntryManager’: No such file or directory
RokeJulianLockhart@Beedell:~$ /home/RokeJulianLockhart/QEFI.Entry.Manager.x86_64.AppImage.Qt6.pkexec-launcher-OFF.AppImage
qt.qpa.plugin: Could not find the Qt platform plugin "wayland" in ""
RokeJulianLockhart@Beedell:~$ sudo /home/RokeJulianLockhart/QEFI.Entry.Manager.x86_64.AppImage.Qt6.pkexec-launcher-OFF.AppImage
[sudo] password for RokeJulianLockhart: 
BootCurrent:  2
Timeout:  1  seconds
BootOrder: 
2 , 
0 , 
Parsing a device path 1 length 42
Parsing DP: length  42   type 4 subtype 1
Parsing DP media HD
Parsing a device path 2 length 52
Parsing DP: length  52   type 4 subtype 4
Parsing DP media file
Parsing a device path 3 length 4
Parsing DP: length  4   type 127 subtype 255
2   "Fedora"
Parsing a device path 1 length 42
Parsing DP: length  42   type 4 subtype 1
Parsing DP media HD
Parsing a device path 2 length 70
Parsing DP: length  70   type 4 subtype 4
Parsing DP media file
Parsing a device path 3 length 4
Parsing DP: length  4   type 127 subtype 255
0   "Windows Boot Manager"
QLayout: Attempting to add QLayout "" to QEFIEntryView "", which already has a layout
[EFIEntryView] Clicked:  0
RokeJulianLockhart@Beedell:~$ pkexec /home/RokeJulianLockhart/Downloads/QEFI.Entry.Manager.x86_64.AppImage.Qt6.pkexec-launcher-OFF.AppImage
qt.qpa.xcb: could not connect to display 
qt.qpa.plugin: Could not load the Qt platform plugin "xcb" in "" even though it was found.
This application failed to start because no Qt platform plugin could be initialized. Reinstalling the application may fix this problem.

Available platform plugins are: xcb.

Aborted                    (core dumped) pkexec /home/RokeJulianLockhart/QEFI.Entry.Manager.x86_64.AppImage.Qt6.pkexec-launcher-OFF.AppImage

Albeit tangential, the undermentioned may also be of use:

RokeJulianLockhart@Beedell:~$ run0 /home/RokeJulianLockhart/QEFI.Entry.Manager.x86_64.AppImage.Qt6.pkexec-launcher-OFF.AppImage

RokeJulianLockhart@Beedell:~$ run0 /home/RokeJulianLockhart/QEFI.Entry.Manager.x86_64.AppImage.Qt6.AppImage

RokeJulianLockhart@Beedell:~$ run0
🦸 [root@Beedell RokeJulianLockhart]# /home/RokeJulianLockhart/QEFI.Entry.Manager.x86_64.AppImage.Qt6.pkexec-launcher-OFF.AppImage
qt.qpa.xcb: could not connect to display 
qt.qpa.plugin: Could not load the Qt platform plugin "xcb" in "" even though it was found.
This application failed to start because no Qt platform plugin could be initialized. Reinstalling the application may fix this problem.

Available platform plugins are: xcb.

Aborted                    (core dumped) /home/RokeJulianLockhart/QEFI.Entry.Manager.x86_64.AppImage.Qt6.pkexec-launcher-OFF.AppImage
🦸 [root@Beedell RokeJulianLockhart]# /home/RokeJulianLockhart/QEFI.Entry.Manager.x86_64.AppImage.Qt6.AppImage
env: ‘QEFIEntryManager’: No such file or directory
RokeJulianLockhart@Beedell:~$ su -c '/home/RokeJulianLockhart/QEFI.Entry.Manager.x86_64.AppImage.Qt6.pkexec-launcher-OFF.AppImage'
Password: 
qt.qpa.plugin: Could not find the Qt platform plugin "wayland" in ""
qt.qpa.theme.dbus: Session DBus not running.
qt.qpa.theme.dbus: Application will not react to KDE setting changes.
 Check your DBus installation.
BootCurrent:  2
Timeout:  1  seconds
BootOrder: 
2 , 
0 , 
Parsing a device path 1 length 42
Parsing DP: length  42   type 4 subtype 1
Parsing DP media HD
Parsing a device path 2 length 52
Parsing DP: length  52   type 4 subtype 4
Parsing DP media file
Parsing a device path 3 length 4
Parsing DP: length  4   type 127 subtype 255
2   "Fedora"
Parsing a device path 1 length 42
Parsing DP: length  42   type 4 subtype 1
Parsing DP media HD
Parsing a device path 2 length 70
Parsing DP: length  70   type 4 subtype 4
Parsing DP media file
Parsing a device path 3 length 4
Parsing DP: length  4   type 127 subtype 255
0   "Windows Boot Manager"
QLayout: Attempting to add QLayout "" to QEFIEntryView "", which already has a layout
[EFIEntryView] Clicked:  0
RokeJulianLockhart@Beedell:~$ su -c '/home/RokeJulianLockhart/QEFI.Entry.Manager.x86_64.AppImage.Qt6.AppImage'
Password: 
env: ‘QEFIEntryManager’: No such file or directory

My Environment

  1. My OS

    Per /etc/os-release:

    NAME="Fedora Linux"
    VERSION_ID=43
    VARIANT="KDE Plasma Desktop Edition"
    
  2. My OS

    Per kinfo:

    KDE Plasma Version: 6.5.1
    KDE Frameworks Version: 6.19.0
    Qt Version: 6.10.0
    Kernel Version: 6.17.6-300.fc43.x86_64 (64-bit)
    Graphics Platform: Wayland
    

RokeJulianLockhart avatar Nov 03 '25 21:11 RokeJulianLockhart