Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

> See the latest video from Linus Tech Tips on Linux, for example.

lol. The OS told Linus exactly what it would do, warned him it might not be what he intended in ALL CAPS, and made him type a full sentence (with an exclamation point!) confirming that it was really what he wanted. And then it did exactly what it told him it would do.

That there was a dependency conflict for a short time there (less than an hour) is a legitimate annoyance. But developers should not be troubled by the fact that an operating system is actually obedient, or that its warnings actually mean something.



From the point of view of an absolute beginner, Linus shouldn't even be on a terminal. The PopOS shop should've worked. If it didn't work, a package installation shouldn't have asked him to nuke his GUI in huge wall of text, it should've rejected him (which is what a sensible package manager would do).

But sure, let's ignore the horrible UX and blame a newbie for not being experienced with how a terminal works.


Looks like the apt developers were sensible enough to fix this problem rather than blaming the user for not reading a wall of text.

https://twitter.com/JulianKlode/status/1461026051405058048


Kind of. The apt developers have taken steps to make it harder to remove essential and protected packages, which is a good idea. It would also be a good idea to make the warnings emit red text, some of it flashing, and to replace any override prompt with a more explicit one. It would also, in my opinion, be good to have apt finally start removing orphaned dependencies by default (like many, if not most, package managers already do), so you don't have that big list of orphaned deps at the top.

But on Debian, Ubuntu, and other Debian-based distros, the desktop environment is neither protected nor essential, so this prompt or error message won't even come up if a dependency conflict requires removing the DE in order to satisfy the dependencies of some new app.

> a package installation shouldn't have asked him to nuke his GUI in huge wall of text, it should've rejected him

Experience helps, but it doesn't take an expert to tell that removing 90 packages in order to install 1 application doesn't seem normal. (Occasionally one does see things like that during major dist-upgrades.) The mere fact of the wall of text itself WAS a huge warning.

A package manager should offer to do whatever is required to complete the operation you've asked of it, as long as it won't brick your system (render it unrecoverable without recourse to external media or devices, or render the package manager itself inoperable). (If what you've asked it to do is sufficiently explicit, maybe it should even remove itself.) It should also give you the resources (as apt does, through `apt show`) to inspect each package marked for removal and installation, in case you don't know what they are.

One of the reasons I like Unix-like operating systems (aside from macOS, which violates this principle) is that they don't waste your time with tons of warnings and locks and gates that don't actually mean anything, or which prevent you from doing things that are in fact harmless and unlikely to cause you any trouble.

It's fine for distros like Pop!_OS to extend the notion of ‘bricking’ the system to include removing the desktop environment. But I'm not very interested in running systems which are designed to cater to people who want to use them (and use them recklessly, at that) without understanding them at the expense of users who are willing to learn how they work.


> Experience helps, but it doesn't take an expert to tell that removing 90 packages in order to install 1 application doesn't seem normal.

You're looking at it from a seasoned Linux user's perspective, not from the perspective of a guy who has used Windows for decades and can't remember the last time he needed to use the Command Prompt. I don't know if it's lack of empathy or unrelenting bias.

Is it hard to believe that millions of desktop users don't understand what a "package" or a "dependency" is? Windows doesn't link packages dynamically, it's just fat statically linked exe files, or exe files bundled with everything needed, like AppImages. For someone who's never known the concept of a dependency, expecting him to understand that wall of text is pretty elitist.

> One of the reasons I like Unix-like operating systems (aside from macOS, which violates this principle) is that they don't waste your time with tons of warnings and locks and gates

Yes, agreed, and I'm of the same opinion, which is why I use Linux as a daily driver. However, this is NOT the experience a new user or a complete beginner should have. A power user experience for beginner is like giving keys to a car to someone who's never driven one and asking him to drive in a metropolitan city with millions of cars on the road. You know what's gonna happen and it'd be pretty weird and apathetic to blame the beginner if he crashes his car and gets injured, which is what you're doing.

> But I'm not very interested in running systems which are designed to cater to people who want to use them (and use them recklessly, at that) without understanding them at the expense of users who are willing to learn how they work.

Sure, but then let's not proselytize Linux and how it's beginner friendly and how it's "better" than Windows or Mac when the intended usage involves knowing how to work on a terminal. Unless you can confidently say that this Linux distribution doesn't require you to touch the terminal, ever, not once, don't recommend it. This is why I don't recommend anyone to use Linux, not unless I want to waste their time and see them in pain.


> You're looking at it from a seasoned Linux user's perspective, not from the perspective of a guy who has used Windows for decades and can't remember the last time he needed to use the Command Prompt.

I'm writing with Hacker News readers, and especially developers (as mentioned somewhere upstream in this thread), in mind as prospective Linux users. For them, I don't think what happened to Linus represents a difficulty they will struggle with or find difficult to avoid.

> Is it hard to believe that millions of desktop users don't understand what a "package" or a "dependency" is? Windows doesn't link packages dynamically, it's just fat statically linked exe files, or exe files bundled with everything needed, like AppImages. For someone who's never known the concept of a dependency, expecting him to understand that wall of text is pretty elitist.

It's not hard to believe at all. That's why, imo, distributions that target users migrating from Windows— especially distros that target Windows ‘power users’— should generally direct users away from package managers like apt in favor of package managers which avoid negotiating dependency conflicts in a single global namespace, like Flatpak, Snap, AppImage, Guix, etc.

I agree that Linus' experience was a problem, especially for Pop!_OS, given its mission. But I don't think apt was really ill-behaved here, and I don't think interventions at the level of apt's behavior are likely to be as effective as directing new users toward more appropriate tools when they ‘just wanna install Steam’, so-to-speak.

> Sure, but then let's not proselytize Linux and how it's beginner friendly and how it's "better" than Windows or Mac when the intended usage involves knowing how to work on a terminal.

Agreed, kinda. I've never recommended desktop Linux to a Windows ‘power user’, and nowadays there isn't really one I would recommend to such a person unless they asked me what to try.

I have recommended desktop Linux to totally non-technical people I'm willing to support, though. After the first week, I pretty much don't hear from them again until the hardware dies. I've also recommended desktop Linux to mathematicians and scientists who may have written some code before but don't really know anything about hardware, operating systems, or systems administration. They seem to do fine solving their own issues.


> I'm writing with Hacker News readers, and especially developers in mind

Not all developers are system administrators, which is one of the reasons why MacOS is vastly more popular among developers than Linux. Imagine executing `sudo apt install npm` or `sudo apt install python-pip` and having your desktop wiped out just because you were in a hurry and assumed that everything would work out (which, admittedly, it usually does). I know how to recover from that, not all developers would.

> That's why, imo, distributions that target users migrating from Windows— especially distros that target Windows ‘power users’— should generally direct users away from package managers like apt in favor of package managers which avoid negotiating dependency conflicts in a single global namespace, like Flatpak

Agreed when it comes to Flatpak (I despise it though).

> I have recommended desktop Linux to totally non-technical people I'm willing to support, though.

I've done that before and those people usually turn into help vampires, so I don't do it anymore.


That incident just shows that linux UX is also pretty user hostile in other direction.. blaming noob is such a low hanging fruit and fixes nothing.


Sigh. I really thought we were past the victim-blaming new users thing. Linux people seemingly never change.


That's not what it is. What it is is this: on Unix-like systems, the chief safety mechanism at every level is operator knowledge. This is in part due to incidental history that many distros (including Pop!_OS) have good reasons to want to overcome. But it's also because they're systems that are designed to trust their operators, and to be scriptable.

This reliance on operator knowledge is present in a negative way (e.g., there's no confirmation dialog or trash system for running `rm` against a normal file). But it's also there in a positive one: programs report to you what they're going to do and provide you with tools to further inspect those reports.

Lots of Linux distros encode these safety mechanisms socially, or through their installation procedures. Distros that don't come with desktop environments help ensure that their users know which packages relate to their desktop environments and how by having the users install those packages themselves. This is famously true of Arch and Gentoo, but it's also true of Debian, on which Pop!_OS and its package management tools are currently based.

It's not a bug that every package you install with apt is related to every other in a uniform way, and managed in a uniform way with all the others. It's a feature, and an awesome one that developers should appreciate and enjoy rather than fear. But it also means that when you use apt to install anything, you're administering your whole operating system, and you need to act like it. That doesn't mean that you have to be extremely cautious, but it does mean that you can't be totally inattentive to dire and emphatic warnings.

If some distro wants to take on young users who can't read, or end users who think 'because I'm just installing an app, I don't have to think about anything the UI presents to me', it will be fighting an uphill battle as long as it tells users to 'install apps' via system administration tools that negotiate a global shared state, with maximal resource sharing, among every program and library installed on the system. And when they do put up more gates, three things will happen:

1. They will become a distro that many users outgrow after trying, because managing and customizing the distro will become annoying to them

2. They will become less and less attractive to users familiar with upstream and other traditional users for the same reasons

3. They will reinforce the same blindness to text, to warnings, and to the transparency of the operating system that these gates were set up to solve.

One of the results of these things is that the distro will increasingly become one used exclusively as a commodity, and predominantly by newbies or others who don't care to know what they're doing. (This could be a good thing, depending on the distro's goals.)

But there's a better way! If a newbie-friendly distro wants to present users with tools for installing applications (i.e., not operating system components) that are more or less safe to use thoughtlessly, they can direct users to package management schemes that don't involve resolving dependencies globally, or rely on the base system, like Guix and Flatpak.

And then they can even leave the system administration tools in place with, yes, some UX improvements (colored text, more concise output, requiring more explicit flags for potentially disruptive or deeply transformative operations), but without turning them into tools that think they know better than their users.

It's in this sense that Linus' experience doesn't indicate a fundamental problem with apt, or a reason that someone who is (willing to become) competent to administer an OS which is hesitant to overrule them should shy away from desktop Linux.

Obviously, Pop!_OS' goals are not aligned with Linus' experience. But that's more because apt was not the kind of tool Linus expected than because there's something fundamentally wrong with apt, or that Linux distros don't still need a tool that plays basically the same role in basically the same way.




Consider applying for YC's Fall 2026 batch! Applications are open till July 27.

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: