Bug 437131 - Terminal commands executed in KRunner that require interactivity don't do anything
Summary: Terminal commands executed in KRunner that require interactivity don't do any...
Status: RESOLVED FIXED
Alias: None
Product: krunner
Classification: Plasma
Component: general (show other bugs)
Version: unspecified
Platform: Other Linux
: NOR normal
Target Milestone: ---
Assignee: Alexander Lohnau
URL:
Keywords: usability
Depends on:
Blocks:
 
Reported: 2021-05-15 04:07 UTC by Toadfield
Modified: 2021-12-26 19:33 UTC (History)
5 users (show)

See Also:
Latest Commit:
Version Fixed In: 5.24
Sentry Crash Report:


Attachments
screen recording (835.31 KB, video/mp4)
2021-06-02 02:57 UTC, Toadfield
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Toadfield 2021-05-15 04:07:37 UTC
So that for example I can open krunner,then type "sudo rm /path/to/file",then that command gets executed and if it needs root priviliges,then it just opens that normal window that asks for the root password,and if the command needs a terminal to properly work,then a terminal should be opened.
Comment 1 Alexander Lohnau 2021-05-15 06:39:15 UTC
It should work when you press Shift+Enter, which will launch the command in a terminal window.

Or you could use pkexec instead of sudo, this will give you a graphical prompt.
Comment 2 Toadfield 2021-05-16 00:19:43 UTC
I tried it with neofetch,if type that in krunner and then press shift+enter then nothing happens.
Comment 3 Nate Graham 2021-05-18 21:19:57 UTC
Are you sure you actually had the terminal command item selected at the time you hit Shift+Enter?
Comment 4 Toadfield 2021-05-20 04:27:20 UTC
yes
Comment 5 Nate Graham 2021-05-20 13:55:17 UTC
Can you please attach a screen recording that shows the problem happening?
Comment 6 Toadfield 2021-06-02 02:57:18 UTC
Created attachment 138936 [details]
screen recording

Here,a screen recording
Comment 7 Nate Graham 2021-06-02 16:41:09 UTC
`sudo neofetch` requires interactivity. So that's why it doesn't seem to do anything.

Also, we have a built-in system monitoring system with GUI tools and widgets and an app and everything, so hopefully running neofetch as root should be unnecessary.
Comment 8 Zhong Lufan 2021-10-18 20:59:42 UTC
This is caused by missing kinit, I'm not sure if this is a bug, but on a system without kinit, KRunner won't open the terminal.
Comment 9 Nate Graham 2021-10-19 15:41:33 UTC
Yeah, we're deleting KInit slowly. So if it provides this feature, we'll have to come up with a replacement.
Comment 10 Zhong Lufan 2021-10-19 15:43:54 UTC
(In reply to Nate Graham from comment #9)
> Yeah, we're deleting KInit slowly. So if it provides this feature, we'll
> have to come up with a replacement.

We can use KTerminalLauncherJob, like https://invent.kde.org/system/dolphin/-/commit/27bfcde4efaf936243fc41e4a61d0cac32105ef6 does.
Comment 11 elypter 2021-11-08 14:02:45 UTC
i dont know if this is related but if i start something using shift+enter the terminal shows up but i never get back to the command prompt. after execution it just sits there, accepts input but no prompt shows up, even after ctrl+c. i do however get a prompt with "sudo su"
Comment 12 Nate Graham 2021-12-26 19:33:13 UTC
Git commit 70d23b891e95bc6911389773f320a4406a12bd87 by Nate Graham, on behalf of Lufan Zhong.
Committed on 26/12/2021 at 19:33.
Pushed by ngraham into branch 'master'.

runners/shell: Port from KToolInvocation::invokeTerminal to KTerminalLauncherJob

kinit is being deprecated; this change will allow it to open a terminal and execute
commands normally without kinit being present.
FIXED-IN: 5.24

M  +13   -2    runners/shell/shellrunner.cpp

https://invent.kde.org/plasma/plasma-workspace/commit/70d23b891e95bc6911389773f320a4406a12bd87