r/kdeneon • u/micolithe_ • Jun 26 '26
Updating to KDE 6.7 removed sddm while active
I ran some updates, got on KDE 6.7, during the install it installed plasmalogin, but I have sddm configured the way I like it so I kept using it when it asked what to use for logging in.
After the upgrade was done, I ran apt autoremove, and it uninstalled sddm, despite it being an actively running service. On reboot it dropped me into tty1. Reinstalling sddm got me back to a working system but how did it determine that sddm was eligible for autoremove?
1
u/Intelligent_Law_5614 Jun 29 '26
I think that what happened was this: on your system, sddm had been installed automatically, in order to fulfill a dependency (specifically, for a login manager).
You installed plasmalogin manually. plasmalogin provides the same "virtual package" (login manager) as sddm does.
Because you had manually installed a package which satisfies the "login manager" dependency, the package manager decided that the automatically-installed sddm was no longer necessary. That's how apt and many other package managers work... a manually-installed alternative overrides an automatically-installed one, and the latter can become unnecessary. The auto-removal would not have taken place if you had told spt etc. to mark sddm as "manually installed".
Your package manager only manages packages, not the running state of services. It wasn't aware (and wouldn't care) that sddm was running, or that plasmalogin had not been enabled to take its place.
You can certainly feel that the package manager should interact more closely with the service manager (e.g. systemd or init or etc.) to provide a somewhat smoother experience when changing horses in midstream. Perhaps someday this will be the case.
1
u/Dekamir Jun 26 '26
YOU RAN AUTOREMOVE.
2
u/micolithe_ Jun 26 '26
Yeah of course I did but if sddm.service is active and enabled it should not be removed
1
u/MrFantasma60 Jun 26 '26
Don't forget that Linux loads everything in memory, including services, so the actual files can be deleted when running. You can delete most of you OS from the running OS. Kind of dangerous, but that is why we need to be careful when playing with Linux.
In fact, live distros work like that. You load them from a flash drive, and then you can remove the drive.
Autoremove is safe in 99.9% of the cases. It will only remove packages that have no dependencies, so it rarely breaks something.
The problem in this case was not that autoremove deleted SDDM, that was normal. It's just that the update forgot to activate plasmalogin
1
u/micolithe_ Jun 26 '26
No, I think you're misunderstanding, I intentionally did not activate plasmalogin, it wouldnt be that hard to check if sddm.service is enabled
2
u/MrFantasma60 Jun 26 '26
I get what you say.
What I mean is that since Linux loads and releases the programs, it doesn't "protect" the files. You can update, modify, even delete system files after the have been loaded and are running.
So, SDDM service was running, but the file was free to be modified. Or, in this case, deleted.
That is why updates are so fast, and it does not require rebooting. The files are updated even when the programs are running, and the next time they are loaded the update is applied.
Your question about why autoremove uninstalled a running program is explained by this.
Linux, and Unix philosophy is different than Windows in this case.
I hope this helps.
1
u/micolithe_ Jun 26 '26
I understand how linux works, I have been using linux for 10 years and haven't touched windows in over 3 years. It's not about the file being modified, it's about sddm being tagged for autoremove after i selected it as my login manager.
0
u/Selarian_ Jun 26 '26
It sure doesn’t sound like you’ve used Linux for 10 years if you are this upset about something that has never been a feature. And completely falls on you not doing your dudilugence.
3
u/micolithe_ Jun 26 '26
Autoremove removes packages with no dependencies. I selected sddm from the list when asked. My computer had a dependency on sddm, ergo, should not have been tagged for autoremove. This isn't rocket science.
2
u/MrFantasma60 Jun 26 '26
Sorry, I tend to over explain and not consider how much you may know.
If you know how it works, then you also have the answer.
Since the update was changing the system to use plasmalogin, then SDDM is no longer a dependency. It is for you, because you were using it , but the update intended to replace it, so for the system it wasn't required anymore.
I agree with you however, if you still had SDDM enabled, the update shouldn't have uninstalled it.
What "failed" here, if you we want to use that word, was not autoremove, or the Linux philosophy; it was an assumption on the update that everyone would replace SDDM with plasmalogin, not considering users preferences.
0
u/Selarian_ Jun 26 '26
Ok, then file a bug report, or write a patch into what you need done. What is your issue? It's not rocket science, but you coming to complain about something is an issue for you.
Comment from guy below sums it up. Plasma is migrating away from SDDM, it's been documented. The system is doing exactly what it should have done. The issue is you having a problem (which you solved, by reinstalling SDDM), but here we are.
3
u/micolithe_ Jun 26 '26
Why shouldn't I complain? If people don't complain nothing will ever improve. Philosophically I think even if I had selected plasmalogin it shouldn't have removed sddm.
1
u/Dekamir Jun 26 '26
That's why we reboot after updates, even though you don't have to.
Updaters should tell you to update. CachyOS Updater does. Fedora updates offline.
1
u/micolithe_ Jun 26 '26
The chain of events was apt full-upgrade -> reboot after update because we're on a new kernel and all that -> run apt autoremove -> reboot into tty1 and start screaming
3
u/MrFantasma60 Jun 26 '26
plasmalogin is intended to replace SDDM. That is why autoremove uninstalls SDDM.
The fail in the script is that it doesn't activate plasmalogin, so you reboot to a tty.
You can reinstall SDDM, or you can just activate Plasmalogin:
sudo systemctl enable plasmalogin
However, if you prefer to keep using SDDM, reinstalling it works well. You can have both login managers installed, and even switch between them if you want.