STEPS TO REPRODUCE
1. Open Dolphin
2. Right-click -> open terminal
3. Nothing happened, Konsole has not be opened
Linux/KDE Plasma: Arch Linux KDE Plasma 5.22.4
(available in About System)
KDE Plasma Version: 5.22.4
KDE Frameworks Version: 5.85.0
Qt Version: 5.15.2
Works for me.
If you open Dolphin itself in Konsole first, and then try again, is anything suspicious printed to the Konsole window?
I'm not the OP but I noticed the same wrong behaviour, please find below requested dolphin console output:
kf.dbusaddons: Can not find 'kdeinit5' executable at "/home/manliodp/.local/bin:/usr/local/sbin:/usr/local/bin:/usr/bin:/usr/bin/site_perl:/usr/bin/vendor_perl:/usr/bin/core_perl" "/usr/bin, /usr/bin"
WARNING: Please setup an KMessageHandler with KMessage::setMessageHandler to display message propertly.
(Could not launch Terminal Client)ERROR: Could not launch the terminal client:
KLauncher could not be reached via D-Bus. Error when calling kdeinit_exec_with_workdir:
The name org.kde.klauncher5 was not provided by any .service files
So, apparently KToolInvocation::invokeTerminal from kservice depends on kinit. This is quite bad packaging wise, as it creates a circular dependency kservice→kinit→kio→kded→kservice. This wasn't a problem until now because dolphin itself depended on kinit, but that's no longer the case in 21.08
I guess Dolphin needs to be ported to use KIO::kterminallauncherjob().
A possibly relevant merge request was started @ https://invent.kde.org/system/dolphin/-/merge_requests/263
I could not target the stable branch with that MR since it has to increase the frameworks dependency version. Nonetheless, if the MR is merged, packagers can backport it safely as long as they're already shipping Frameworks 5.83 or newer.
Git commit 27bfcde4efaf936243fc41e4a61d0cac32105ef6 by Nate Graham.
Committed on 31/08/2021 at 15:12.
Pushed by ngraham into branch 'master'.
Port to KTerminalLauncherJob
Dolphin still uses KToolInvocation::invokeTerminal() which is
deprecated and requires KInit. However Dolphin was ported away from
requiring it in other ways, so it is now possible to have Dolphin
running but not KInit, which breaks the "Open in Terminal"
Using KTerminalLauncherJob fixes this. It was introduced in Frameworks
5.83, so the CMake dependency version is accordingly increased.
M +1 -1 CMakeLists.txt
M +10 -4 src/dolphinmainwindow.cpp
M +4 -2 src/dolphinpart.cpp
This commit should be cherry-pickable