Proposal for Ubuntu 20.04LTS

Pretty good decision!
Maybe, one day, there’d be an Ubuntu desktop distro entrirely made of snaps. I’ll be waiting for that!

flatpak is a delivery mechanism for sandboxed desktop apps, while snap is an actual package format (i.e. you can snap cli programs as well as servers, multi-binary projects, kernels and even bootloaders). so while flatpak might affect your desktop startup time (and while this might be less noticeable), snaps do have to be available way before a desktop session starts.

along with that snap packages are actually gpg signed, readonly squashfs files that greatly reduce the disk footprint of an app … to achieve that they need to be mounted during boot …

there is definiely a lot of work and focus on the boot impact of snaps planned for 20.04, but due to the above, the impact on boot time willl always be non-zero if you compare the two …

6 Likes

I proposed something similar for (initially) command line installs of snaps here: https://forum.snapcraft.io/t/install-snap-without-any-auto-connections-proposal/12426

I think if/when this gets worked on, exposing that intelligently via a GUI option would be a useful thing. Would that satisfy your use case? I don’t think we want to prompt the user about permissions that were granted after the install because due to daemons and auto-starts in snaps that could hypothetically be too late. It also would give an impression of the snap not being secure just because it plugs certain interfaces which I don’t think is a reasonable thing to do automatically (I think it’s better to let the user look at the snap description, publisher, etc. and decide if they trust the snap and if they don’t then install it with less permissions).

2 Likes

Can you also consider implementing a different kind of flair for Canonical adjacent folk who deserve to stand apart like jbicha and c-lobrano here?

2 Likes

At one time I was a snap critic — Lately however I definitely like where Canonical is going with this technology, and don’t find the initial startup too problematic. It’s understandable in my opinion, as it needs to load supporting libs etc.
I do think the future is bright for Ubuntu, what with snaps and ZFS support!
Don’t let the whiners (sorry but that’s you @chanath you’re very tiresome) get the Desktop team down - You’re doing remarkable work, in my opinion.
I have to say, I just don’t understand why some vocal people are complaining so much about snaps! It’s great for people on different releases to have the latest and greatest without needing to upgrade their entire OS. It’s a Win-Win.

6 Likes

That’s not a problem, for that’s standard Linux users’ talk/attitude, It is either our way, or no way!

That said, I don’t believe there’s much heart for the desktop here at Ubuntu any more. Maybe, just maybe, one day there’d be all snaps Ubuntu desktop distro. One can hope, people say, you know.

(You can start it ten times, it gives the same result.)

I’m very much with you @stephen-d-allen on this one.

As one of the older contributors to this site I now just want something that works as I’ll be moving away from experimentation and testing once Focal Fossa has been released in April 2020. If it takes a second or two longer to load a snap application then “So what?”. I’m used to slow loading times with some of the older hardware that I’ve been using in recent years. :slight_smile:

@vanvugt and @oSoMoN have posted on this site asking for help and feedback. I’ve responded and have made what I consider to be a worthy contribution to Ubuntu, an operating system that I have repeatedly downloaded and installed free of charge for almost 10 years now.

Some here need to remember that they are not paying customers!

At first I was also a snap critic but I have chosen to help with problems and issues, and report bugs to Launchpad. I know that the problems that I have reported are being addressed. They may still be apparent in Ubuntu 19.10 but I am confident that most if not all will be resolved by the time Ubuntu 20.04 LTS is released in April next year.

3 Likes

With all due respect, please go away.

This site is not a user discussion forum at all; it is a place where Ubuntu development happens openly. This place won’t continue to be used by Ubuntu developers if you manage to drive them away with these kinds of comments. And then we will all have lost something nice.

16 Likes

Sure I will, pal. :slight_smile:
Ubuntu 20.04 is the last Ubuntu I’d be testing and experimenting with. I won’t post anything I find that don’t work on Gnome shell, Yaru, snaps or Gnome tweak tool. Sure, I’d find them, most times what others won’t. They can be told to those, who can take heed.

For me, Canonical is doing a good job overall.

Snaps should not be abandoned, it’s convenient for some software but like the opinion of many users on the French forum, it remains a pre-installed error by default because quite a few do not want any snap on their system which forces them to make a “snap remove” from the beginning.

Fedora (the equivalent of Ubuntu but Red Hat side) has understood it: flatpak is included (like you with snapd) but it does not impose any flatpak preinstalled by default.

If you make a version of Ubuntu specific to snaps (a bit like Fedora with the “Silverblue” and flatpak), it doesn’t bother me as long as it remains a very separate version (i.e. not the “normal” version of Ubuntu).

Ideally, the consumer version of any linux distribution should not have a preinstalled universal package (snap/flatpak).

For me, here is the order of preference to follow when you want to install software under Ubuntu:

1/ From the official repository (deb package in Ubuntu repositories):

sudo apt install package

If this is not possible, then:

2/ Check if there is a stable/maintained PPA repository for this software (or a repository provided by the software publisher)

sudo add-apt-repository ppa:…

If this is not possible, then:

3/ Check if the software exists with Snap

sudo snap install package

If this is not possible, then:

4/ Check if the software exists with Flatpak

sudo flatpak install package

If this is not possible, then:

5/ Search on the official website of the software if there is a compatible deb package

sudo apt install ./package.deb (or sudo dpkg -i package.deb + apt -f install)

If this is not possible, then:

6/ Check if the software exists in portable format “AppImage”.

sudo chmod +x package.AppImage && ./package.AppImage

If this is not possible, then:

7/ Check if there is a script (.sh or.run for example) to install the software

sudo chmod +x script.sh && sudo ./script.sh

If this is not possible, then:

8/ Compile the software yourself and install it

./configure; make; make install (cf read me)

If this is impossible or if the software does not exist at all for linux then:

9/ Emulated it with wine/playonlinux

If the emulation does not work

10/ Install it in a Windows virtual machine (virtualbox/vmware)

2 Likes

The problem of showing permissions is a use case for new users who install snap packages, many don’t know that that application cannot access external drives if it does not enable the permission, so it can make the application look broken .
For example on Android when the application wants to access contacts, a window is shown where you can give permission, on snap could a similar thing be done?
I often recommend snap packages and explain to users how to manage and where to manage permissions, but surely not all users have the right information.

1 Like

This is what I see in gnome software center (well really the ubuntu software center) in 19.04:

gimp-permissions

After clicking install there is a clear “Permissions” button which when clicked presents the various interfaces.
This seems pretty clear to me after installing an application, do you think this is insufficient?

Perhaps you mean prompting the user when the application tries to access something instead of from the install manager, etc.? There is also an upcoming feature for prompting the user when an application triggers a denial, but this is further off because that requires work in upstream AppArmor which I think is planned but still probably a ways away at this point. With prompting, when an installed application tries to access something the user would be shown a prompt about needing to connect an interface (i.e. give a permission), which is closer to Android I think.

3 Likes

Indeed, and your contributions are very much appreciated. Bug reports with actionable data, and bug triaging, are two of the many ways there are to make a positive difference. Thanks for that, and keep it up!

3 Likes

Couple of things I’d like to see in 20.04 (or 20.10):

  • GUI tool for managing which kernels are installed
    • and the option to go for mainline, too
    • Some are advanced enough to know what to do, but would prefer to not go through CLI
  • Improved Snap permissions where there’d be a popup asking if they want that application to use a specific permission (with options for one-time, for a certain duration, or forever), similar to iOS and Android.
    • Would be very useful with removable devices

Oh, and I noticed that some are bashing on the fact that some OSS, ike Firefox and VLC are packaged as Snaps. Dunno if anyone mentioned this, but Canonical didn’t package them, but Mozilla and VideoLAN themselves, respectively. Just wanna mention this to those who straight-up assumed it was Canonical/Ubuntu who did that.

2 Likes

Also those said permission can be modified in GNOME Settings. :slight_smile:

2 Likes

We are not designing the Ubuntu desktop for you. We’re designing it for the next thousand, million…

Expecting Step one of installing new software to be:

“open a terminal and type command”

Is absolute madness.

Users absolutely should not care what packaging format is in use. Do you honestly believe 75 million people per quarter know that on a Samsung phone they are installing apk file? Do they “adb push” an apk to their phone? No. They smack a button in a store with their finger. Same for Apple iOS, same for the Windows App Store, MacOS store and so on and so on.

Designing for people who used Unix 40 years ago is not the way to succeed. Please stop suggesting it is.

All of the rest of your steps are equally if not more insane. Please take a step back and re-think the way you think human beings use computing devices, not the way you use them.

8 Likes

Me too - almost 70. :slightly_smiling_face: There is one regular on the debian-users e-mail list, who’s in his 80s and doing CAD and machine milling with his distro. Imagine that!

4 Likes

This is misleading though. Every GNOME developer strongly suggests to use flatpak only. If you install an application from Gnome software the first suggestion is flatpak and Elementary is moving to install flatpak only.

And again, you are ignoring the point of pre-installing some snaps, so this is an endless talk. You just want to have the last word, because evidently the desktop team already said that, unless for specific problems, the pros are more than the cons, and they are working on the latters.

2 Likes

When I say that first of all you have to install the deb package from the official repositories, this is obviously also the case for beginners but when I gave as an example “sudo apt install…” it’s to illustrate what it looks like on the command line but if a novice doesn’t want to use the terminal, no problem, he starts “Synaptic” and installs his deb package graphically with synaptic for example or possibly gnome software (even if objectively, Synaptic is a better graphic package manager than Gnome Software for deb packages)

However, when you know how to use the terminal, it is easier, more convenient and faster to install software via the terminal than with graphical software. Personally, it wastes my time if I have to go through “Gnome Software” or the excellent “Synaptic” but i can understand that a beginner uses these programs if he doesn’t master the linux commands.

Okay, we finally get to the point.

5 Likes