Skip to content

Plasma/KDE parses bundled ELF file ai.opencode.desktop as a desktop entry #41044

Description

@CFCarlos

Description

Environment:

  • Ubuntu 24.04
  • KDE Plasma 5
  • OpenCode AppImage 1.18.15

Running the AppImage causes PlasmaShell to continuously print messages like:

KConfigIni: In file /tmp/.mount_xxxxx/ai.opencode.desktop, line XXXXX:
Invalid entry (missing '=')

Investigation shows that the AppImage contains two different files:

ai.opencode.desktop.desktop
-> valid desktop entry

ai.opencode.desktop
-> ELF executable (not a desktop file)

Verification:

$ file squashfs-root/ai.opencode.desktop
ELF 64-bit LSB pie executable

$ file squashfs-root/ai.opencode.desktop.desktop
ASCII text

It looks like Plasma is trying to parse the ELF file because its filename ends with ".desktop".

This results in thousands of KConfigIni warnings every time the AppImage runs.

Possibly the embedded executable should not be named ai.opencode.desktop, or it should not be exposed in a way that Plasma scans as a desktop entry.

Additional finding:

The AppImage contains an ELF executable named "ai.opencode.desktop":

-rwxr-xr-x 216620248 ai.opencode.desktop

and a real desktop entry:

-rw-r--r-- 237 ai.opencode.desktop.desktop

Because the executable name ends with ".desktop", KDE Plasma scans it as a desktop entry and KConfigIni tries to parse the ELF binary.

Renaming the executable (for example to "opencode" or "ai.opencode") should avoid Plasma treating it as a desktop file.

Plugins

No response

OpenCode version

No response

Steps to reproduce

Steps to reproduce:

  1. Download the OpenCode AppImage (version 1.18.15).

  2. Make the AppImage executable:

    chmod +x OpenCode-*.AppImage

  3. Run the AppImage on Ubuntu 24.04 with KDE Plasma 5.

  4. Open a terminal and watch Plasma logs:

sudo journalctl --user -f | grep KConfigIni

  1. Observe repeated messages like:

    KConfigIni: In file /tmp/.mount_*/ai.opencode.desktop, line XXXXX:
    Invalid entry (missing '=')

  2. Extract the AppImage contents:

    ./OpenCode-*.AppImage --appimage-extract

  3. Check the files named *.desktop:

    find squashfs-root -name "*.desktop" -exec file {} ;

Expected result:
The desktop entry file should be parsed normally and Plasma should not report KConfigIni errors.

Actual result:
The AppImage contains an ELF executable named "ai.opencode.desktop". KDE Plasma detects it as a desktop entry because of the ".desktop" suffix and tries to parse the binary as a KConfigIni file, producing thousands of warnings.

Screenshot and/or share link

No response

Operating System

No response

Terminal

No response

Metadata

Metadata

Assignees

Labels

No labels
No labels

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions