Towards an all-snap Linux desktop

Having an all-snap Ubuntu system can fundamentally be a great way of building a distribution. A rolling release could be created (latest/stable channel)

If we make an organized effort to create snaps for different tools that are required for a developer experience. i.e. snapping git, make, python and a whole lot of similar tools. I understand many such tools would need to use the classic confinement but I think that’s “OK” while building a desktop OS.

One of the advantages of having an all-snap Desktop means that features like “Factory data reset” will come with very little effort. Having rollbacks of snaps means that we can potentially build an OS that has relatively less chance of breakage compared to what we have today.

Bind mounts and OverlayFS could be used by people wanting to modify the ReadOnly RootFS for their needs.

I think a great technology already exists (snaps), we just need to make even better use of it to change how Linux desktop works today.

1 Like

Looking at ChromeOS for inspiration, it’s probably not that much of a problem to just rely on containers to fill the classic gap like they do with Crostini. Lxd and Docker already work in strict confinement and assuming there was a usable desktop shell, Ubuntu Core begins to look a lot like ChromeOS IMO. Pop into a container to do developer work and keep the strict snaps for the “normal” system.

(Which isn’t a bad thing, because personally I think Ubuntu Core would be technically capable of competing with ChromeOS, but seeing as ChromeOS already exists I wouldn’t imagine it’s worth tackling at a business level).

1 Like

I definitely like the idea of a very lightweight core OS. One frustration that I have witnessed by new Ubuntu users is that it’s very “easy” to break the system while following different “how to’s” on the internet. This generally brings in a bad impression for them (I know this, because I have students who I pursued to use Ubuntu for their software development work). Having a “factory data reset” features means those people would never have to reinstall their OS.

Obviously having a read-only rootfs means “predictability” and makes it very easy to check what version of the OS a computer is running, hence making easier to “reproduce” issues when debugging.

It’s quite clear that the commercial sponsor of Ubuntu has limited investment interest in the Desktop, however I am particularly disappointed at the Ubuntu community at large, to me it looks like there hasn’t been a major undertaking by the Ubuntu community to lead a project for quite a few years. (Sorry for writing that on a distro neutral forum). I am actually looking to help change that.

1 Like

Have you seen Fedora Silverblue?

I know it’s “competition” on both Ubuntu and Snap but what they’re working towards sounds roughly similar to what you’d be hoping for, so maybe it’s worth checking out. I haven’t personally used it though so I’ve no idea how usable it is but there’s likely more current effort over their way than ours.

(No hate Ubuntu / Snapcrafters, I love you all equally)

Since it is Ubuntu Core based, you would not be able to run classic packages with it … but i imagine also that any terminal session would spawn inside an lxd container so you’d have the full classic experience in a terminal …