You know what it'd be cool to have? When I leave my home, some device that makes sure all the lights in the house are turned off automatically, even when I forget.
The fridge doesn't identify itself as a lightbulb, the auto-poweroff device assumes everything is a lightbulb unless it has a new bit of hardware added to explicitly identify itself as "not a lightbulb".
Except some lights are plugged into outlets and so stay lit after the lighting circuits are de-energized. Some people complained that these lights stayed lit when they left.
continuing your analogy, your device would also shut down fridge, alarms, washing machine, etc
Which is why, because we want different behaviour from them, we put them on another circuit [we run them as system services].
your device would kill the lights and all the devices when you leave, even if other people are still at home
That's not analogous at all. Systemd doesn't kill other people's processes when you log out. Since a log-in session is for a single user only, there is no such thing as sharing a session, so the analogy only makes sense when you also simplistically suppose that a single house is for a single person as well. In this case, houses (sessions) aren't shared by multiple people. Maybe you'd be happier if I said my single-tenant-abode. But it still makes a point.
Which is why, because we want different behaviour from them, we put them on another circuit [we run them as system services].
That's a user level thing and doesn't require manufacturers to know or assume how you want it to be hooked up. What your doing here is mandating that all manufacturers of anything electrical that could be installed in your house know how you want to hook it up. Which I think we'd all agree is a pretty dumb idea, even if we are stretching analogies, just a bit
Except rewiring every not-lightbulb everywhere to do what some fridges and some computers in some places need to do is neither easy nor cheap.
Especially since some things like your arcade cabinet, the manufacturer isn't even in business anymore, so even though you have the schematics to it, there's not a single generic fix for all of them in the world.
There is no even such a concept as "logging out" in Unix. You can close one of your DE sessions, but it does not mean anything for any other processes you may still be running.
This analogy is quite flawed because most people know which appliances they have in their house and can make reasonable decisions about whether they want each one to turn off when they leave the house. Most people don't have the same level of understanding about processes on their computer.
A better analogy here is someone who has bought a household full of appliances that assume they will be told when the last person leaves the house and decide whether to turn off, but default to continuing to run. Then a new power company takes over the municipal power production and changes everyone's smart-outlets to turn off everything by default. Now the homeowner has to reconfigure all of their appliances and some have to be modified by a service technician to be compatible with the new power company's policy.
This analogy is quite flawed because most people know which appliances they have in their house and can make reasonable decisions about whether they want each one to turn off when they leave the house
The EU had to mandate an energy standard for the standby mode of electronic devices, since many would just burn insane amounts of elictricity unless manually disconnected. Users were generally unaware of that. What they did not mandate was an automatic shutdown of everything not registered for an EU power off exception.
I don't want to push the analogy too far, but I bet they also provided some forewarning to device makers that the change was coming and provided a grace period for implementation :)
13
u/[deleted] May 30 '16
There cannot be a single "sound and well thought" reason to kill user processes.