#368 Applications in KDE break with `noexec`
Opened by py0xc3. Modified

I just experienced that applications in KDE break when /home is mounted with noexec.

Once noexec is removed from the /home partition, it works again.

At first, KDE seems to work fine and the desktop/GUI starts as expected. Also, I can open the Application Launcher (so, the "Start" button). No errors up to this point.

However, once I click any application, I get a "permission denied" error: Firefox, Thunderbird, Kwrite, Konsole, ...

I am wondering since the binaries of these apps are in the /usr path. At the same time, the KDE environment itself seems to work.

This is nothing critical or so. But is this intended? (Or known why this happens / how to mitigate?)


Have you found anything in the logs?

Note that noexec for the home partition is mostly useless as one can just: cat | bash in most cases or run Python scripts.

It was for a special use case (the Fedora was going to be strongly modified), but I can achieve the goal by other means. I opened the topic because I did not understand that behavior and was wondering if that could be related to a bug or so.

However, I think I found the issue in the logs:

Jul 03 23:19:56 fedora plasmashell[3367]: Could not find the Plasmoid for Plasma::FrameSvgItem(0x7f21240282e0) QQmlContext(0x55ecf44cfc50) QUrl("file:///usr/share/plasma/plasmoids/org.kde.plasma.notifications/contents/ui/global/Globals.qml")
Jul 03 23:19:56 fedora plasmashell[3367]: Could not find the Plasmoid for Plasma::FrameSvgItem(0x7f21240282e0) QQmlContext(0x55ecf44cfc50) QUrl("file:///usr/share/plasma/plasmoids/org.kde.plasma.notifications/contents/ui/global/Globals.qml")
Jul 03 23:19:56 fedora plasmashell[3367]: kf.config.core: Access to ' "/home/username/.local/share/plasma_icons/org.kde.konsole.desktop" ' denied, not owned by root and executable flag not set.
Jul 03 23:19:56 fedora plasmashell[3367]: kf.service.services: KApplicationTrader: mimeType "x-scheme-handler/file" not found
Jul 03 23:19:54 fedora plasmashell[3367]: Could not find the Plasmoid for Plasma::FrameSvgItem(0x55ecf658ae00) QQmlContext(0x55ecf44cfc50) QUrl("file:///usr/share/plasma/plasmoids/org.kde.plasma.notifications/contents/ui/global/Globals.qml")
Jul 03 23:19:54 fedora plasmashell[3367]: Could not find the Plasmoid for Plasma::FrameSvgItem(0x55ecf658ae00) QQmlContext(0x55ecf44cfc50) QUrl("file:///usr/share/plasma/plasmoids/org.kde.plasma.notifications/contents/ui/global/Globals.qml")
Jul 03 23:19:54 fedora plasmashell[3367]: kf.config.core: Access to ' "/home/username/.local/share/plasma_icons/org.kde.kate.desktop" ' denied, not owned by root and executable flag not set.
Jul 03 23:19:54 fedora plasmashell[3367]: kf.service.services: KApplicationTrader: mimeType "x-scheme-handler/file" not found
Jul 03 23:19:53 fedora plasmashell[3367]: Could not find the Plasmoid for Plasma::FrameSvgItem(0x7f2124024c70) QQmlContext(0x55ecf44cfc50) QUrl("file:///usr/share/plasma/plasmoids/org.kde.plasma.notifications/contents/ui/global/Globals.qml")
Jul 03 23:19:53 fedora plasmashell[3367]: Could not find the Plasmoid for Plasma::FrameSvgItem(0x7f2124024c70) QQmlContext(0x55ecf44cfc50) QUrl("file:///usr/share/plasma/plasmoids/org.kde.plasma.notifications/contents/ui/global/Globals.qml")
Jul 03 23:19:53 fedora plasmashell[3367]: kf.config.core: Access to ' "/home/username/.local/share/plasma_icons/org.kde.kwrite.desktop" ' denied, not owned by root and executable flag not set.
Jul 03 23:19:53 fedora plasmashell[3367]: kf.service.services: KApplicationTrader: mimeType "x-scheme-handler/file" not found
Jul 03 23:19:51 fedora plasmashell[3367]: Could not find the Plasmoid for Plasma::FrameSvgItem(0x7f212c0078e0) QQmlContext(0x55ecf44cfc50) QUrl("file:///usr/share/plasma/plasmoids/org.kde.plasma.notifications/contents/ui/global/Globals.qml")
Jul 03 23:19:51 fedora plasmashell[3367]: Could not find the Plasmoid for Plasma::FrameSvgItem(0x7f212c0078e0) QQmlContext(0x55ecf44cfc50) QUrl("file:///usr/share/plasma/plasmoids/org.kde.plasma.notifications/contents/ui/global/Globals.qml")
Jul 03 23:19:51 fedora plasmashell[3367]: kf.config.core: Access to ' "/home/username/.local/share/plasma_icons/org.kde.dolphin.desktop" ' denied, not owned by root and executable flag not set.
Jul 03 23:19:51 fedora plasmashell[3367]: kf.service.services: KApplicationTrader: mimeType "x-scheme-handler/file" not found
Jul 03 23:19:50 fedora plasmashell[3367]: Could not find the Plasmoid for Plasma::FrameSvgItem(0x7f212c004480) QQmlContext(0x55ecf44cfc50) QUrl("file:///usr/share/plasma/plasmoids/org.kde.plasma.notifications/contents/ui/global/Globals.qml")
Jul 03 23:19:50 fedora plasmashell[3367]: Could not find the Plasmoid for Plasma::FrameSvgItem(0x7f212c004480) QQmlContext(0x55ecf44cfc50) QUrl("file:///usr/share/plasma/plasmoids/org.kde.plasma.notifications/contents/ui/global/Globals.qml")
Jul 03 23:19:50 fedora plasmashell[3367]: kf.config.core: Access to ' "/home/username/.local/share/plasma_icons/firefox.desktop" ' denied, not owned by root and executable flag not set.
Jul 03 23:19:50 fedora plasmashell[3367]: kf.service.services: KApplicationTrader: mimeType "x-scheme-handler/file" not found

It seems that KDE does not exec the respective binary directly but indirectly through exec the *.desktop files, which are in /home. Looks strange to me, but explains the behavior. However, I think this is intended and not a bug or so.

Feel free to check if these logs indicate something unintended since I am not experienced with the inner workings of KDE (let me know if you need further data), but I think this topic can be closed.

/home/username/.local/share/plasma_icons

I don't have this directory on my system. Did you customize the desktop entries?

Interesting. No, I did not customize that. The only changes I imposed that can have an indirect impact on KDE's management is using SELinux confined user accounts and moving some folders to a different location and replacing them in ~* through symlinks. However, none directory in /home/username/.local/share/plasma_icons belongs to the folders I moved/replaced, and I do not think that SELinux confined user accounts cause KDE to create additional folders/files.

My home directory in general was created 9 January 2023 with the installation of this Fedora instance, while the plasma_icons was created a few days later on 17 January 2023.

The only change I remember that could have occurred roughly at that time (which means, not immediately but soon after creating the user account) is changing to the dark theme. But I could also imagine that I created the desktop apps on that day and not immediately after setup. In either case, I didn't customize KDE config files.

Btw, I use KDE spin, not Kinoite. Maybe that makes a difference in this respect?

Then I would recommend you clear out those directories (may revert the theme change) and try again.

I deleted the folder with its content, but once I login the next time,
the folder with its content is created again (ironically, the same
starters are created again automatically; this information seems to be
saved somewhere else too). Btw, do you have application starters in your
task bar (so the bottom bar)? E.g., I attached a screenshot [1] of my bar
with the start button, two desktops, several app starters (which are
those created in the plasma_icons folder) and additionally the open
applications (in the attached screenshot, firefox is contained twice:
once as starter, and once as an open/running application). I ask because
if you do not have starters in this bar, this also explains why you do
not have this folder.

Generally, this is not an issue to me. I was just wondering if something
of that is unintended behavior.

[1] https://gitlab.com/py0xc31/public-tmp-storage/-/raw/main/bar-with-starters.png?inline=false

Metadata