After upgrading the KDE Frameworks to version 5.70, I discovered strange behavior of the working environment. My shortcuts, which include launching in the Terminal, stopped working. For example, I have the .desktop shortcut: [Desktop Entry] Type=Application Version=1.0 Name=Midnight Commander GenericName=Midnight Commander Comment=Midnight Commander, a free Norton Commander Clone Icon=mc Exec=mc Categories=System;Utility;Core;FileTools;FileManager; Terminal=true When I try to start the application using this shortcut, I get an error: "Could not find the program 'konsole'". Before the update, this worked fine. # pkg info | grep konsole konsole-20.04.1 KDE terminal emulator pkg info | grep Midnight mc-4.8.24 Midnight Commander, a free Norton Commander Clone Can someone help me?
When I try to start the application using shortcut, which include launching in the Terminal, I see plasmashell messages in the log: QKqueueFileSystemWatcherEngine::addPaths: open: No such file or directory Internal program error. QStandardPaths::findExecutable couldn't find "konsole" but our own logic found it at "/usr/local/bin/konsole" . Please report a bug at https://bugs.kde.org
I found that this issue is being discussed here https://bugs.kde.org/show_bug.cgi?id=421374. This is a KDE Frameworks 5.70 bug, which should be fixed in 5.71.
Moin moin Thanks for the report and the link to upstream -- the fix has been added to the tree now. Let me know if that does not yet solve the issue for you. mfg Tobias
A commit references this bug: Author: tcberner Date: Sun May 24 20:22:13 UTC 2020 New revision: 536419 URL: https://svnweb.freebsd.org/changeset/ports/536419 Log: devel/kf5-kio: add upstream bug fix: "Could not find the program ?konsole?" From upstrams [1] bug report Fix service file specifying 'Run in terminal' giving an error code 100 Happens because KIO::DesktopExecParser::resultingArguments() prepends the terminal application to the command line. If this is a relative path, as it is most likely to be (and will be in the default 'konsole' case), the "realExecutable" check in KProcessRunner::KProcessRunner() is triggered and the job aborts with an error. Expand the specified terminal executable into a full path in resultingArguments(), and return an error immediately if it cannot be found. This full terminal path is not relative for the KProcessRunner::KProcessRunner() check and does not fail. Check that resultingArguments() is not empty (an error return) before accessing the first word of the command, so that it does not assert if the list is empty. Also only call resultingArguments() once. [1] https://bugs.kde.org/show_bug.cgi?id=421374 PR: 246659 Reported by: Serge Volkov <sv@ulstu.ru> Changes: head/devel/kf5-kio/Makefile head/devel/kf5-kio/files/ head/devel/kf5-kio/files/patch-git_6452a34cf
Thanks, Tobias! It's fixed for me.
Cool, I close this then. mfg Tobias