Why doesn't apt handle "snap refresh firefox" duties?

I was booted in Lunar Lu earlier today and when I logged in, after a couple of minutes there was the notification, “you need to refresh snap or firefox will eventually stop working”??? something like that . . . requesting attention.

I ran apt and there were 93 packages to upgrade, did that, and then I ran the separate command to “refresh firefox snap” . . . . The question is if snap is now included in the Lubuntu system, why do we have to run a separate command to refresh snap, rather than just letting apt handle it??

I can understand why end-users would appreciate this, but a distribution of GNU/Linux such as Lubuntu is made up of many components that come from different sources, ie. different streams.

apt or our deb package tools come from upstream Debian (on Ubuntu – Details of package apt in lunar you’ll note it refers to upstream Debian where the mailing list is Debian you may note).

Snap however has no upstream, originating at Ubuntu (It’s possible for you to see Lubuntu as downstream of Ubuntu I guess; I see Lubuntu as a Ubuntu product just built from a different seed file thus different set of packages on our ISO)

One purpose of Ubuntu developers is to keep the deltas (differences) of our code as close to none as possible [with upstrea]; for Ubuntu to add code that handled snap packages as well, would work against keeping delta minimal unless that code could be pushed upstream (Debian doesn’t default to snap thus it would make no sense for Debian to carry that code currently).

The alternative to this, would be an additional front end tool that end-users could use, that dealt with the deb package tools PLUS snap package tools in providing the upgrades with the one interface. We do have some software tools that do this for installing packages (plasma-discover etc) but not really for updates. It could be created, though I’m not sure how popular such a tool would be. Would you use such a tool if created? (I’m not sure I would)

Myself, I close down my browsers before I suspend this box each night; and on waking the system I perform upgrades (which includes a snap refresh when I remember!) before I restart my firefox (for most sites) or chromium (for some others). If I forget it (and notice the warning nags on a screen, which can include telegram-desktop I don’t shutdown overnight), I’ll usually ignore it until the next morning, unless I’m at a point [during the day] where I can close down those snap apps, perform refresh then re-start them.

2 Likes

Thanks for the detailed reply . . . I was thinking that my Sys76 laptop that runs Pop_OS! . . . “downstream” of ubuntu as well . . . didn’t have any snap refresh involved . . . . But, they do have “flatpak” but the command is simple, something like “flatpak update” . . . doesn’t even need “sudo” . . . . : - )

snap refresh

doesn’t require sudo either… If you don’t execute it with sudo, you’ll be asked for your password in order to elevate privileges.

2 Likes

Personally, I would definitely like a tool that handled apt and Snap updates all in one thing, especially if it could tell me “close Firefox and then I’ll update it right now”. The other day I set up a Lubuntu system for someone who wasn’t very tech savvy, and chose to remove Firefox entirely and install Google Chrome instead so that they wouldn’t have to work with the Snap update message and the terminal-based workaround.

Something like this could probably be put into lubuntu-update-notifier I bet. It definitely won’t be in 23.04 due to Feature Freeze (we’re working on bug fixing and stability at this point for 23.04), but it’s on my might-look-into-this list for 23.10.

4 Likes

Consider that if Firefox is removed then “sudo apt install firefox” will get the latest Firefox snap installed .There is absolutely no reason an apt package that updates the snap can not be easily created and maintained.

These types of completely obvious missing features/issues really make me question Canonical’s priorities. The desktop seems like an after thought which I guess I should expect as the money is in cloud and embedded … not the desktop. Hmmm why did it take many months after an official release to get the Firefox snap to start in a somewhat reasonable time?

I can’t believe I’m typing this but even Fedora (yea those crazy workstation releases which are really rolling releases) seem more polished these days than Ubuntu Desktops. I had absolutely no issues with Fedora 38 beta. I think my days here may be numbered.

2 Likes

I could not agree more with thetick. But, I do not have sufficient right anymore to comment too much on either Ubuntu or Lubuntu. Seems his message is almost the announcement of doing a runner.

I’ve been there already. Tomorrow will be exactly the hundredth day that neither my desktop PC or walk-around-laptop is running Lubuntu.

I am not a big fan of the current Ubuntu desktop, but Lubuntu (and its underlying Ubuntu-OS) is an excellent LXQt-distribution. I have been using Ubuntu since Maverick Meerkat (10.10) before I switched to Lubuntu (since 13.04).

Basically, not being too keen on snaps from a programmers and/or architectural point of view, last falI I’ve decided to look for alternative distros without Firefox and Thunderbird baked in as snaps, to name a few important ones. I had more snaps, and I never liked the snap technology. For the rest, Lubuntu has been perfect for me. So, I have been doing some looking around, just in case. I could write a very long story about the why, but I will not do that here.

The first alternative that suit my needs well (as well as Lubuntu did) is Debian 12/LXQt. No snaps. A second alternative that suits my needs as well is EndeavourOS/LXQt. No snaps.

Different systems. Both feel well. Since all my data lives in the cloud, or on disks that are not the same as the disk where the OS is running from, I’ve learned how easy I can switch from one working system to another freshly installed working system without data loss, or the risk of data loss. Usually in about thirty - forty minutes (including swapping Firefox and Thunderbird profiles). My beloved LXQt runs on many Linux variants. Maybe not as polished as on Lubuntu, but nice enough.

Hey, I can’t believe I’m typing this (too, sic) but even Fedora/LXQt might be my companion for a while in the future.

Why not? A few glances on the “apt-dnf-pacman-comparison-cheatsheet”…and I will feel myself at home again at the various OS-es, rapidly :stuck_out_tongue:

Tomorrow I will sit down on my hands a while, before I count to one-hundred. One-hundred-days-without-Lubuntu, but until now not without LXQt. Did I make the correct decision?

I’ve made another interesting discovery: until a few months ago my hardware was rather spartan. After an upgrade (to another budget laptop - 200 Euro, 2 cores, 4 GB ) It turns out that I am now able to run KDE Plasma rather well.

I can’t believe I’m typing this, but besides running smoothly, the latest Plasma desktop experience is rather nice. I am not looking for UI-consistency within every application (KDE offers many I will never use), but the overall Plasma experience is OK (certainly when using PCManFM-Qt and Qterminal).

Final words: the underlying OS (for me that will be limited to Debian/Ubuntu, Arch/EndeavourOS, and maybe even RHEL/Fedora or Gentoo) is not really that important anymore for me (or any average computer user I guess).

The rest is like biology. Some important existing desktop metaphors are getting unified more and more, others diversify. Some desktop implementations unify, others diversify. It is an evolutionary process.

As being an opportunistic prick, I cherry pick the best from all. For instance, I can only be productive on Plasma (or any desktop) with PCManFM-Qt and Qterminal. I don’t like the Gnome Desktop as a whole, but some of their applets or apps are great.

So, where does this all boil down. Great things I love from LXQt:

  • great and easy to configure panel application
  • excellent terminal program
  • superb file explorer
  • good enough sound mixer application
  • and many small things

I have stopped using you Lubuntu, but I will continue looking at you! It was a pleasure using your system. I’ve seen you and LXDE / LXQt evolve to a very nice product.

Team, keep up the good work, and please, please, surprise me again in the future. Most likely in a parallel desktop universe!!

1 Like

I have seen discussion on the Lu list-serve where “feelings” about snap and how to get it off your system were discussed. I don’t have any particular feelings like that, if it provides some “service” to the system, and/or I do use Firefox so if it helps FF do it’s thing I’m OK with it.

Point being, if it is now “part of the system” why not update it “with the system”???

My answer to the “must be moving on” guys is, I do multi-boot bare metal installs to provide a “freshness” to my daily driver . . . right now I have 7 distros on my desktop, each day I click go on another system. Yesterday was Lubuntu Lunar day . . . I have been with Lubuntu since the PPC days of “linux on PPC Macintosh” . . . roughly '07 . . . .

I tried to add Fedora into the mix, but the installer doesn’t seem to be able to handle multiple partitions with any sophistication, same with Mageia . . . . But, I do have Debian Sid and Bookworm running, something to be said for that system . . . as of late Manjaro has been my fantasy squeeze system, very efficient, rolling updates in bite-able package numbers . . . very few problems to deal with, etc. Lubuntu is “the friend that has been there from way back,” hard to let that go, no reason to. Once a week we get together and talk . . . . : - )

1 Like

Absolutely no reason that you can see. As a packager who is familiar with the limitations of apt packaging and the Snap CLI, what you’re suggesting here is actually significantly more difficult to implement than you might think for more than one reason.

Theoretically, yes, for each update of the Firefox snap, an update of the Firefox apt package could be released alongside. And theoretically, yes, it would be possible for that updated apt package to run sudo snap refresh firefox. And if Firefox is entirely closed when this happens, everything’s peachy.

When Firefox is not closed, things get more complex. What the package could do at this point is look for any running instances of Firefox and close them, then run the update. But that would result in data loss if the update happened while the user was actively doing something or had unsaved work open when the update occurred.

So now what? The apt package could simply silently not update Firefox… but then the apt package and Snap package would be out of sync, and the Snap would still be nagging the user to update it. Then what was even the point of the apt package?

The natural next idea would be to prompt the user to close all Firefox windows for the update to continue. This is dynamite in theory, but in practice it only covers a single edge case - a single-user desktop machine with no remote users. So what do you do with the person who has a mainframe with multiple users logged in, each of whom uses Firefox remotely? How about the scenario when Firefox is in use in headless mode with a script commanding it? The machine with Firefox running might not have a GUI. It might not even have a user interface at all beyond an SSH server. Shoot, it might not even have that.

Something has to be done with all of these edge cases, and catching them all gets increasingly hard, maybe even impossible to deal with in a safe and sane way. In the worst-case scenario edge case here, the machine would be entirely unable to prompt the user, leaving the following list of unsatisfying alternatives (that I can see):

  • Kill Firefox and update it. Not safe.
  • Let the apt and Snap packages get out of sync. Confusing.
  • Fail the upgrade entirely so that the sysadmin has to do something about it. Could work, could be catastrophic depending on how hard it is to get into the system in question.
  • Abandon the idea of a synchronizing apt package entirely and just have Snap updates fail if Firefox is open. That’s the situation we have now.

Of those alternatives, the last one is the safest.

Does this mean that this is the best we can do? No, but it’s the best that we can do on the level of the packages themselves. A more high-level solution needs to be devised to make things decent here. And if you see how swamped our teams are with work, you’ll know why this solution doesn’t exist yet.

That’s actually not Canonical’s fault. I’m unsure about the details, but from what I understand, Mozilla came to Canonical and basically made them change the package to a Snap. It’s something Mozilla wanted. I’m not sure if Canonical would have been allowed to distribute Firefox legally any longer had they not done so (after all, they are shipping Mozilla’s trademarked property such as the Firefox logo).

If that’s what you’d like to do, that’s fine. I personally dislike Fedora due to their decisions around patent rights, resulting in certain open-source code being rejected and hardware features being disabled in some instances. I know they’re just doing what they feel is safe, so I can’t really blame them for it, but it still doesn’t change that I’d rather use Ubuntu.

3 Likes

Obviously there are complications with any decision . . . just out of curiosity, because I run Firefox in all of my multi-boot installs, and it is only in Lubuntu do I get these “you must upgrade snaps right now or your system won’t be fresh anymore” notifications . . . .

So, right now I’m booted in Pop!_OS . . . which is a veneer on Ubuntu . . . and in Firefox . . . most of the time. I just ran “snap” in Synaptic and I see there are options for various snap packages for chromium and firefox, but they aren’t installed . . . .

Seems like the only snap package that is installed is 1.6-0ubuntu snapd library . . . . Somehow they are running FF and it’s all up to snuff . . . . I run apt and every once in awhile I run the flatpak update which seems to only handle chromium upgrades . . . FF seems to be under apt???

I don’t mean to come off as arrogant but I really don’t buy your argument. I’ve been a Linux user/developer since '95 including building custom Linux embedded systems. In many cases I was the first one to boot a Linux kernel on various prototype embedded systems. I actually have not packaged snaps but have decades of experience automating building custom packages, kernels and boot images many in a commercial environment.

I don’t see how the details you laid out for snaps are any different then apt/debs ? They all have these corner cases. It’s just what you have with any package manager whether it is apt/deb, snaps, dnf/rpm or even package management as obscure as installp on AIX.

I’m not anti-snaps as they can be very nice to patch embedded systems and servers. Snaps have their place but I personally don’t like them on my desktops. Though I’m very happy for security reasons my Mom’s shinny new laptop has the Firefox snap installed. :slight_smile:

The main Firefox performance issue with snaps was dealing with language translations. Again if Canonical took the desktop seriously like actually doing some testing on “common” low end machines used worldwide their devs would have found the issue very early in testing. But no they only seem to test with the latest high end name branded hardware. I guess this is expected as the Microsoft money to make WSL smooth and impressive well can only be tested with latest hardware. So let’s blame Microsoft !

I have read the common stated story Mozilla asked for snaps. But honestly I don’t know but all Mozilla did is make more work for themselves as they still make deb packages anyway Hmmm I would be more inclined to think Canonical asked or paid Mozilla for snaps. Gee also none of the other hundreds of Linux/BSD distributions has an issue shipping with the Firefox logo ?

Anyway I’m very happy Microsoft gave Canonical a nice pile of money to help make WSL great. It really is a very polished offering. At work I use daily though I use the Fedora WSL distro.

I do have concerns about Big Blue’s lawyers restricting open source packages in Fedora, but right now it’s just a few extra install lines pointing to the rpm fusion packages. I need to use some ppa (mesa, mainline kernel) anyway with Ubuntu based OSes.

We can agree to disagree but I’ll be sad to leave Ubuntu. My employer has ditched all Ubuntu using Fedora for development and RHEL for uat and prod so I’ll likely follow in line with my personal use.

1 Like

My point was that having an apt package that was specifically for keeping the Snap package up-to-date would be complex and probably pointless. Again, it’s not that there’s not something that needs done, I just believe it would be better done on a level higher than the package manager, assuming that the Firefox Snap really can’t update without Firefox being closed. There’s better tools for the job here, and like I said, I’d like to look into making one of them happen.

2 Likes

Pop!_OS is to Ubuntu more like what Ubuntu is to Debian. It’s very significantly different than Ubuntu though it is based on Ubuntu. I’m guessing they probably are continuing to package Firefox as a deb package, since they don’t have the same agreement that Canonical and Mozilla have.

3 Likes

Nothing was inappropriate with my previous post to justify it being censored. This makes my decision to abandon Ubuntu easier. Last post. Later.

2 Likes

I’m running Lubuntu 22.04.2 LTS and once a week I run

sudo apt update && sudo apt upgrade

then I run

sudo killall firefox

then I run

sudo snap refresh

Takes but a few minutes.

That’s it.

2 Likes

Replied by email yesterday, didn’t seem to make it to the thread??

OK, yes, it’s only one more command . . . but after the apt upgrade, you don’t also run “autoremove” . . . “autoclean” and “clean”??? for good system hygiene?? I do . . . that’s where adding the additional “snap” refreshment gets cumbersome.

I’ve been using the terminal since my first days of using Linux so after running the updating and upgrading commands the commands to preform the system cleaning process comes without thought it’s just part of the normal routine just as is refreshing Snap packages.

I guess having a one button system to update and clean everything would be nice for some users.

I’ll stay with the old fashion way of just using the terminal as it ain’t no big deal imo.

This topic was automatically closed 60 minutes after the last reply. New replies are no longer allowed.