Split Personality Snaps

Split Personality Snaps


Broadly speaking, most snaps in the Snap Store fall into one of two categories, desktop applications and server daemons. The graphical applications such as Chromium and Spotify use desktop files, which ensure they can be opened on demand by any user via a menu or launcher. The server applications such as NextCloud and AdGuard-Home typically have systemd units, which control their automatic (background) startup. Taking an existing desktop application and converting it to an always-running appliance leads to some interesting engineering challenges. Applications and games tend to have expectations for what programs and services are accessible at runtime, which need mitigating. Application confinement in snaps on Ubuntu Core means some assumptions about file and device access may no longer apply.   We will typically need to stand-up a configuration in which the application believes it’s running in a standard desktop environment. The application will also need the startup automated in an appliance setting, but launched on demand when in a desktop environment. We can be quite creative with snaps and build a “split personality” snap that can run both as a desktop application and as an appliance! Building Blocks Ubuntu Core doesn’t ship with Xorg or PulseAudio out of the box. This isn’t a problem if the appliance doesn’t require a connected monitor, nor makes any sounds, as is the case with Plex Media Server and Mosquitto but this can be a problem with applications which require access to the display or sound hardware. Unlike multi-user desktop environments, appliances tend to only require one local system user under which services automatically start. On a desktop system, the logged-in user launches applications on demand, whereas with an appliance, a system user launches the appliance on boot.  Our snap needs to service the needs of running on a desktop environment where Xorg and…

READ MORE: https://ubuntu.com//blog/split-personality-snaps

Previous Open source holds the key to autonomous vehicles
Next How To Install Or Remove A Software Package In Arch Linux, Manjaro?

About author

Sibananda Sahu
Sibananda Sahu 154 posts

A Linux Kernel Developer and a Firmware Developer by profession. Have worked with few big companies: BROADCOM Corporation, Cypress Semiconductor, LSI Corporation, TOSHIBA Corporation, Western Digital; on various cutting edge technologies and product lines, such as: RAID storage Driver, SSD Firmware, WLAN Firmware etc. Having more than 9 years of experience in Software Engineering domain. Now, took a pledge to educate all aspirant students to teach about Linux Kernel Development.

View all posts by this author →

You might also like

Ubuntu Dsicussions 0 Comments

WebCam problem with VirtualBox (Windows10/7/XP) guest machines

I’ve just installed an Ubuntu 20.04 Desktop Edition on a Dell All in One inspiron 3477 with Webcam that works correctly on it. and since i need a Windows machine

Ubuntu Dsicussions 0 Comments

SMART output, how to interpret general and badly formed scsi parameters

Generally, I’m looking for a source of information about what the heck all the stuff SMART tools produce. More specific, I got output from long test in SMART tools that

Ubuntu Dsicussions 0 Comments

[lubuntu] PCMAN-FM mounts encrypted disk, but can't umount. Why?

Why? Lubuntu 18.04 LTS. Extra SSD is on fstab as: /dev/mapper/sdb1_crypt /home/fcc/polje ext4 noauto,user,noatime 0 2 It mounts/umounts perfectly by unprivileged user. mount /dev/mapper/sdb1_crypt umount /dev/mapper/sdb1_crypt However PCMAN-FM can ONLY


No Comments Yet!

You can be first to comment this post!

Leave a Reply