Disable gnome software at start up in Silverbue 43 - What did I do wrong?

I used to disable gnome software at start up creating this file:

~/.config/autostart/org.gnome.Software.desktop
[Desktop Entry]
Type=Application
Name=GNOME Software
Exec=/usr/bin/gnome-software --gapplication-service
OnlyShowIn=GNOME;Unity;
NotShowIn=Budgie
NoDisplay=true
X-GNOME-Autostart-enabled=false   

That won’t work on Silverblue 43 beacuse now it is starts as a service in:

/usr/lib/systemd/user/gnome-software.service

I had no idea how to overwrite or how to disable it so I created this file since I use syncthing as service too.

~/.config/systemd/user/gnome-software.service
[Unit]
Description=Syncthing - Open Source Continuous File Synchronization
Documentation=man:syncthing(1)
StartLimitIntervalSec=60
StartLimitBurst=4

[Service]
ExecStart=/var/home/user/.local/opt/syncthing/syncthing serve --no-browser --no-restart --logflags=0
Restart=on-failure
RestartSec=1
SuccessExitStatus=3 4
RestartForceExitStatus=3 4

# Hardening
SystemCallArchitectures=native
MemoryDenyWriteExecute=true
NoNewPrivileges=true

# Elevated permissions to sync ownership (disabled by default),
# see https://docs.syncthing.net/advanced/folder-sync-ownership
#AmbientCapabilities=CAP_CHOWN CAP_FOWNER

[Install]
WantedBy=default.target

It works, now gnome-software.service starts at boot and it loads syncthing instead of gnome-softare.

Is there a better/cleaner way to do this?

Edit: This is incorrect, see my post below. I am leaving the original text here since knowing about preset files may be useful for somebody else.

Most likely, check out man 5 systemd.preset.

The preset files determine which units are enabled or disabled by default. I currently don’t have a Silverblue system to check it out, but I think the presets for it should be in /usr/lib/systemd/user-preset/.

You should be able to create a new file /etc/systemd/user-preset/70-disable-gnome-software.preset with the content

disable gnome-software.service

Make sure that you choose a priority number (I used 70 above, but that was just a guess based on the preset files I have on my Fedora KDE system) that is lower than whatever preset file in /usr/lib/systemd/user-preset/ enables gnome-software.service.

Are you wanting to not utilize gnome-software or just not have it startup when you login?

Actually, turns out I assumed wrong and this isn’t the way to go.

I just spun up a Silverblue 43 VM, which I wanted to check out anyway. In Silverblue 43, gnome-software.service is not started as a preset, but by a Wants= entry in the drop in file /usr/lib/systemd/user/gnome-session@gnome.target.d/gnome.session.conf:

~ > systemctl --user show gnome-software.service
[...]
WantedBy=gnome-session@gnome.target
[...]
~ > systemctl --user status gnome-session@gnome.target
● gnome-session@gnome.target - GNOME Session (session: gnome)
     Loaded: loaded (/usr/lib/systemd/user/gnome-session@.target; static)
    Drop-In: /usr/lib/systemd/user/gnome-session@gnome.target.d
             └─gnome.session.conf
     Active: active since Sun 2025-11-02 16:22:01 CET; 37min ago
 Invocation: cdc91266a03b4a3283e33535ee789a00

Nov 02 16:22:01 fedora systemd[2640]: Reached target gnome-session@gnome.target - GNOME Session (session: gnome).

You should be able to override this file with a modified copy in /etc

~ > sudo mkdir -p /etc/systemd/user/gnome-session@gnome.target.d/
~ > sudo cp /usr/lib/systemd/user/gnome-session@gnome.target.d/gnome.session.conf /etc/systemd/user/gnome-session@gnome.target.d/
~ > sudo nano /etc/systemd/user/gnome-session@gnome.target.d/gnome.session.conf # <- remove or comment out the 'Wants=gnome-software.service' line

There is a chance, though, that /usr/lib/systemd/user/gnome-session@gnome.target.d/gnome.session.conf gets updated in the future and this update isn’t picked up on your system because you have a higher priority file in /etc/systemd/user/gnome-session@gnome.target.d/. I don’t know how to avoid this, since AFAIK you cannot just use another drop in file to remove one specific Wants= entry from a unit. Maybe somebody else has a solution for that.

1 Like

You can also mask the service, which has some other consequences.
systemctl --user mask gnome-software.service but then you have to make additional changes to the desktop file to get it to launch or just run it from the command line.

Desktop file changes:
cp /usr/share/applications/org.gnome.Software.desktop ~/.local/share/applications/
edit the file in ~/.local/share/applications/ with your preferred editor.
Remark Out (put a # in front of it) the line with:
DBusActivatable=true
or
set it to
DBusActivatable=false

If you’re not going to use it at all it’s probably easier to just remove it:
rpm-ostree override remove gnome-software-rpm-ostree gnome-software

With any of these changes you’re losing automatic updates from software.

FYI, this was a change for gnome 49:

so the same problem will exist on workstation.

2 Likes

This is not really an answer to your question, but I wonder why do you want to prevent GNOME Software from starting up? Is it because you don’t want to use it at all?

I am on Silverblue as well, and while I was updating it from the CLI at the beginning, via rpm-ostree upgrade and flatpak update commands, now I rely on GNOME Software to carry out the updates seamlessly in the background.

However, if you want to disable automatic updates, you can do that in the app’s settings, and you can also disable update notifications with:

gsettings set org.gnome.software allow-updates false

(There was a bug in GNOME 48 which prevented properly disabling update notifications, but it should be fixed by now in GNOME 49).

I don’t use it. I have automatic updates stage and a script for flatpak apps. One thing less running in my computer. It delays start up, waste RAM and it is (was) slow to run.

1 Like
1 Like

Got it. Makes perfect sense then.

FWIW, according to the GNOME 49 release notes, GNOME Software received some performance improvements. I have noticed such improvements myself after rebasing to Silverblue 43.

I tried that and It didn’t work. It still started at boot.

It did work, sorry. What consequences are we talking about?

Yeah, I noticed, now It starts a lot faster. But still, it uses 100% of CPU when running sometimes, checking for updates I guess.

1 Like

Thanks for your help I went with @grumpey solution just in case there is an update to the file you mentioned and it isn’t picked up on my system.

No automatic updates which it sounds like you have covered.

If you want to run gnome software you’ll have to do it via the command line or make a modification to the desktop file to get it to launch in gnome.

The modification is in my first post.

Thanks, that’s what I did. Gnome Softare launchs just fine with that.

Everything is working as I expected.

1 Like