Hacker News new | ask | show | jobs
by kzrdude 1551 days ago
The snap thing makes me want to switch distro (for work) from ubuntu. Unfortunately we have some benefits from using ubuntu as the common platform for less divergence from each other
7 comments

I personally use ubuntu and have used snap enough to get thoroughly burned and annoyed by it. Slow starts, no auto-update controls with bad defaults corrupting running programs, spammed mount points... (edit: see comment below for some limited controls to reduce the frequency of auto-updates)

But, unless I'm missing something about latest or future releases, isn't it still optional? Can't you use apt instead and uninstall snapd altogether?

I'd agree that needing to uninstall instead of opt-in is an annoyance, and that user-hostile actions tend to be a slippery slope..

> But, unless I'm missing something about latest or future releases, isn't it still optional? Can't you use apt instead and uninstall snapd altogether?

There seem to be more and more things that are only delivered as snaps.

I haven't used Ubuntu on the desktop in a while (and even then, it was just trying it out), but I remember that trying to apt install <something> would say "use the snap". I think LXD is in that case, for example.

I recommend Fedora to everyone wanting a desktop alternative to Ubuntu. It's a well-balanced distribution that is opinionated enough to work fine as-is but doesn't try to force things on you the way Ubuntu does with snaps.
What DEs are common/supported on Fedora, I use KDE (Kubuntu), I'm not keen on snaps and so it seems expedient to switch distros when I next install (as it seems Ubuntu are all in for snaps).
You want Kinoite: https://kinoite.fedoraproject.org/ it's Fedora's equivalent of Kubuntu. I'm a GNOME user but I've heard good things.
Well, this is a KDE variant of Fedora Silverblue, so there are some quirks. If you want normal Fedora but with KDE, there is a KDE spin available: https://spins.fedoraproject.org/kde/
Gnome is the default and there's a KDE "spin", but I use Sway myself so I can't really comment on how well KDE works.
I can't do that because I don't want to update every 6 months. If I wanted to do that I'd just move to arch/endeavour.
You don't _have_ to update every 6 months. Each release is supported for around 13 months so you can hop every 2 releases.
> There seem to be more and more things that are only delivered as snaps.

I'm on Ubuntu, and of all the software I use (I count around 20 programs installed not through the Ubuntu apt repositories), fortunately only two are available only on snaps - Chromium and Subsync. The first actually accelerated my move to Firefox.

Regarding Subsync, I had to write a ridicolous script to start/stop all the snap services - ridicolous because Snap has an integrity service that overwrites any change to the Snap system (!!), so one can't even hack the Snap system files without disabling such service. It actually gets worse - Ubuntu has a relatively tight intergration with snap: one can't have the `snapd` serviced disabled (without hacks), because the Ubuntu software upgrade invokes it if present, and if it's disabled, the upgrade will hang.

If Ubuntu will force more software to go through Snap, I'll abandon it (after many, many years).

Yikes! I fortunately haven't run into this yet. There are very few cases where I would take the easy road and install a snap (maybe a one-time use CLI where performance doesn't matter and I'd uninstall after?). If not in apt I'd probably ignore the suggestion and look for a ppa, binary, or, in rare cases, compile from source.
Firefox is only available as snap now. I gues it's bthe same for other apps.

For VSCode I managed to download a deb from their site IIRC, but from apt it only suggests to download from snap.

Interesting. Firefox on snap was an absolute nightmare. Not only would New Tab break after an update, fonts would break as they may be (re-)loaded from disk which becomes missing when the app gets remounted at a new mount point after an update. I forget which hoops I had to jump through, but I did finally find a non-snap method that allows me to manually update (or dismiss prompt) to get around these issues while staying up to date (~1 day)

VScode wasn't as bad, as it usually seemed to work (but maybe flaky plugins were actually caused by snap?) but it was certainly annoying to lose the ability to switch between windows of the same app (alt+~, I think this was a custom setting to resemble mac) if the latest window/project was opened as a new version of the app (alt+tab)

FF has been driving me crazy lately.

Every other day it blows away all my open tabs and whatever I had going on in them.

I have a bunch of random tabs open, some with essentially "unsaved work", like shopping carts which may be the result of an hour of research, editing files in web interfaces like github or fluidd (web interface to a 3d printer) ... and randomly once every day or 3, I'll go to touch anything, any button in any of those tabs, like edit that config file some more, or try to save it... and kablooey, "firefox needs to restart" and I lose everything I had going.

This is a new thing that didn't used to happen.

Apparently the snap teams response to this story would be "Don't use FF like that."

I have a similar situation.

The issue here is that the apt update changes firefox program files underneath it which needs a restart. Afaik, using the mozilla release directly is the only solution for this where the program files are changed only after exit.

Edit: This has become more common nowadays due to multiple point releases close to each other, to fix some important bug.

What, where is firefox only available as snap? I'm on Ubuntu 20.04 so haven't run into that yet.
flatpak is a great alternative and it works well on ubuntu. Although I've just moved wholesale over to pop_os with flatpaks and LTS version.
> no auto-update controls

Maybe not what you want exactly but there are controls and claiming otherwise is misleading.

https://snapcraft.io/docs/keeping-snaps-up-to-date#heading--...

Thank you for this. Severely limited controls are certainly better than no controls. Looks like timer can reduce breakages to no more than monthly, hold can prevent breakages for up to 3 months, and metered seems like it may be able to disable updates and subsequent breakages if I can figure how to trick the OS into thinking I'm always on a metered connection (which is actually true, but I'm on LTE via wifi)
We switched over to Fedora, way better
Both Fedora and Mint are touted as the "new Ubuntu." Mint even has a Debian fork experiment going on.

For work, keep in mind that Fedora defaults to SELinux and a firewall. That's is a huge bonus when approaching IT about a switch.

I'm switching to debian my next install. It's similar enough internally
For a personal desktop, I wouldn’t recommend it unless you’re willing to run sid, because while the outdated software collection is no big deal most of the time, it’s a tremendous pain when you really do need a new version of something, and you ultimately just give up and instal the whole thing from source into /usr/local, which in a half-dozen years predictably evolves into a mess.

Running sid is an option, but the amount of fiddly Debian magic you end up needing to learn when it breaks is IME not smaller than the effort of setting up a mostly-unpatched rolling-release like Arch (and I’m sure there are other options). Given that e.g. Arch’s packaging is simple enough it’s no big deal to package even your personal collection of handy scripts (and so the system does not develop funny-looking mold and bits of mystery food all over the place), I don’t really see the point. Just don’t update it when you’re on a deadline.

You can see that my arguments here are to a great extent a matter of preference and personal circumstances, though: do you have a reliable Internet connection for troubleshooting? do you prefer a more solid system that you have to fight and that fails badly but rarely or a less solid one that fails more often but in small ways? does getting locked out of the graphical environment every couple of years count as small?

(Offer not applicable on machines with cursed hardware like nVidia or Broadcom.)

I've been using Debian stable on the desktop exclusively since Etch (around 2007). I strongly recommend it for someone who is always busy and doesn't have time to fiddle around. I run Sid in a schroot for the one package I need which is not in backports (a recent R for RStudio. Reference: http://charles.plessy.org/Debian/debi%C3%A2neries/r-4.1/ ). Debian stable relieves all the pain of the frequent breakage (CUPS) from constant unnecessary upgrades.
personally I recommend debian "rolling testing" (rather than pinning to a specific release name) with security updates from sid. this prevents all but the most subtle bugs from reaching you and you still get the new hotness within a few weeks of sid. there is a release freeze for a few months prior to the each stable release, but I've had no major issues from that.

the other subtlety is that security updates come later to testing than they do to either stable or sid, but this can be mitigated: https://gist.github.com/khimaros/21db936fa7885360f7bfe7f116b...

I suggest pop_os if you like ubuntu but are tired of stuff like snaps and such, but still like the idea of an LTS
I switched many years ago. I make heavy use of Flatpaks, which are great, although they have a lot of unlocked potential still. dnf installs regular-old packages, as opposed to Ubuntu, where apt packages now install snap packages.

Debian or Fedora should become the new default recommendation. Debian probably fits better for novices, since Fedora doesn't have non-free packages out of the box.

Debian and Fedora have always been my two recommended distros for people. They are the upstream providers of the packages for most distros, and in the case of Ubuntu it has always been a bad choice.

Even from day one, forking Debian and breaking a bunch of packages as they went off on their own, then years later going oops how do we fix this Daddy Debian? Adding Amazon to their search by default in Unity initially. Creating a new desktop protocol to replace X11 rather than work with the Wayland teams so they could rush to ship their phone that nobody wanted.

Canonical is just a good marketing company. They want to do things their way and screw over as many Linux developers as they can to get their way.

If you're a programmer I'd say Arch or Debian then configure as per your needs. As long as you don't do things blindly it will be very stable and blazing fast.
In my experience, Manjaro is a great, user-friendly version of Arch. YMMV, but I highly recommend it!
I used to be a pretty hardcore Manjaro evangelist (and I still recommend it to people who want to quit distro-hopping), but I've been burned a handful of times by it. Arch is obviously a notoriously unstable distro, but Manjaro in particular can lead to some nasty issues. Especially if you're mix-and-matching AUR packages with the Manjaro repository ones; I've had at least 3 or 4 systems get entirely borked because of an untracked dependency or something being too far behind in the Manjaro repo.
I think manjaro suffers breakage too much. These days I tell people to look into endeavour since they still use (mostly) arch repos and thus cause much less breaking with the using AUR packages if you're into those.
Second this!
Pop!_OS is a solid Ubuntu-based distro that uses Flatpak in place of Snap (among many other great decisions).
Because they support hibernation? I assume the answer here has to be "because it's a PITA to enable", but as far as I know no distro does this correctly by default on an encrypted drive.
> because it's a PITA to enable

I went over the blog post, and it looks like it's a PITA to enable because they went out of their way to make it so by using a weird partition scheme. I've never installed pop OS, but according to that blog they're using LVM on LUKS, which should work fairly well.

> but as far as I know no distro does this correctly by default on an encrypted drive.

What does "correctly" mean here? On my previous laptop I had arch installed on ext4 on LVM on LUKS. Therefore, the swap was on the same LVM. Aside from having to manually set the "resume" kernel parameter, I never had to do anything, and it just worked.

Because it's a pain in the ass for what should be the default, especially if you want to use it on a laptop and not have the battery die overnight.
Some argue full disk encryption should be the default. Others argue hibernation should be the default. Here they appear to be in conflict, and that the former was prioritized.
But they're not. You can very well have the swap on top of LVM on top of LUKS. And the root and other partitions share that same LVM and LUKS. So now you have FDE and the kernel will know how to assemble it all. The only difference with the default pop OS install is that the swap key isn't changed on every boot. But since the other partitions holding the actual data use persistent keys, that doesn't look like much of an issue to me.

Plus, if you're OK with using a TPM, you can also get waking up from hibernation without having to enter type in your password.

Source: been doing exactly that (without the TPM part) on a laptop for a few years, and it just worked like a charm. No hoop-jumping involved or anything.

I really liked my System76 laptop until the AC adapter died. I looked around on their site to buy accessories and it wasn't there. Eventually I found you have to open a support ticket to get a replacement.

Not only did it take multiple days for them to respond (me without laptop), their resolution was to attach an invoice for one despite me asking for two. I didn't want to open a new ticket so I just looked online for an AC that had the same voltage/amp/etc and head, then ordered three. I have multiple desks...

The three arrived approximately a week before the one they sent out.

Also, you can't actually open these the way they've glued them shut inside by attaching the heatsink to the outer case. Might be a manufacturing defect but definitely can't open mine after unscrewing the bottom.

Never buying a System76 laptop again after this thing dies.

That's fine, but my system boots so fast that hibernate is slower. Pop_OS is a very nice distro, particularly the LTS.
Try one of the variants like Pop_OS! they use flatpaks as a replacement for snaps and it works well. I've moved all my ubuntu systems over to it without any issues. The KDE version is nearly as nice as the stock version (looks-wise) if you're a KDE person, which I am.
I would love to switch to something else (e.g. NixOS) but Ubuntu is the required OS for NVidia's Jetson family of hardware.
You can use the Jetson with Docker! It's a total pain in the ass though. Their drivers and software are horrible.
Ok, thanks. Does it give access to the GPU?
Yes, if you run the container with the right options. This is a little out of date and may not even be required any more, but it gives you the full SDK manager gui in Docker.

https://github.com/raffraffraff/nvidia-sdkmanager

Maybe look at Mint?