For a linux desktop, I’ve emigrated from Linux Mint over to the latest Ubuntu release in my “I’d like everything to work” kick. The older I get, the more I find myself growing in sharp disdain with flakey compatibility or busted scripts making a modern linux desktop more of a chore than I’d like it to be. In this realm, I have to tip my hat to Ubuntu for continuing to be as quick and easy as possible. Additionally, efforts like Arch Linux are still quite useful to many for the intense configurability and user supported application catalog (AUR).

With the latest in desktop linux, certain applications of come to light greatly decreasing tedious efforts. One example of this is Snapcraft, a quick and easy way to install applications on almost all distributions. Being self-contained, there’s less application sprawl, automatic updates, and easy publication of one copy that works everywhere (especially attractive to developers). This is really cool modern application delivery with “container-like” deployment abilities, which is what makes it exciting.

However, for users, there are some caveats. Not all distros have adopted Snaps in addition to application developers who have not yet published their program in this format. Furthermore, as I recently learned, applications can operate differently as a Snap. One example of this is VLC, which installed as a Snap, wouldn’t let me utilize my USB audio interface because of the inherent app isolation. However, installed with apt, it worked just like I’d expect.

I’d strongly suggest you at least get semi-familiar with how your applications will be running on your system in this new model so you can understand if the positive aspects of Snap are worth the investment. I strongly recommend perusing the Core documentation around Snaps to obtain an idea of how snapd works to provide your applications. In my case, this would look like modifying read access to the device I was trying to use.

Mario Loria is a builder of diverse infrastructure with modern workloads on both bare-metal and cloud platforms. He's traversed roles in system administration, network engineering, and DevOps. You can learn more about him here.