Webmin Terminal do not execute all commands

Fedora Server 32
OpenSuse Leaf 15.2

When I run some commands in Terminal, or even in Command shell, they are often interrupted when input is requested.

A scenario I had yesterday installing Docker on my Leaf Webmin was that I run the zypper commands but it would not execute the installation until I added a non interactive switch to zypper.

The command to run the installation is

zypper install docker python3-docker-compose

and halted skipping an input (Y/N).

I had to run

zypper --non-interactive install docker python3-docker-compose

thus suppressing the input for the installation to proceed.

Identical issues with my Fedora build, but different commands of course.

Why does it do this? What am I missing?

Hi,

No, you’re not missing anything. Actions that require interaction (user input) are not supported yet.

ok, understood. Thanks

Takes away a bit of the usability, but I guess it will be fixed in coming releases.

It doesn’t require a fix but quite a bit of work.

An interactive terminal is an entirely different problem from running commands non-interactively. I mean, look at how much code is in, e.g. gnome-terminal. So far, none of us have been able to invest the weeks (at least) of time to implementing an interactive terminal.

Edit: To be clear, the thing you’re talking about is not a terminal and doesn’t claim to be.

Thats ok… I see something called Terminal and I assume it is a Terminal. That kinda sums up my impression, as long as I know that a Webmin Terminal is not the same as a OS Terminal and that there are limitations

1 Like

Shit, is it called “terminal”, really? @Ilia don’t call it a terminal, if it aint a terminal.

1 Like

Well its the same for Command Shell:

And it says in the description:

The module’s biggest limitation is that interactive commands like vi, passwd and telnet cannot be run. There is no support for providing input to a command once it has started, so you are limited to non-interactive programs like cp, ls and rm.

So I guess I did not read that.

Here is the Terminal icon in the middle, and it hovers “Terminal”

image

Yeah, it should be called Command Shell or something similar…because it is calling the command shell functions to run things. I’m pretty sure it used to be labeled that…not sure why/when it changed, but it’s misleading to call it a terminal when people expect a modern “terminal” to be interactive.

1 Like

Actually, Command Shell, despite the clarification on the wiki, is also not a very good name, I mean, what do you command? It’s kinda like a CMD in Windows, if you dont run it as Admin there are things you can’t do, and it says so in different ways, each and every time you try…

In any case some explanatory text INSIDE the UI, would certainly not be a bad idea… if there is room for it.

Yeah, it should be called Command Shell or something similar…because it is calling the command shell functions to run things.

Agreed. Upcoming Webmin release will contain this fix.

Isn’t there some halfway-decent, FOSS, actual terminal that could be planted in there?

That being said, since I first used Termius, I haven’t looked back. Neither F nor OSS, but quite nice and worth the small subscription fee.

Richard

Not without WebSockets in the webserver (miniserv.pl), which is a huge undertaking. Or, spinning up an additional web server just for the purpose, which has security implications and is also complex (the old AJAX term in Webmin does this).

Edit: There’s a long ticket about this on github, though I can’t find it at the moment. It’s on our radar, we’ve hashed out what needs to happen, but nobody’s got the time to do it, so far.

1 Like

To be perfectly honest I dont have a clue about the “programmatic challenges”, but maybe you could look at Cockpits Terminal? It works as far as I know…

That doesn’t solve missing WebSockets in miniserv.pl, or the need to spin up a new web server that does support WebSockers for each instance of the terminal. There are several existing web terminal implementations, mostly using term.js as the frontend. What’s missing is the backend. It’s on our radar, we’ve hashed out what needs to happen, we just don’t have time available to do it, so far.

Here’s the ticket I mentioned: https://github.com/authentic-theme/authentic-theme/issues/1037

Any follow up should probably go there, or at least be informed by the 50 comments already there.

This topic was automatically closed 4 days after the last reply. New replies are no longer allowed.