376

What's with 'Pending Update of Snap Store?'

enter image description here

4

11 Answers 11

547

There are a couple things happening.

First, let's talk about the EASIEST way to make the notification go away:

  1. Quit the application -- in this case, snap-store (a.k.a. Ubuntu Software). Since snap-store auto-starts upon login, you might not recall that you have it open...but you do.

    • Closing the window is not enough to terminate the application.

    • One way: On the command line, run snap-store --quit

    • Another way: Open Ubuntu Software, look at the top bar, find "Ubuntu Software" on the left side of the top bar. Click it, and select "Quit". enter image description here

  2. Run sudo snap refresh. Let the command complete.

    • If, instead of a refresh, you still get a pop-up that the application needs to be refreshed, then run sudo snap refresh <application-name>.
      The output of that command will return the PID causing the block.
      Use kill <pid> to remove the block.
      Run sudo snap refresh again. This time it should work.
  3. It's now safe to re-launch your application.

    • If you were not using the application before, or you don't know how to launch the application, then you can safely ignore this step.

Second, let's talk about WHY it's happening:

Snapd detects when a new version is available. If the application is currently running, snapd will inhibit updating that application for up to 14 days.

With most applications, this works fine. You Quit out of an application, a few hours later snapd updates the application (it checks several times each day). and the next time you open the application you don't even notice that it's been updated. Great!

But some applications are open for a long time that runs up against that 14-day window. Like web browsers on laptops that get closed/suspended instead of quit/restarted. Unfortunately, when the 14-day window expires, snapd will kill the application in order to implement the upgrade. To the user, this looks like Firefox crashed unexpectedly, losing whatever they were doing.

  • Snapd MUST refresh snaps. That's a legacy of the original design; snaps were originally designed for phones and IOT devices that MUST work reliably and MUST update reliably without user input. You can disable it if you know how...but it's a bad idea for most users -- disabling updates means no security patches and insecure applications.

Third, let's talk about why you are suddenly getting these notifications NOW.

The Snap developers were dissatisfied with those two choices (kill the application to force the upgrade -or- disable upgrades entirely), so they created a better path: Remind the user to Quit the application when convenient. That is the notification you are seeing. It's new (turned on by default) in Ubuntu 22.04.

  • If you ignore it, then when the countdown reaches zero snapd will terminate the application and refresh that snap automatically.

Finally, there's one obvious question remaining: Why isn't this automatic? or perhaps Why doesn't snapd download the update before nagging you?

Well, it IS automatic in Ubuntu 23.04 and newer. But that feature is too new for 22.04 users.

  • Most folks who encounter this issue simply have not used long-lived Snap-packaged desktop applications before. It's a known problem, and various developers are working on it. You are welcome to help them.
13
  • Comments are not for extended discussion; this conversation has been moved to chat.
    – andrew.46
    Aug 9, 2022 at 9:45
  • 2
    The key point here is very simple. snap will restart automatically if you quit it and it starts when you boot. It can't update a piece of sw when said sw is running. All these answers reflect that what needs to happen is that snap needs stopping and then you can use it from the cli to update itself. Alternatively, you could just leave it to its own devices and (I strongly suspect) after a week or two it will force update itself.
    – nerak99
    Aug 30, 2022 at 18:42
  • 37
    The application snap-store can be closed from the command line. Do $ snap-store --quit then $ sudo snap refresh will work.
    – Daniel
    Sep 11, 2022 at 15:46
  • 1
    Thanks for the answer. Pay attention when checking the pids, as some processes may be critical (e.g., the desktop environment). I just killed it
    – Thecave3
    Sep 14, 2022 at 8:09
  • 2
    @Daniel added your suggestion to the answer. Thank you!
    – user535733
    Sep 19, 2022 at 14:34
129

I had the same issue, the notification shows that the snap involved is snap-store.

If you run this in terminal, you will get a process ID (PID):

sudo snap refresh snap-store
error: cannot refresh "snap-store": snap "snap-store" has running apps (ubuntu-software), pids:
       2452

Then in the terminal kill that process and run it again:

kill 2452
sudo snap refresh snap-store

and it should succeed.

The currently highest rated answer suggests that you have this running or minimized, but it seems to me it is just running without a user starting it and it does not show running in the dock. It looks like a bug to me. As mentioned, it should fix itself after 14 days by killing the application, which may just be inconvenient if you're in the middle of using it.

Seems a work in progress, so perhaps some patience is in order, but if you don't have that, file a bug as described here: https://help.ubuntu.com/community/ReportingBugs

2
  • 2
    I assume it is always running when checking for snap updates. Maybe this is a deadlock and the update of snap-store should be handled some other way.
    – smido
    Sep 27, 2022 at 6:20
  • The bug has been reported here: snap-store can't be updated due to autostart . Please, go to the bug report and near the top click Does this bug affect you > Yes, it affects me May 11, 2023 at 12:51
51

Works for me:

  1. Kill "snap" at System Monitor
  2. sudo apt update && sudo apt upgrade
    
  3. sudo snap refresh
    
4
  • this is what worked for me. thanks! Jun 28, 2022 at 18:41
  • 6
    or killall snap-store Jul 1, 2022 at 4:34
  • 1
    would know all drugs used during snap development process Dec 21, 2022 at 11:17
  • 1
    Step 1: snap-store --quit
    – Danijel
    May 11, 2023 at 6:41
4
# Close all open `snapd` process
sudo killall -s KILL snapd
sudo snap refresh
3
  • 3
    IMHO might be worth to use -SIGTERM | -TERM instead of the KILL to allow the graceful shut down. Sep 8, 2022 at 20:44
  • 3
    If you need to update the snap-store snap then substitute snapd for snap-store for killall Sep 9, 2022 at 21:16
  • It is better to use quit command for snap-store: snap-store --quit, not to kill it. Then sudo snap refresh May 11, 2023 at 12:45
3

This worked for me:

sudo snap remove snap-store
sudo snap refresh
sudo snap install snap-store

I needed sudo in front of snap refresh to get it to work. This was the only option that worked for me. I also had to start Ubuntu Software app twice.

This also cleared a Snap Store pending update that could no be updated because the Snap Store was running.

3
  • 2
    I only needed the first line really
    – exebook
    Nov 30, 2022 at 8:32
  • This overkill, you just need to kill snap-store
    – Fuseteam
    Dec 7, 2022 at 21:20
  • @exebook I mean... technically that's true if you want the message to go away, but you're also removing the store entirely. Up to you I guess...
    – mpowered
    Feb 5, 2023 at 6:58
2

Close all apps in your Ubuntu. Open Ubuntu Software app, under updates section, update the apps one by one. This trick worked for me.

1

I solved the issue following these steps:

  1. log out from the graphical interface and start a command line session (CTR+ALT+F2 from the system login page).
  2. log in with your username and password and run sudo apt update && sudo apt upgrade and then sudo snap refresh.
  3. log out and start back the Ubuntu graphical interface (CTR+ALT+F).

I suppose that the issue is related to the gnome session which seems to run on snap.

1

In my case was a "Pending update of 'deja-dup" snap...'" so my two penny solution is open a terminal and type:

sudo killall deja-dup-monitor
sudo snap refresh
deja-dup&

(latest command runs deja-dup's GUI so that deja-dup-monitor is automatically restarted)

0

I'm using Ubuntu 20.04 and for me works:

sudo snap refresh snap-store

It will be downloading the necessary packages and at the end it should show you a message like:

snap-store (stable/ubuntu-22.04) 41.3-60-gfe4703a from Canonical✓ refreshed

I hope this helps someone else!

0

Please kill snap store first. Then run sudo snap refresh snap-store will be automatically updated.

1
  • 1
    snap-store --quit is the solution to leave snap-store
    – Mih Zam
    Nov 29, 2022 at 15:52
0

All you need is to refresh the snap store. First, you need to kill it using its pid.

You can get it by running sudo snap refresh, get the pid from the output message:

error: cannot refresh "snap-store": snap "snap-store" has running apps
       (ubuntu-software), pids: 7274

Run: kill 7274. Then, run: sudo snap refresh again. That's it!

To be more specific to the question, use sudo snap refresh snap-store, by defining the application name.

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .