RFC: Snappy shell

Mark Shuttleworth mark at ubuntu.com
Thu Jun 18 10:17:25 UTC 2015


On 16/06/15 09:44, Loïc Minier wrote:
> First, consider that the networking industry is proposing this today: in
> all products, for all major brands, you end up in a custom CLI experience.
> I certainly agree it's painful to learn a new one each time, much like it's
> a pain to learn how to use/configure a new piece of software of any kind.
> But at least we get to define this one and offer it as a base for others to
> derive from. Perhaps frameworks/snaps could extent the command set with
> additional commands, e.g. to manage the ASIC, or provide hardware
> diagnostics etc.
>
> I'm not convinced that this shell approach is inherently good or bad for
> these network vendors, but it's a fact that they all do this, and snappy
> shell gives a path towards this kind of user experience.

If we think that the functionality of all those firmwares transition to
their snaps in an Ubuntu Core world, then it's very useful to have a way
for those snaps to say "here's how you get my CLI" in a standard way,
and to have a standard way to jump from the snappy shall to the shell of
a particular snap.

If we think that the "snap for human usage of a snappy system" is comfy,
then the equivalent of "give me a bash shell" is the comfy shell.

For example:

 snappy % list
 comfy
 network-os

 snappy % shell comfy

 bash $ ls -a
 . .. .bashrc
 bash $ exit

 snappy %

> Snappy shell needs not be required for all snappy based images and/or needs
> not be on port 22, it is rather an optional interface to snappy, much like
> webdm is an useful tool and default web user experience.

Here I disagree; if it's worth doing, it's worth doing universally.

Personally, I think:

 * it's worth doing by default on all snappy systems
 * the jump to a "normal Linux shell" needs to be crisp and obvious and easy
 * interaction with SSH needs to be straightforward and well thought through for cloud and device instances of snappy

Mark





More information about the snappy-devel mailing list