I am suspecting a bug in the KDE System Settings Autostart module, either upstream at KDE or in the Tumbleweed implementation. Before posting a bug report, I would like to seek feedback here - anybody here wiiling to reproduce what I see?
I was developing my conky setup. I created an autostart entry (.desktop type) using the KDE System Settings manager GUI, module „Workspace“ -> „Startup and Shutdown“. In the conky development process, I deactivated and activated the autostart entry several times in that very KDE module using the „Activate“ radio button. Ultimately, at least after a reboot, maybe right away, this resulted in multiple (some five or so) instances of conky running, all dumping their outputs in the same place on the desktop.
My immediate remedy was to delete the one (sic!) autostart (.desktop) entry showing up in the KDE System Settings GUI, then recreate it from scratch and not touch it anymore. Now there is only one conky instance running, as it should. I suspect the „Activate“ radio button in KDE System Settings is misbehaving. I didn‘t dig deeper yet; in particular, I didn‘t check the various autostart directories at that time.
Well, solved the problem on my own. In short: For some reason, the “Restore session at start-up” checkbox was set in KDE System Settings Manager. Switching it to “Start with empty session each time” solved the problem.
The question now is: No bug, but a feature. However, is it really a desirable feature for KDE to do both in an inflationary fashion, restore the autostarted conky process from the previous session AND invoke another autostarted (.desktop file) conky process at boot? I figure one could enter conky (and any other autostarted programs) into the “Exclude programs from restore” list, but I didn’t try. For me, the “Start with empty session” is good enough. Plus, I don’t know whether the “Restore session at start-up” setting is the Tumbleweed KDE default - normally, I wouldn’t chose this option intentionally, since I would never want to start over with the clutter left from a previous session…
Why did I change my perception today as compared to yesterday? Hadn’t been diligent enough yesterday. Today I did see that there was one more instance of the autostarted conky running at each reboot. Killing them all and rebooting gave me one new instance, but from thereon each reboot did produce another conky running.
You could also exclude conky from being remembered as part of the session.
The question now is: No bug, but a feature. However, is it really a desirable feature for KDE to do both in an inflationary fashion, restore the autostarted conky process from the previous session AND invoke another autostarted (.desktop file) conky process at boot?
How should ksmserver know that they are in fact the same?
Rather conky should not start again if it is already running, or it should disable session management…
I figure one could enter conky (and any other autostarted programs) into the “Exclude programs from restore” list, but I didn’t try.
I‘m a bit red in the face for exposing my KDE learning curve to the public… Actually, the KDE default feature „Restore session“ is mentioned in Kofler‘s Handbook, even together with the unwanted side effect of „autostarted program inflation“. Well, owning (I do) and reading (considered myself finished after the chapter on the openSUSE installer) a book might be a diminishing trend.
Now, some food for thought might be gained regarding the question whether „Restore session yes“ being the default in KDE is wise. Firstly, not everybody wants it, and such things should be switched on only by explicit user intention. Secondly, depending on how such session store/restore is implemented (partial core dumps?), it might contribute to eating into the lifetime of SSDs, which a.o. is determined by the number of TBytes written. Same story like with the Windows thing called „Fast boot“, and even the very careful consideration of the „sessionstore“ setting in Firefox and other browsers. Maybe all this is overly careful, maybe SSDs are better than initially thought and get developed fast (like the Samsung 860 vs. 850).
If I have an application that I want to start via autostart, then I close that before saving the session – so that it doesn’t open twice. For that matter, if I have an application open that I don’t want saved, then I close that before saving the session. And note that I only save a session once or twice a year (when I change my mind about what I want saved).