User Administration

Astute readers will notice that dubious suggestions regarding system administration keep popping up. Beware:

  1. Users may want to refrain from tinkering with configuration files owned by system packages.
root@linux-test1: ~
# head /etc/bash.bashrc
# /etc/bash.bashrc for SUSE Linux
#
# PLEASE DO NOT CHANGE /etc/bash.bashrc There are chances that your changes
# will be lost during system upgrades.  Instead use /etc/bash.bashrc.local
# for bash or /etc/ksh.kshrc.local for ksh or /etc/zsh.zshrc.local for the
# zsh or /etc/ash.ashrc.local for the plain ash bourne shell  for your local
# settings, favourite global aliases, VISUAL and EDITOR variables, etc ...

#
# Check which shell is reading this file

root@linux-test1: ~
# 
  1. User sessions are managed by user instances of systemd and users may want to rely on systemd commands to configure their sessions.

Upon user login several services are created from vendor configuration:

$ find /run/user/1000/systemd -type f
/run/user/1000/systemd/generator.late/app-org.kde.plasma\x2dfallback\x2dsession\x2drestore@autostart.service
/run/user/1000/systemd/generator.late/app-org.kde.kalendarac@autostart.service
/run/user/1000/systemd/generator.late/app-org.kde.discover.notifier@autostart.service
/run/user/1000/systemd/generator.late/app-geoclue\x2ddemo\x2dagent@autostart.service
/run/user/1000/systemd/generator.late/app-at\x2dspi\x2ddbus\x2dbus@autostart.service
/run/user/1000/systemd/generator.late/app-org.kde.xwaylandvideobridge@autostart.service
/run/user/1000/systemd/generator.late/app-org.kde.yakuake@autostart.service
/run/user/1000/systemd/transient/dbus-:1.52-org.a11y.atspi.Registry@0.service
/run/user/1000/systemd/propagate/.os-release-stage/os-release
/run/user/1000/systemd/inaccessible/reg

micha@linux-test1: ~
$ 

Discover notifications:

micha@linux-test1: ~
$ systemctl --user status app-org.kde.discover.notifier@autostart.service 
● app-org.kde.discover.notifier@autostart.service - Discover
     Loaded: loaded (/etc/xdg/autostart/org.kde.discover.notifier.desktop; generated)
     Active: active (running) since Wed 2025-03-12 12:36:02 CET; 2 days ago
 Invocation: 0acac270ac2a473188683fd88d105ccc
       Docs: man:systemd-xdg-autostart-generator(8)
   Main PID: 2202 (DiscoverNotifie)
      Tasks: 7 (limit: 38168)
        CPU: 2.035s
     CGroup: /user.slice/user-1000.slice/user@1000.service/app.slice/app-org.kde.discover.notifier@autostart.service
             └─2202 /usr/libexec/DiscoverNotifier --check-delay 20

Mar 13 12:36:06 linux-test1 DiscoverNotifier[2202]: packagekitqt.offline: Cannot process "org.freedesktop.PackageKit" as "org.freedesktop.PackageKit.Offline"
Mar 13 12:36:06 linux-test1 DiscoverNotifier[2202]: packagekitqt.offline: Cannot process "org.freedesktop.PackageKit" as "org.freedesktop.PackageKit.Offline"
Mar 13 12:36:08 linux-test1 DiscoverNotifier[2202]: packagekitqt.offline: Cannot process "org.freedesktop.PackageKit" as "org.freedesktop.PackageKit.Offline"
Mar 14 12:36:05 linux-test1 DiscoverNotifier[2202]: AppStreamIntegration: No distro component found for "org.opensuse.opensuse-tumbleweed"
Mar 14 12:36:05 linux-test1 DiscoverNotifier[2202]: packagekitqt.offline: Cannot process "org.freedesktop.PackageKit" as "org.freedesktop.PackageKit.Offline"
Mar 14 12:36:05 linux-test1 DiscoverNotifier[2202]: packagekitqt.offline: Cannot process "org.freedesktop.PackageKit" as "org.freedesktop.PackageKit.Offline"
Mar 14 12:36:06 linux-test1 DiscoverNotifier[2202]: packagekitqt.offline: Cannot process "org.freedesktop.PackageKit" as "org.freedesktop.PackageKit.Offline"
Mar 14 12:36:07 linux-test1 DiscoverNotifier[2202]: packagekitqt.offline: Cannot process "org.freedesktop.PackageKit" as "org.freedesktop.PackageKit.Offline"
Mar 14 14:04:44 linux-test1 systemd[1685]: app-org.kde.discover.notifier@autostart.service: Changed dead -> running
Mar 14 14:04:44 linux-test1 systemd[1685]: app-org.kde.discover.notifier@autostart.service: Changed dead -> running

micha@linux-test1: ~
$ 

Stop and mask unneeded service:

micha@linux-test1: ~
$ systemctl --user stop app-org.kde.discover.notifier@autostart.service 

micha@linux-test1: ~
$ systemctl --user mask app-org.kde.discover.notifier@autostart.service 
Created symlink '/home/micha/.config/systemd/user/app-org.kde.discover.notifier@autostart.service' → '/dev/null'.

micha@linux-test1: ~
$ 

Upon login start of service will be skipped:

# su - micha

micha@linux-test1: ~
$ systemctl --user status app-org.kde.discover.notifier@autostart.service 
○ app-org.kde.discover.notifier@autostart.service
     Loaded: masked (Reason: Unit app-org.kde.discover.notifier@autostart.service is masked.)
     Active: inactive (dead) since Sat 2025-03-15 07:28:16 CET; 3min 17s ago
   Duration: 2d 18h 52min 13.864s
 Invocation: 0acac270ac2a473188683fd88d105ccc
   Main PID: 2202 (code=killed, signal=TERM)
        CPU: 2.040s

Mar 15 07:28:16 linux-test1 systemd[1685]: Stopping Discover...
Mar 15 07:28:16 linux-test1 systemd[1685]: app-org.kde.discover.notifier@autostart.service: Child 2202 belongs to app-org.kde.discover.notifier@autostart.service.
Mar 15 07:28:16 linux-test1 systemd[1685]: app-org.kde.discover.notifier@autostart.service: Main process exited, code=killed, status=15/TERM (success)
Mar 15 07:28:16 linux-test1 systemd[1685]: app-org.kde.discover.notifier@autostart.service: Deactivated successfully.
Mar 15 07:28:16 linux-test1 systemd[1685]: app-org.kde.discover.notifier@autostart.service: Service restart not allowed.
Mar 15 07:28:16 linux-test1 systemd[1685]: app-org.kde.discover.notifier@autostart.service: Changed stop-sigterm -> dead
Mar 15 07:28:16 linux-test1 systemd[1685]: app-org.kde.discover.notifier@autostart.service: Job 483 app-org.kde.discover.notifier@autostart.service/stop finished, result=done
Mar 15 07:28:16 linux-test1 systemd[1685]: Stopped Discover.
Mar 15 07:28:16 linux-test1 systemd[1685]: app-org.kde.discover.notifier@autostart.service: Consumed 2.040s CPU time.
Mar 15 07:28:16 linux-test1 systemd[1685]: app-org.kde.discover.notifier@autostart.service: Releasing resources...

micha@linux-test1: ~
$ 

More: How to mask a systemd unit in Linux? - GeeksforGeeks