I must say, I appreciate the attention to make things not only simpler but less breakable lately. First we had APT being patched to stop users removing essential packages, now the KDE Discover software manager gets a similar upgrade.
Developer Nate Graham has written up another great "This week in KDE" blog post, going over changes and improvements coming to the next release of Plasma and the various applications. One small change really caught my eye though! Discover now has a new way to ensure you keep a working system, with an updated mechanism to detect important packages getting removed and give you a friendly warning on it free of too much technical jargon.
Graham's comment underneath "Hopefully this is Linus-Sebastian-proof", heh. I hope many more application developers are looking at the way Discover and APT are evolving to ensure things are a bit more idiot-proof.
Another change to make things look a bit friendlier in Discover is that previously, if you had issues upgrading, it would instantly shove a load of technical details in your face. To normal consumers, that's clearly not going to do much to help and could probably scare them away. Now, instead, it will provide a very clear and friendly message, with the option to get more details to report the issue.
Plenty more upgrades to Plasma are in the works too, like the newer KWin Overview effect gaining the ability to display search results from KRunner, which brings it another step closer to the GNOME Activities Overview feature, which I did always find thoroughly useful.
There's plenty more fixes in the full post.
Quoting: GuestQuoting: Glog78OpenSuse i would call as mainstream but when was the last time someone adviced OpenSuse somewhere for a beginner? Even during 7 pages of this discussion you and me are probably the only two who talk about OpenSuse / Suse so far. Being able to do so on the terminal is a step forward. But i guess we are far from "newbie" friendly even at this point.
Strange. You request safety features like snapshots, being able to boot those and roll back, and yet say the distro that implements all that by default is not for new users....
Quoting: denyasis** Oh, I missed that part in your post. If you count OpenSuse as "mainstream". It has full system snapshot by default, courtesy of BTRFS. Reboot, pick the old snapshot in GRUB and good to go! (Ok... you need a terminal command to finish the rollback, you know, altering the file system and all).
;) it is related to the fact that a user needs to go down to the Terminal as it seems to use BTRFS Snapshots to go back. In this case it's not usable for a "beginner".
Quoting: RoosterWait..
Why is this whole comment sections basically a continuation of the previous thread, instead of discussing the actual topic which has nothing to do with the CLI and is a GUI only move to prevent new users from bricking their DE, which I would say is very objectively a good move.
If someone thinks that this was a bad move from KDE, I would love to hear their arguments.
From -> https://pointieststick.com/2021/11/19/this-week-in-kde-most-of-gnome-shell-in-the-overview-effect/ -> "Discover now prevents you from doing anything that would uninstall Plasma in the process, which is probably not what you were intending to do (Aleix Pol Gonzalez, Plasma 5.24):"
So KDE Discover now prevents you to deinstall kde plasma but you can go on and deinstall xfce or gnome which might used on a second user of this pc ? (Linus usecase ->) He doesn't liked dolphin as far as i got it and used another filemanager which can be in this scenario still be deinstalled ...
Last edited by Glog78 on 21 November 2021 at 11:08 am UTC
Quoting: SamsaiI don't really understand the outrage. What even is the use-case for a package manager to totally uninstall essential packages upon install of an unrelated package? I can get behind being able to tell the package manager to uninstall essential packages when told to do so explicitly, but installing regular application software should never make massive alterations to the foundational parts of my system to begin with. Having especially the graphical package managers protect you from accidental system breakage is nothing but a good thing.
Honestly, some of this complaining in this thread could easily be applied to --no-preserve-root or even the concept of sudo. Why is 'rm' trying to slow me down from deleting my entire root folder? Why do I need to input my password to modify system files? They are trying to turn my OS into a padded cell! Back in the good old days I could punch in arbitrary values into arbitrary memory locations and the computer stepped out of my way!
Honestly, I am totally behind Liam on this. The complaints on this issue reek of elitism and I see no value in making desktop Linux more fragile to breakage or more obscure to make some tinkerers feel better about themselves. And I say that as a tinkerer myself: I am quite willing to bet that I run a more exotic setup than many of the people that are now up in arms about how their right to tinker is somehow being trampled on. You are still perfectly able to uninstall your display managers and bootloaders even after the apt patches if you really want, just try to realize that this is an exotic use-case and 99.9% of people would only do so by accident and thus there should be some level of safety to prevent that. Even Formula 1 cars come with safety features.
Hi Samsai -> you are a programmer. I didn't check the implementation but from my current understanding of the issue ... either this protection should cry on nearly every installed program , cause from a user standpoint they can be essential or it does cry only on very few situations which leaves alot of loopholes and scenarios which makes it no real protection.
I really remember the times when suse's (aka suse 6.x times) default editor was vim or emacs (i don't remember which of both) and i never heard of them and wasn't able to even edit a file. So who defines and what is an essential package ? I gave an example for some questions earlier to think of why none of this solutions technically makes sense (imho) but rather complicate the way even people who have an understanding can help.
Last edited by Glog78 on 21 November 2021 at 11:09 am UTC
Quoting: Glog78Hi Samsai -> you are a programmer. I didn't check the implementation but from my current understanding of the issue ... either this protection should cry on nearly every installed program , cause from a user standpoint the can be essential or it does cry only on very few situations which leaves alot of loopholes and scenarios which makes it no real protection.So, is your argument that we shouldn't accept any solution that is less than perfect? I think you'll find that suddenly life becomes very very difficult if you start rejecting solutions simply because they are not total solutions. The world runs on compromises, and computers and their software are by themselves a massive pile of compromises built on compromises.
Sure, some users may consider certain packages essential which others would not. However, I think we can establish a fairly agreeable layering, where we designate software that is foundational and without which the normal operation of the system becomes difficult or impossible. In that grouping we can include things like bootloaders, display managers, desktop environments, init systems, package management tools and the core dependencies of the previously mentioned items. After all, I think it's common sense that some user-level application getting accidentally removed is a less of a hassle than your system not booting or entirely losing your graphical environment.
Quoting: GuestQuoting: Glog78;) it is related to the fact that a user needs to go down to the Terminal as it seems to use BTRFS Snapshots to go back. In this case it's not usable for a "beginner".
So you'd prefer a graphical tool? Like in the case you've accidentally removed your X server?
But it allows you to (ro) boot from the (working) snapshot, fire up the browser and look up how to proceed. You could also just use YaST (X or ncurses) to restore changed files, but if you've badly messed up things a rollback is probably better - for which indeed command line is needed (AFAIK).
But probably we get OT here....
Nope i prefer a failsafe solution (like F5 on windows) or (androids system rescue) to be able at any point with just a button press to recover the system. Thats the idea ... boot your system with f5 -> get a selection of snapshots you can go back to -> win. I guess that would cover up 95% of the beginner mistakes or distribution problems if we can also really split userdata from systemdata (xdg standard and so on).
Quoting: SamsaiQuoting: Glog78Hi Samsai -> you are a programmer. I didn't check the implementation but from my current understanding of the issue ... either this protection should cry on nearly every installed program , cause from a user standpoint the can be essential or it does cry only on very few situations which leaves alot of loopholes and scenarios which makes it no real protection.So, is your argument that we shouldn't accept any solution that is less than perfect? I think you'll find that suddenly life becomes very very difficult if you start rejecting solutions simply because they are not total solutions. The world runs on compromises, and computers and their software are by themselves a massive pile of compromises built on compromises.
Sure, some users may consider certain packages essential which others would not. However, I think we can establish a fairly agreeable layering, where we designate software that is foundational and without which the normal operation of the system becomes difficult or impossible. In that grouping we can include things like bootloaders, display managers, desktop environments, init systems, package management tools and the core dependencies of the previously mentioned items. After all, I think it's common sense that some user-level application getting accidentally removed is a less of a hassle than your system not booting or entirely losing your graphical environment.
I think we should discuss those solutions not agree to them by default or hype them. All what we have currently presented is in my eyes just "acitvism" which in the end we all might more suffer than win.
Quoting: Glog78I think we should discuss those solutions not agree to them by default or hype them. All what we have currently presented is in my eyes just "acitvism" which in the end we all might more suffer than win.I agree with the solution because I see no obvious flaw that would lead to harm. The solutions implemented in Discover and apt seem to address a real, although somewhat niche, problem. They don't measurably increase complexity nor do they meaningfully harm usability, because the protection essentially only applies in situations where things are likely starting to go wrong already.
I've yet to see a convincing argument against the current implementation. The only arguments I've seen is that this somehow negatively affects the ability to tinker, which it doesn't, or that it doesn't solve every problem in the problem space of problems. It would be great if Discover and apt updates solved the world hunger, but I think expecting them to do that is maybe a bit unreasonable.
I don't know what to do with that activism comment. You seem to be vaguely gesturing at some sort of a slippery slope, but all I am seeing is developers looking at a problem and writing a small fix to prevent it from happening. I guess we could consider this activism of some kind, but that probably makes an activist of all of us programmers.
Quoting: Liam DaweQuoting: NociferDon't know if it was intentional or not, but this tidbit here kind of blatantly equates "Linus Sebastian" to "idiot", heh :PEh it's a standard saying, does not mean the person is an idiot at all https://dictionary.cambridge.org/dictionary/english/idiot-proof
I know it's a standard saying and that it's not meant to be insulting, but the analogy between "Linus-Sebastian-proof" and "idiot-proof" still stands, both in your and Nate's quote. Not that I'm judging the choice of words, mind you :)
Quoting: fabertawePacman doesn't prevent you forcibly doing this. I sometimes remove a package that is a dependent/dependency of something else, then do my tinkering and install it again. Of course if I were to forget (hasn't happened yet!) to reinstall said package then that would be my fault and I'd rightly call myself an idiot But I should have that choice.
Quoting: mr-victoryOn Arch in file /etc/pacman.conf
[options]
...
HoldPkg = pacman glibc
...
Thanks; I know Arch doesn't and likely won't ever try to hold a user's hands, but I was asking rhetorically about Linux as an OS in general. What we're discussing here is so far only limited to a Debian-derived distro + KDE combination, but since this is a (mostly welcome) change that could very well propagate and end up affecting more distros and package managers, I'd love it if it could be made at once user-friendly but also configurable and/or toggleable for the sake of the more advanced users out there.
Quoting: AussieEeveeQuoting: NociferDon't know if it was intentional or not, but this tidbit here kind of blatantly equates "Linus Sebastian" to "idiot", heh :PTo be entirely fair, Linus does have a habit of breaking... I mean, dropping... things.
Well, dropping things makes for more views, amirite? It's the hard life of a professional "influencer" :)
Quoting: BeamboomThose who just want a consumer box to do their gaming on - why on earth should they install Linux to begin with?
For the same reasons they use Windows maybe, but without the added hurdles of e.g. license costs and telemetry spying? Not all consumers (i.e. non-techheads) are gamer drones who can satisfy their computing needs with consoles (or tablets, or smartphones, or other such appliances). So for these consumers there should exist a solution besides Microsoft's and Apple's closed source, spying, bloated and insecure crap; there should be an OS that allows them to use a PC in a manner as advanced or as noobish as they desire. And that's what Linux is (trying to be) all about.
Quoting: 14Linus mentioned some gamer-oriented distros that they found but decided against those on purpose so that they could act like a regular Joe searching the 'net and trying out a popular one. So, he purposefully decided against the distro he probably should have tried out.
As per your quote (I wouldn't know myself because I don't watch Linus's streams) he did the exact opposite: he tried to act as an average Joe and install whatever a Google search for "Linux" would get him to install, instead of purposefully downloading and installing a virtually unknown (currently; because it's newer) "gamer" distro which the average Joe out there would never find and install on their own. That's exactly what I'd do myself if I were in his place (streaming tech videos for average Joes).
Quoting: BeamboomThose who just want a consumer box to do their gaming on - why on earth should they install Linux to begin with?
For the same reasons they use Windows maybe, but without the added hurdles of e.g. license costs and telemetry spying? Not all consumers (i.e. non-techheads) are gamer drones who can satisfy their computing needs with consoles (or tablets, or smartphones, or other such appliances). So for these consumers there should exist a solution besides Microsoft's and Apple's closed source, spying, bloated and insecure crap; there should be an OS that allows them to use a PC in a manner as advanced or as noobish as they desire. And that's what Linux is (trying to be) all about.
Quoting: Purple Library GuyIf you intentionally want to delete something, wouldn't you normally do it by, I dunno, using a "delete something" command of some sort, not by trying to trigger the deletion by installing a package? As far as I know, nobody's done anything to the stuff you do when you're trying to delete things.
No, there is no actual difference between explicitly trying to remove a (critical) package, and a misconfigured package inadvertently launching the same process for removing a (critical) package. It's the same "piece of code" as far as apt is concerned, it's just that you've arrived there by following two different paths. So whatever alterations are made to the destination will affect both paths.
Quoting: Purple Library Guywhich would mean those approved-of people would be in a position to know they needed to add "--let-it-hose-my-system"
At least in my case no, I wasn't aware, hence the *hint*/*wink* part of my previous comment. As long as this override switch does exist, then it's pretty much my ideal situation as far as functionality is concerned (i.e. it's a much better solution than having the user type out that cheesy phrase).
Quoting: Purple Library GuyI know that because I read about Linux, not because I use Linux. As a Linux user, I have no awareness of that. I have an applet for sound stuff on my taskbar; if it isn't in the setting when I right click that applet, I don't know about it. So no, that fact isn't relevant at all.
That's an example of great UX, and it's what I'd love Linux to become in its entirety: an OS that behind the scenes allows you full choice in how to configure your system and what components to install or leave out if you so desire, but that on the surface it handles those things for you and it Just Works™ so that even my grandmother can use it.
As an analogy for anyone who may have watched the WALL-E film, I've always dreamed for Linux to become a beautiful, polished, Mac-like EVE with a simple and intuitive interface and two (figuratively speaking) buttons: one large one in the front for "power on and let us handle everything for you, enjoy your stay dear user" and one small one in the back for "open hatch and enter WALL-E mode".
Quoting: gradyvuckovicThese are exactly the kinds of positive UX changes we need more of in the world of Linux and which I am glad to see the Linus Linux Challenge has resulted in.
As a rule, any time a user asks a piece of software to do anything, whether it be simply starting or closing the application, or asking it to perform any kind of task, there should be clear communication of the outcome.
For example, an action that refreshes a view in a user interface:
- If the action was successful (refreshing a view), hint at that visually by flashing the display area.
- If the action was unsuccessful, present a message box with a description of exactly what went wrong.
- If the action takes longer than 400ms, present a loading indicator on the view.
The number one thing that causes UX problems, is 'lack of communication'. If you don't know what's happening, or what went wrong, trying to fix the problem is that much harder.
A simple thing like an error message saying "Error: This action cannot be completed as it would remove the following software which is critical to the system's operation:", does not take that much effort for a developer to implement, but makes a massive positive difference for users.
New users aren't 'idiots' (necessarily, I mean in some cases..), they are just new. It's not their fault if they are left confused because the software didn't fully explain itself.
This should be a minimum UX standard that should be implemented across all DEs for all 'failable' actions.
Kudos to the distros for taking onboard the feedback of the Linux Challenge and making great changes as a result. Hopefully we see more of this.
Just a lucky guess here, but you sound like a web designer or at least an experienced UX guy. Kudos to you, we desperately need more UX guys in the open source part of the world.
Quoting: elmapulpeople shouldnt be forced to chose between all the benefits of linux or having to deal with something like windows.
Exactly this! As the Linux community we should be striving for the best of both (or three if we include the Macs, as we should) worlds.
Quoting: SamsaiWhat even is the use-case for a package manager to totally uninstall essential packages upon install of an unrelated package? I can get behind being able to tell the package manager to uninstall essential packages when told to do so explicitly, but installing regular application software should never make massive alterations to the foundational parts of my system to begin with.
Well, this change is actually all about completely preventing the package manager from uninstalling essential packages when told to do so, either explicitly or implicitly. What produced the error Linus faced was trying to install a misconfigured package combined with his/the system's failure to first update the package listings before he tried to install it; it's just that this misconfigured package ended up firing apt's "remove essential package" routine and from thereon there was nothing to prevent apt from doing exactly as ordered, beyond that one silly "fail-safe" (which shouldn't ever have been implemented in the first place).
PS - Damn, reading a thread with so many comments and wanting to reply to so many of them is really a b*tch to manage without ending up with a small essay instead of a comment... Sorry about the real estate abuse.
Quoting: SamsaiQuoting: Glog78I think we should discuss those solutions not agree to them by default or hype them. All what we have currently presented is in my eyes just "acitvism" which in the end we all might more suffer than win.I agree with the solution because I see no obvious flaw that would lead to harm. The solutions implemented in Discover and apt seem to address a real, although somewhat niche, problem. They don't measurably increase complexity nor do they meaningfully harm usability, because the protection essentially only applies in situations where things are likely starting to go wrong already.
I've yet to see a convincing argument against the current implementation. The only arguments I've seen is that this somehow negatively affects the ability to tinker, which it doesn't, or that it doesn't solve every problem in the problem space of problems. It would be great if Discover and apt updates solved the world hunger, but I think expecting them to do that is maybe a bit unreasonable.
I don't know what to do with that activism comment. You seem to be vaguely gesturing at some sort of a slippery slope, but all I am seeing is developers looking at a problem and writing a small fix to prevent it from happening. I guess we could consider this activism of some kind, but that probably makes an activist of all of us programmers.
Ok very slowly ... if someone of you can tell me how you want to solve the problem which programs are essential to a user in the user environment i would agree with this solution. Here again some question which might make it more obvious from a "scenario" which can happen:
Quoting: Glog78...
If someone removes Network Manager -> is this package essential with systemd networkd still being around or not ?
Just a question :)
Question 2 to make it hard -> if one distribution says it is essential and the other says it isn't -> what would you as an developer of a none distribution package choose as an answer ? (in this case kde discover?)
Question 3 to make it completly lost -> what if the user wants to exchange network manager against wicd ?
Last edited by Glog78 on 21 November 2021 at 11:51 am UTC
Quoting: NociferWell, this change is actually all about completely preventing the package manager from uninstalling essential packages when told to do so, either explicitly or implicitly. What produced the error Linus faced was trying to install a misconfigured package combined with his/the system's failure to first update the package listings before he tried to install it; it's just that this misconfigured package ended up firing apt's "remove essential package" routine and from thereon there was nothing to prevent apt from doing exactly as ordered, beyond that one silly "fail-safe" (which shouldn't ever have been implemented in the first place).I am aware of the scenario. Apt still retains the ability to uninstall essential packages and that counts as having the ability to explicitly order such a removal for me. The only difference is that now the fail-safe mechanism is stronger and will better dissuade users who don't actually know what they are doing.
See more from me