Classic confinement for term-cheat

Yes it’s open source https://github.com/select/term-cheat
I just started it, feel free to do whatever you like with the code.

1 Like

In the meanwhile it might be possible for it to write commands as scripts to $HOME/bin/. Like, for example mark with space and then hit ‘s’ to produce “$HOME/bin/list open ports.sh” for example.

I am not sure if it is possible to create scripts or shell aliases that could be invoked like this.

$ list open ports
# netstat -tulpn
Active Internet connections (only servers)
...

That would be awesome. term-cheat could also print apt command with dependencies that need to be installed for the given OS for the selection.

lets move this to here https://github.com/select/term-cheat/issues/1

Just FYI, nope. ~/bin is explicitly disallowed.

2 Likes

So how long does a review process usually take? It’s been a while now. Can I do something to improve?

This is effectively a launcher application which does not fit strict mode confinement (strict would limit the available commands to what is in the runtime and the snap as well as be limited to the snap’s mount namespace). So the requirements are understood.

That said, we’ve never had a request for a launcher like this, though we’ve had some similar things like management snaps (which we do not allow) and IDEs with configurable plugins (which we do allow). This snap is meant to be configured by the user and invoked by the user, as opposed to a management snap that controls the system via a remote 3rd party, and as such may be a candidate for the store. @pedronis, can you weigh in?

I fear we have a bit the conundrum here that some of the audience this might to be designed for might not understand the implications of --classic

So is there a decision yet? Can I not publish my app in the snap store?

I’m interested in other people thoughts on this point. At the moment I’m reticent to grant classic.

I tend to agree that this application seems designed to help inexperienced CLI users who otherwise don’t know what the commands are capable of, etc. Bugs or intentional behavior of the program might break the systems when used in the wrong hands. The screenshot lists quite a few things that could easily be snapped or are already in the snap runtime environment with existing snapd interfaces, so it is not completely clear to me why this must be classic.

@jdstrand The commands in the screenshot are examples, term-cheat should be used to create your own list of commands that you find useful but hard to remember.

@select, does the application come with a set of builtin commands or does it start with a blank slate that the user must configure? If builtin, what are they? (all of them)

Thank you for your patience. Classic confinement provides device ownership to the snap so we exercise due diligence in trying to understand application intent, user expectations, etc with these sorts of requests.

It’s still quite early in the development so I just added some random commands. I would have to think a bit and get some feedback on the commands that should be included on the first start. I will try to get you a list by the end of the month. But I definitely want to have a handful of commands on the initial start so users can immediately try it out.

Also thanks for working with me I appreciate your efford :wink:

@pedronis - it sounds like the functionality is mostly configurable by the user, but the developer has not decided on a default set of commands to show. Since the commands are configurable by the user, IMO this feels like it is a candidate for classic.

It’s not an unreasonable assessment. It needs to go through publisher vetting.

@advocacy - can you perform the publisher vetting?

@advocacy - can you please perform the vetting?

Vetting done, +1 from me for this to be classic.

Granting use of classic. This is now live. Your next upload should pass automated review (or you can request a manual review via the store for an existing revision).

Thank you all so much. I will try my best to release a new version soon with an improved list of example commands that all users can relate to.