Hacker News new | past | comments | ask | show | jobs | submit login
Fragmentation Is Why Desktop Linux Failed [video] (youtube.com)
109 points by axiomdata316 on Dec 14, 2018 | hide | past | favorite | 218 comments

Actual quote from Linus as opposed to the click-bait title:

> I still wish we were better at having a standardized desktop that goes across all the distributions. There's been some progress there. I mean, this is not a kernel issue, so this is just more of a personal annoyance how the fragmentation of the different vendors have, I think, held the desktop back a bit. But there has been some progress on that front too with Flatpak and things like that, so I'm still optimistic, but it's been 25 years. It's going to be another few years at least.

Considering what KDE has achieved with Plasma 5, I am really happy. I use Plasma 5 on all my machines that are capable enough to handle it. Gnome 3, consequently, has never found a place. On old machines, I use Xfce only. Xfce is, in no way, for the masses. Plasma 5 could easily be the Desktop Environment that everyone loves, if they continue to improve.

I have helped people migrate from Windows to Plasma 5. They loved it. However, getting\installing software and general system management is still not straightforward enough. We also need system management tools that are solid. No terminal gymnastics at all for the common user on distros targeted at the masses.

Flatpak is all cool, but we need core user-space applications to be standardized. LibreOffice, for example, needs to become the industry standard office-suite. How can we achieve that? People I know just do not want to move away from MS Office. Even government agencies invest heavily in MS Office. This might just be the most important impediment.

I think, the Linux ecosystem shows us what a real "free market" looks like. Lots of small players and no monopoly. People love choices and they have. You want a minimal Window Manager, you got many to choose from. You want a full-blown Desktop Environment, you are spoilt for choice. Not a bad thing in an ideal world, but...

Why every Linux related topic needs to end with KDE vs Gnome discussion. The problem is not DE fragmentation but the packaging.

Every distribution spends more time on packaging and integration testing than developing useful functionality. When developing for Linux you need to package your application in a few different formats. We also have different init systems to make it more difficult. Every distro has own store and repositories. For GUI there are different frameworks and display servers.

If Linux world standardizes around snap/flatpak, systemd and wayland then we stand a chance.

First impression is the...

DE being the first thing a common user interfaces with, it holds a very important position, in my opinion. KDE and Gnome are very different w.r.t design principles, hence the polarization and debate. KDE and Xfce are not so different. I like Gnome, but have no use for it.

I agree with all else.

Also, I think, a real "free market" would resemble Linux ecosystem. No monopoly, small players and lots of choices. However, if we wish to compete in "real world", we need to do something similar to what you say.

Linux has hundreds of DEs to suit all tastes and styles, yet it has always languished in a distant third place.

Consider the possibility that your idea of what "the common user" wants is something you made up.

Most non-technical users aren't going to remain interested long enough to try even a few desktop environments. The first one they use will leave a strong impression.

I would argue that having a choice between hundreds of DE's is a bad thing for the more casual user.

Please stop this. "Casual user", "average user", "normal user", it's all just so much bullshit people tell themselves to feel superior. Stop creating this strawman and using it as an excuse for why things have to keep sucking!

ChromeOS and Android adoption prove otherwise.

The large majority of their users don't even know what kernel is running the runtimes of their apps.

One of the reasons of netbooks failure, besides the cheap Windows XP licenses move from MS, was that each netbook Linux was its own little silo.

If we standardize we also have a central point of failure and a lack of variety/choice for users. At this point, in what way would using a GNU/Linux system be different than using an OSX or Windows system?

Because discussions are good? :-P

The big players tend to be compared, isn't that reasonable?

I bet Linux for the desktop will actually start when Microsoft ports Chromium-based Edge and Office apps to Linux for specialty users, primarily developers. I mean, if you want developer mindshare and apparently improving or replacing cmd.exe will never happen... it’s not like these proprietary apps aren’t possible to ship for Linux to run at least as well as they do on an Android phone...

Those proprietary apps on Android have two things working for them that GNU/Linux lacks.

In spite of piracy, a large set of population actually pays for them, versus bashing the authors for considering to charge money for their work while suggesting free alternatives.

A full stack framework that in spite of OEM customization is relatively standard across all devices with an Android label on them.

there has been some progress on that front too with Flatpak

Don’t worry Linus, with Snaps and AppImages we’re hard at work fragmenting that front too!

Hahaha YMMD! :-D

Isn’t flatpak like npm where it just flat stores all the libraries? So it’s a huge waste of space ?

There's been a continual oscillation between bring-your-dependencies (ranging from statically compiled executables, to composed things like docker containers, snaps, npm / ruby / php composer apps, etc.) and use-the-systemwide-stuff (like most linux apps).

The tradeoff is pretty obvious: on the one hand you get full control over what code you bring in, but you also get full responsibility of keeping it up to date and it does indeed take up more space. On the other hand you get systemwide updates, but also unpredictability which can break things.

In the former, you have a lot of work to do yourself to maintain your ecosystem between releases. In the latter, a greater amount of effort and responsibility goes onto those who maintain the packages at a distribution level to ensure mutually compatible package selections. This can be done (viz. most of the top tier distributions successfully doing this with occasional problems for decades) but we keep trying new all-in-one mechanisms every few years.

I'm not convinced that there's ever going to be a final answer to this, but it is clear that storage is cheap as chips...

I don't know, I think the answer is pretty obvious: use system-wide shared libraries for things that are very common, like widget toolkits, network libs, cryptography, and other system components. Otherwise it is part of the application, not the system, and should be with the application.

The reason you don't see this on Linux is because there is no such thing as a separation between 'system' and 'application' in its culture. Consequently there has never been a "base system" to target or keep compatibility with so applications have to either target a specific version of a specific distro (waste of time) or include everything above the stable kernel ABI in their product (waste of space).

It is actually a very simple problem to solve, it just isn't one that the Linux community is interested in solving simply, so instead they invent ridiculously complicated tooling like package managers and Flatpak, introducing a bunch of unnecessary limitations and yet more parts to break and ruin your day.

Was cheap as chips. The age of flash has dawned.

Still cheap as chips. 1TB name brand flash drives can be had for under $200.

FWIK, flatpak applications can share libraries via runtimes. If you instead mean about the host system, then yes, I think they import everything from libc and up.

Edit: clarification.

I tried to use Flatpak for everything and because various Flatpak apps want their own version of Gnome I ended up with different versions of Gnome runtime installed on my system each consuming several hundred megs of disk space. At that point I decided to screw it and use Flatpak only if native repos didn't have an app I needed.

He is right with that. There is a few desktop environments that are quite good like: KDE (Plasma), Gnome (with enough options tuning & customizing) and maybe pantheon (see elementary OS)

We'd need something more smoove and better over-all integration because there is still too many shortcomings and tiny bugs that could annoy a day-to-day user that doesn't want to know anything about config files or extended menus with special settings. It should be a great thing out of the box with sane defaults. That includes the icon set as well as a decent file browser and terminal emulator experience (iTerm2 on mac is THE REFERENCE here, I wouldn't want anything less).

Next comes workflows like office /graphics /audio stuff. I like how OSX handles PDFs etc and would love to see that on linux as well.

But I'm afraid this scattering is one of the biggest enemies of adoption and maturity of open source software. There is so many OSes and tools that you often have to research stuff for hours before you start off with a shitty tool that get's the job half done and then you recognize you can start from scratch because it doesn't work as you expected.

Instead many open source projects could live up to their potential if they'd combine efforts to merge the best they did and create ONE super awesome tool.

The reallity is that very often projects are just abandoned because adoption / donations etc. are too low or the 2 maintainers are tired after years of working on a project only 100 ppl on the globe are using.

Unite! At least converge to 2 big streams: Pro-Users (the ppl making jokes about shellscripts) and People (your mom)

Just focus on delivering for these 2 groups and I think most ppl would be glad about the end product. I for myself will try to do my best in putting efforts into projects I hope will have the biggest adoption.

> Unite! At least converge to 2 big streams: Pro-Users (the ppl making jokes about shellscripts) and People (your mom)

I couldn't disagree more. As a community, developers and Linux developers in particular need to stop believing in the divide between the Glourious Developer Master Race and Ignorant Users What Think Their CD Tray Is A Cup Holder.

Linux Desktop has been pandering to this imagined notion of an "average user" for decades and it still sucks.

Here's what needs to be done: make the system simple (not easy) enough that it can be reasoned about, something that someone can look at and comprehend and build a model of its functioning so they can conform how it functions to their needs without reading C source code and 40 different text-based file formats and out of date man pages. Stop being a Rube Goldberg machine of interconnected disparate components.

I have a macbook pro at work since last year, OS X is slow as hell and iTerm2 (my main app usage) is very sluggy when you are used to Konsole (KDE terminal). But yes the laptop is pretty.

I'm impatient to be able to update my laptop for a X1 carbon and a speedy KDE.

That is strange but I heard about apple products and software getting worse every day. (users seem to become beta-testers)

I have an old MBP (the one that has all the ports you'd including a standard HDMI, don't know what year) and never upgraded beyond osx mavericks - it runs fine until today.

A friend told me they use new MBPs @work and they seem to break much too often. I also tried the keyboard on his working machine to find out how bad it is nowadays! I prefer the oldschool thinkpad keyboard but was surprised by the keyboard on the old MBP. The new one's on the other hand are just a tool for torturing users who like to write much.

iTerm2 was my favourite because of the features (like intuitive tmux usage without learning it's CLI-foo). I also like how it is integrated with the rest of the desktop (searching, copy&paste, url-clicking etc.) but can't really compare to the default terminal emulator as I haven't used it much after trying iTerm2 when it was recommended by the whole world.

Have you considered just using the OSX Terminal?

It's been very good since like at least OSX 10.5 (when they added tabs) or so.

I always wonder why people use other terminals (but don't seem to use any of it's special features).

I'd be curious to see if you think it performs better.

> There is a few desktop environments that are quite good ... Unite!

This is happening. The web is becoming the de-facto desktop environment.

Oh god no. It's one step forward, ten steps back.

Take a trivial example of desktop application integration, which is with us since Windows 3.11 - common file and printing dialog. Nothing standard like that on the web. Most web applications won't let you even export the data in editable format.

UI - horrible. Desktops had standard menus and shortcuts since 1980s. In fact, many SPAs are trying to invent their own desktop.

I could go on.. the fragmentation of web apps is so much larger than fragmentation of desktop apps.

Funny story.

So a few weeks ago, I'm sitting in the waiting room at my doctor's offices. And they seem to be running late. And the waiting room is filling up. So I go to the receptionist's window, and ask what's up.

Turns out that their ISP was having problems. And they were totally dead in the water. They had no local backup. And knew nothing. No patient data. No schedule. Nothing.

So hey, I just left, and rescheduled. But damn.

I don't know... Besides big and tech savvy companies like the big G no one seems to be able to create a decent UI with consistent UX as you'd expect it from a good desktop environment.

I prefer using apps with ncurses interface to many web apps. Also the standards are not good enough for my demands. I've worked in web development and I know how tedious it is to re-implement the wheel for each and every user (at least it feels that way) because you have to ensure everything is rendered and works on 10 different browsers (different versions of course because who want's to update?). Also you have the devices (I don't even want to think about that) etc...

It is nearly 2k19 and still centering stuff with CSS seems to be a huge deal. That's just not very assuring for me.

Thing is, the Web as de-facto desktop environment is one reason less to even care about Linux's existence.

A browser could run bare metal for what I care.

How exactly do you think you'll get your drivers working?

What do you do when the internet is crashed / your app is down?

I like the data-sync & backup part of web apps - you don't have to save etc. and your whole machine can just fall into a river but you still have your work. But I'd rather do this with a seperate solution and keep stuff on my PC so I can access it without a network.

The same way that webOS, ChromeOS, FireFox OS and a couple of other attempts do.

By providing a minimal kernel for juggling browser instances, local file system and browser specific "native" APIs.

Welcome back to the timesharing days, just with prettier UIs.

Um...well...can't say I'm overjoyed about that - the Good Old Times, whenever invoked, were rarely good if you happened to actually live in them^$#%$#NO CARRIER

I should have placed a sarcastic remark.

It is however the pace how things are going, even most mobile apps are modern versions of those 2-tier apps during the 90s.

Yes, he essentially says we're on our way there but we have a few more years or so to go. The headline hyperbolic click bait.

Very heavy headline for a very nuanced position by Linus.

It's an open secret that the ideal of choice fragments the focus of creating a tight UX on the desktop. You have to understand when you watch this video though that all Linus and the kernel team can do is make the kernel itself. The community is what will end up driving the desktop UX, and they haven't done a great job creating something that can capture the average PC user.

I am not sure if this is even a bad thing. My daily driver is a Dell laptop running Fedora and I don't think I'd change a thing aside from some minor UX gripes about Cinnamon. ChromeOS really is the best hope for mass Linux adoption, and I personally know people who hate the Linux desktop experience but use a Chromebook daily.

I'm not sure what I'm trying to say here other than my personal opinion that desktop Linux has found a local maximum and I think only the distros themselves can push DE volunteers to find something that has wider appeal (I'm not sure if that is even desirable, because again, I'm personally very happy with my experience).

> I personally know people who hate the Linux desktop experience but use a Chromebook daily.

Google nailed that UI and everything just works.

Settings are just bundled in with your browser settings, no cli anything to run.

I dream of seeing a web interface all existing Ubuntu apps.

* a google docs Web GUI clone for replace OpenOffice. * all files store locally by default. * Goes to cloud only when users need to share.

* Web base apt, dpkg system. * Web base app for view/manage all system logs, dmesg. * Web base interface for gdb * Web base python interface. * etc, etc,

* Desktop is just Firefox with home page with a lot app icons.

-- Now time to wake up, take the red pill and continue use vim, git, insmod, strace and cat /proc/.......

Open Office? Haven't heard about that in years!

Now we use LibreOffice and there is already a Web UI :-)

Here you are: https://www.collaboraoffice.com/code/

Just use NextCloud / Syncthing or a traditional NFS and you're good to go.

For system logs you could use the ELK stack or something like that.

Python Web UI = Jupyter Notebook (it's awesome you should check this out)

APT / DPKG: why web based?

Also I don't know why you see vim as the only alternative. There is NeoVim / SpaceVim and some fancy emacs stuff you can use as well.

For git there is really good tools nowadays like GitKraken, SourceTree or this tool from the sublime creator. Also you have integration into good IDE's. When you want to use a web UI then I'd recommend you check out GitLab. Even the CE is awesome and much more I was hoping to see any time soon.

I use SpaceVim and am totally happy as it has nearly all features of IntelliJ Idea that I use daily but runs on my shell (great for keeping your old thinpads battery on a decent level for some time).

And eventually they will not even need the Linux kernel, the last standing GPL thingie on their stack.

all Linus and the kernel team can do is make the kernel itself

In some sense that's a self-imposed limitation. Linus could have chosen to create an OS (like BSD) instead of a kernel.

Not really, GNU existed for a while before Linux and Linus' kernel slotted into the missing hole in GNU (since Hurd _really_ wasn't ready and likely won't ever be). So I would argue that Linus chose to build an operating system, and ended up with focusing on a kernel because the rest of the system already existed.

The BSDs (and Solaris) all branched from the original Unix tree, and thus have historically always just been a full OS. GNU was trying to do the same, but from scratch and as free software, but Linux came about just as GNU was getting very popular (people would replace the proprietary Unix utilities with the GNU ones).

Also, the BSDs and Solaris all use GNOME or KDE -- which aren't developed solely by those people. I think this is quite reasonable actually, since desktop environments really shouldn't be tied to a single Unix-y OS.

> Linus could have chosen to create an OS (like BSD) instead of a kernel.

The BSD people also don't make a GUI.

On the contrary, they have. Lumina, for starters.

* https://lumina-desktop.org/ (https://news.ycombinator.com/item?id=14282349)

Yeah, Linus is in a power position and could lean on teams to create his vision of Linux on the desktop. But he's a very tech oriented guy and that's ok. He has a tech vision of what the core of the OS should do, and I think the community needs that as much as a person who guides the frontend vision (which is absent for now).

Also... this is the guy who invented git. I'm not really sure we want him working on a desktop UX.

I mean... I like git... Linux kernel and git are perhaps the two most constant aspects of my job. What is the problem?

Git is easily (edit: one of) the best version-control software available, hands down. But, you can't deny that it's very difficult to use. There's an incredibly steep learning curve and the software is very unforgiving.

This can be argued to be a good thing (git just gives you the tools to shoot your own foot), but for an average user, a DE needs to be easier to use than git.

I guess what I'm trying to say is, git is great for experienced users, but most users don't want to have to be experienced just to use a computer.

I wouldn't say easily. Mercurial has a credible claim to that title as well, if you ignore network effects that favour using git.

That's fair. I updated my post to reflect that.

Git has a learning curve, yes. Everything has a learning curve. It helps to actually read the documentation, to go through a few tutorials and to generally play around with Git.

Is it intuitive without prior experience? No. Nothing nontrivial is.

As an example: I have not grokked Blender though I have tried a few times. But I have tried it fully intuitively, just exploring the UI without really reading documentation at all (when I have time I will study it more). Does the UX make sense? No, not to me. Does it mean Blender has a bad UX? No, I don't think so! It has a learning curve like everything else, and learning it is something I have to do if I want to be able to use it. I cannot expect someone else to learn it for me.

git user experience is very bad, objectively and not because of the complexity or the learning curve. A good UX allows you to learn patterns which are applicable across the application. git, on the other hand, offers you an absolutely bewildering mismash of commands and switches to express whether the operation involves a remote, the index or the working tree. This could've been and should've been consistent but no such thing.

Beyond the consistency argument, Jef Raskin: Humane Interface argues for universal undo which git almost has via the reflog except it should've built a safety net for git reset --hard which is possible https://gist.github.com/chx/3a694c2a077451e3d446f85546bb9278 (and no, disk space usage isn't a concern for 99.99% of the codebases, "disk is the new tape" predates git _and_ even without that recognition most codebases are tiny) and then it could git undo happily.

Add these two and you have a user friendly git without taking away any power.

With git reset --hard protection do you mean accidentally resetting a branch which has uncommitted changes?

If you do that a lot, why not commit your changes more often to your topic branch? You can always squash it later to make it look nice.

Or use stash or something.

git reset --hard throws away work. Nuclear bomb operations should never be a simple switch away.

Of course it does. So does rm -rf. The dd command can ruin your entire disk with a typo.

Their primary goal, however, is not tracking changes. Of course a tool made for deleting or lower level copying is destroying data, that's their primary use. git, however, is almost always undoable.

If you have not committed the changes, then Git is simply not aware that you want to keep those changes in the first place.

It is like editing a file, and not saving it. Is the editor at fault? Should it autosave the file? Under what name? Under what directory? Or should the editor just do what you tell it to?

For this particular case, git stash might help.

In general (danger: personal opinion), it is good practise to be mindful of dangerous commands and take a deep breath before issuing them, whatever they are. That is what I do after having learnt it the hard way, as I have also messed up stuff with the hard Git reset, dd, rm, chmod, chown, cp, mv, tar, you name it...

So, if you ask me, Git does not have an "objectively bad UI" as some say, it just does what it is told to. (Insert joke about computers being like an Old Testament God.)

Read Jef Raskin's Humane Interface.

> It is like editing a file, and not saving it. Is the editor at fault?


> Should it autosave the file?


> Under what name? Under what directory?

I don't care, just stash it somewhere so my work doesn't get lost. Notepad++ does it, for example. It doesn't even reveal where does it stash it, but "Noname 1" happily survives even a reboot.

No that would make it unusable to use git in automation. what you are looking for is a training gui around git. until your learn enough to not shoot your foot. no need to dumb down a tool because someone doesn't get it.

I am unsure which of the two would be a bane of git automation but if it is git undo, the fix is really simple: make it opt out. I have git config and I am not afraid to use it.

> no need to dumb down a tool because someone doesn't get it.

If your goal is to make a tool useful to the widest audience possible, then yes, that the goal is precisely to dumb it down so as many people as possible "get it".

I understand the difference, and understand why you use one over the other, but the fact that git has separate "squash", "merge", and "rebase" functions is a UX disaster.

They are different commands because they are different things conceptually.

Rebase is when you transplant another branch on top of another.

Merge joins two branches together.

Squash combines two or more commits into a single one

They are by no means the same thing.

I never said they were the same, I said that having three commands to contribute code is very confusing. A better design would not need "merge", "squash", and "rebase". For example, you wouldn't need to "merge" or "squash" if the system made it easy to visually group changes together.

>It helps to actually read the documentation, to go through a few tutorials and to generally play around with Git.

Yeah, that's the problem. People don't want to do that. Keep in mind, you're not talking about people you find on HN. You're talking about Grandma Sally and Aunt Susan. These are people who can barely use Gmail. They don't want to crack open the documentation

Why would they use Git at all, then?

My point is: people who actually need software version control to get something done are perfectly capable of learning to use Git, warts and all, in 2-4 days which includes reading some of the documentation and playing around with it.

Sure, they might have to refer to the documentation for some time after, and also have a personal "cheat sheet" for commands, but I completely believe it is doable, and over a slightly longer period of time they will not need documentation or cheat sheets at all.

Arguing that people, who are implied to not need software version control to begin with, would consider Git difficult to learn is a bit strange argument.

The point is that inventing Git and designing a good UX require completely different skill sets.

I like git as well but UX wise... just look at the number of different syntaxes to delete something.

Git doesn’t scale.

FB and Google have had to stray from the beaten path.

Git, with its limitations, imposes non-trivial workflow constraints on millions of developers worldwide. It’s far from ideal.

It’s an application ripe for disruption.

Fragmentation is one thing, but I don't think it's the main point. I've tried Desktop Linux many times. Mostly to avoid paying for Windows. And every time, there is something that I would like to do that I can't do, and then I'm back to Windows.

Whether it's some kind of website addin (things like video conferencing, or offline video player with DRM that require you to download an app), or some development tool (Visual Studio!), or some game, or my printer.

The issue is a catch 22: because Desktop Linux is not well adopted, companies don't develop for it. If companies don't develop for it, then there are things you can do on other systems that you can't do on Linux. And so Desktop Linux does not get more adoption...

This experience is very common. Eventually, people have had to essentially decide to either "burn the ships" and live without the thing they need or give up and live with the pain of Windows.

The good part is that over the past couple decades, the things that require Windows has become vanishingly small. Almost everything can be done on Linux these days.

Rather than hoping for popularity and the attention of companies, I think it makes more sense to help the plethora of free software continue to improve so that people don't have to be tied down to an operating system in the future. Emacs can be used even on Windows. Even if free software doesn't already support an OS, someone who cares more than the others can take it into their own hands to port it. This seems more sustainable to me.

And then there's some companies more invested in the idea of it and having an alternative to Windows like Valve that continue to build for Linux anyways.

When I find something I can't do on Linux I generally take that as a sign that it's not worth doing anyway. Your examples are perfect: video conferencing, DRM, Visual Studio, using a printer that only works on Windows... All things that I'm glad are automatically filtered from my life.

This is precisely what fragmentation causes.

The amusing thing is that Microsoft blew it. Windows 7 was generally considered good, but Windows 8 and 10 are widely acknowledged to be awful. Windows 8 tried to make a desktop work like a tablet. Windows 10 has intrusive ads and data collection. Most of corporate America would rather stay on Windows 7.

Linux on the desktop works just fine. I've been using it almost exclusively for five years now. I also have several notebooks using it. It's less trouble than Windows. This should be Linux's moment on the desktop.

Some of my friends ended up trying Linux in the Vista era. What happened was interesting.

I don't think any of them became full-on Linux users, but some of them continued to use Linux alongside Windows. What this signifies to me is that Linux has some strengths that people really want, but it doesn't do a great job of replacing Windows in its current state.

I find this to be my exact problem, too. Windows does a lot of things right that Linux may never, and the app library on Windows is probably going to be the best on the desktop for at least another 10 years if not longer. Linux, however, has a beautiful experience for developers and sometimes even for power users. You can turn on and off almost any feature you want, there's a ton of alternative setups. You can even run a different libc if you really want to.

I still use a Linux desktop as my primary, but I have never managed to escape dual booting or virtual machines entirely, and I'm not sure when it might be possible.

I've almost gone the other way; I first discovered Slackware in the late 90s, but now I no longer feel the drive to do much "computer stuff" at home and would prefer something that just boots up with a browser that I can play games on. So I run Windows.

I even gave up resistance and got a "smart" television. It's actually not bad. Ironically there's a tiny Linux distribution in there somewhere, underneath LG WebOS.

It could be, like you say, that Linux may have an entry point for power users.

But the complexity bar is way too high, even for the simple things, like setting a refresh rate.

I could understand it fitting people who enjoy a challenge. But for the power user, who just want fine control, and lots of it, it seems too much of an hassle, and windows simplicity but with enough settings, alongside many 3rd party easy customization tools, wins.

Sorry but if you think changing your refresh is "hard" you are probably just a user and not a "power" one? (please, this is not meant as an insult)

I won't bore you with the details, but I'm an IT power user.

I just like a simple life.

So setting the refresh rate should be easy. Trivial. One command you find at the first few Google results .

So if you want to set the refresh rate(and resolution , of course) , you now how know some commands, write a script , and know directory locations , and remember all that crap for future changes.

And if add a second user, suddenly, some more complexity.

>the app library on Windows is probably going to be the best on the desktop for at least another 10 years if not longer.

The app market will very quick shift if linux really starts to get the ball rolling.

Just look how quickly developers jump on the mobile train.

>Just look how quickly developers jump on the mobile train.

Interesting. I don't feel similarly about the progress of mobile apps.

Like sure, there's a lot of mobile apps, but I feel like they are a lot less mature and developed than desktop apps are. I would guess by development effort spent, desktop apps still outpace mobile apps.

Don't get me wrong, I get that games and apps must be adapted for the amount of system resources and for the input devices users will be using. But that doesn't mean PS Touch is the same as Photoshop. It feels like a toy version of Photoshop that you can use in a pinch between having access to real Photoshop. I doubt the same number of people hours went into both.

Linux ports couldn't work that way. You would want the same thing you have on Windows.

People used to pay a lot of money for desktop apps on windows - a lot of businesses used “enterprise software” since web apps were not a thing.

There are still companies / labs across the world that are clinging to older windows versions since they rely on them for desktop apps.

Mobile apps? In-app purchases and subscriptions are the saving grace there.

You get what you pay for.

I doubt it. Developing and deploying a commercial application for Linux is a nightmare compared to other platforms, largely because Linux isn't a platform and instead you have to target several different distributions and even different versions of those distributions because the concept of a stable and consistent base system is completely alien to the Linux Desktop.

There is money to be made on mobile, which is something that will never work on Linux desktops.

I wouldn't say it's less trouble than Windows, just different trouble that people are not used to. Trying to get my 2013 Brother printer/scanner to work in Ubuntu involved tweaking and running shell scripts found on Stackoverflow. Desktops should just work, yet sadly none of them really do.

If printer was my only problem with linux desktops, I'd be so happy.

My terminal and/or browser windows will randomly flicker a few times a day, for no apparent reason. Nothing stops this short of a restart. Oh yea, and then when my computer restarts, sometimes half the screen is strobing. This is persistent across monitors and apparently video cards.

Sometimes moving my mouse across a terminal or browser window will cause it to flicker a lot.

Last week one computer stopped responding to input devices (ssh was still fine).

Half the games I play don't work on linux, without resorting to some very ambitious scripting and configuration. And even then, most of them don't really work, due to performance issues. Don't even get me started on the joystick :\

It's a lot better than it used to be, for instance my second monitor doesn't randomly go completely haywire anymore. And audio kinda mostly works usually.

Same hardware on Windows though? No problems at all.

There are all sorts of possibilities, and it isn't necessarily even the hardware. For example: I had a screen flicker that was down to something repeatedly trying to start up GNOME Shell when the desktop was not GNOME.

Yea I'm relatively certain it isn't the hardware.

I had the flicker on my monitors, switching from 60hz to 59hz stopped. Maybe give that a try?

It's not a whole monitor flicker. Just specific windows flicker. Like my terminal will suddenly strobe at 10Hz+.

Sounds like you need intel graphics.

For at least one of the boxes it isn't an option because the xeon chip doesn't have a gpu inside it. So, separate video card only.

Yeah, because nothing says "I'm a real computer operating system" like forcing the user to use the weakest GPUs on the market.

It's the manufacturers fault they (might) not have invested in their drivers.

Intel is strongest in power savings, drivers, and generally not having to give a shit. Depends what you care about, Mr. Idiot.

Interestingly, Brother provides CUPS drivers for a fairly large proportion of its range, larger than the support that is packaged out of the box by free operating systems. It provides both DEB and RPM packaged drivers. For example:

* https://support.brother.com/g/b/downloadlist.aspx?c=au&lang=...

The downside is that they are closed source binaries. For Linux only. And only 32-bit.

Recently I had to switch over printing from a FreeBSD machine to a Debian 9 machine because there was no portable driver and nothing supporting the particular printer range out of the box in the CUPS packages. Then printing simply failed silently with printouts apparently vanishing out of the print queue into thin air (apart from an obscure report of 0 bytes printed in a log file when debug mode is on) because I didn't have the 32-bit C and C++ GNU libraries installed on the 64-bit machine. I went on a couple of wild goose chases diagnosing that one.

I was halfway tempted to write it up for Unix StackExchange.

this is what keeps a lot of people with Apple, their OS generally does "just work" for everyday stuff, even if it is far from perfect.

I am really curious about the end of life for Windows seven. I understand Microsoft wants to push the OS as a service, but I dont see that widely happening in a lot of corporate environments. For liability reasons alone.

Maybe $YEAR_OF_THE_LINUX_DESKTOP isn't 2018, but I don't think the clickbait title saying that desktop Linux has failed is fair. We're light-years ahead of where we were in 2011, let alone 2007. The majority of users who now try Linux desktops do so without any real workflow-breaking issues. Graphics card drivers and printer drivers often work out of the box for me. All things considered, I think desktop Linux is doing very well.

Not only that. I'd venture to say no desktop is near as good as the Linux desktop. (For a certain type of user, I should qualify.)

Don't get me wrong; there are issues. X is a system from a different era. (Graphics) Performance is pretty bad, the effects are janky, the primitives disparate.

But! As a "power user" I dread having to use any other system. On Linux, there is an incredible variety of window managers, file navigators, terminal emulators, etc. The whole gamut.

My workflow revolves around i3 and my i3 configuration. I have sworn off macs, and when I use windows, I have learned to press Super+1 for Firefox and Super+2 for Steam. Beyond that is a dark forest which I refuse to explore!

If anything the default Ubuntu desktop has gotten a lot worse. i3 is not an option if you want to use commercial EDA tools on Linux. I’ve gone from a daily linux desktop user 10-8 years ago back to macOS and Windows. If you think Windows is not for power users you are deluding yourself. The majority of professional software exists solely for Windows or at least works much better there (in the case of Eda tools). With Linux Subsystem for windows you now get the best from both worlds.

As power graphics user/developer, after my Linux zealotry years, I just settled back on Windows/macOS, because as you say "(Graphics) Performance is pretty bad, the effects are janky, the primitives disparate.".

I don't think anyone here is talking about power users when discussing the failure of Linux on the desktop.

I'm a power user, and developer, and I certainly do think the Linux Desktop is an utter failure. I cite as evidence how awful Windows has become and how few people, power users included, have switched to Linux because of it.

I would argue that it was 2017. Desktop Linux was in a perfectly usable state in 2017, for many distros, and still is.

As has been already pointed out, this isn't really what Linus said.

And, in any event, fragmentation has nothing to do with it.

Ordinary users (and even many advanced users) don't install operating systems. And one has to go out of their way to buy a machine with Linux pre-installed (and ordinary users don't go out of their way, certainly not for something that they know little or nothing about).

If real (decent) machine with Linux on them were sold in Best Buy etc. there would be substantially more users of desktop Linux. Let's not pretend that multiple distributions is the reason.

I think that's a convenient ego-saving scapegoat for the Linux Desktop. Chrome was never pre-installed and people went out of their way to get it because it was a better product.

I never said users don't install software, I said they don't install OS's. Of course users install software, you can't keep them from installing nearly every weird thing they come across online, that's why a quarter of the machines running desktop Windows are part of botnets.

And of course part of the reason people installed Chrome is because Google owns half of the web and they kept popping up messages telling people to install Chrome. (If it was really about installing better software, we would see Firefox dominance: even privacy and openness etc. aside, Firefox has been an objectively better browser than Chrom{e|ium} since at least version 56.)

Operating Systems are software. They aren't even really that much harder to install than Windows or Linux applications.

Consider that part of the reason Linux Desktop has failed to gain any traction is people like you who would rather imagine that everyone not using their favorite software is just too inept to do so.

Ok, they install applications. I thought the context was clear enough that software would be understood in the intended way. And yes, you're right that installing, say, Ubuntu isn't particularly difficult. It does entail more 'risk' than installing Chrome, since you could wipe out your existing OS and/or data/home-directory unintentionally if you're not careful.

> Consider that part of the reason Linux Desktop has failed to gain any traction is people like you who would rather imagine that everyone not using their favorite software is just too inept to do so.

I never said that they were too inept to do so (I think we agree that it's really not that difficult even for a non-techy person), just that they don't. I think it's fairly clear that ordinary people don't install OSes (again, not that it would actually be difficult for them to do so, just that they don't).

This is true, but a good chunk of marketing will also be required as, by default, people will instantly believe the "alternative" to Windows is a worse imitation. After all, if it's the same as Windows, why not just run Windows?

So, it would have to be spun in the right manner as an upgrade as opposed to an alternative.

> people will instantly believe the "alternative" to Windows is a worse imitation.

Why? I would think the opposite would be true, generally.

Right now in most people's minds there are "PCs" (i.e. Windows machines), which are more budget-friendly, and Macs, which are fancier but more expensive. Just put Kubuntu on a machine and sell it for more than the comparable machine running Windows and people will assume it's better.

The whole concept that "Linux is just a kernel" sounds like some kind of whining pedantic hair splitting, unless you understand that almost all the stuff that ships in a Linux distribution including all the FOSS stuff we call "the desktop" runs perfectly well on all modern Unix-like systems like FreeBSD et al. xorg, Firefox, Gnome/KDE/foo/bar, yada yada. Admittedly there are fewer and fewer Unix-like systems left (I cut my teeth on OSes that are now dead and buried), but it's a massive disservice to all these wonderful projects that we don't have a better ways to describe this stuff so that we don't have people talking about "the Linux desktop". Get off my lawn, etc.

It's worse, things like the Gimp and most most other major user facing linux applications have a history of also being built for windows and mac os. E.g. I regularly use Darktable on my mac and with the last release they also started supporting windows builds. Why not? The more users the better from their point of view.

Linux has a software packaging issue. There are several so-called package managers and they basically have overlapping goals and they all suck from an end user perspective. On Ubuntu when you do an apt-get install darktable, you pull in a gazillion of packages. Everything and the kitchen sink, basically. On a mac, I drag the darktable.app file to the applications after I download it. And it runs. Exact same software. It's a 217MB self contained package. There are no software conflicts. Apple designed the way that stuff works last century when they were designing OS X and wanted to keep the simplicity of how software installations worked on OS 9. The disk usage is a non issue There are no dependencies to manage. This stuff works across major versions of OS X even. Package managers don't solve a problem real users have.

The existence of package managers led to what we now call distributions, which made a lot of sense in the early nineties when slackware came in the form of 27 disks (been there, done that) but not this century. No two distributions are the same. They each need to test and integrate the same software to work in their ecosystem. Even major versions of the same distribution tend to be very different. I personally think Ubuntu, Fedora, etc. have no business whatsoever acting as a gatekeeper here and I tend to think of them more as an obstacle then as an enabler. E.g. I know the Darktable people are preparing a 2.6 release (awesome stuff). I'd like to get a binary package from them as soon as they release it. I don't see what value Ubuntu doing the same months (optimistic?) later adds. Why wait? Their need to test before they can integrate is self inflicted. It's a problem they have yet to solve.

Flatpak and similar solutions are sort of aiming to solve this for linux. But standards are lacking, progress is slow, and this stuff is nowhere close to being standardized. So, again fragmentation. Compare that to the docker eco system. Most custom stuff you deploy to a server comes as a docker image. And you can run those on many different operating systems. This kind of OS neutral way of packaging software needs to start extending to desktop software. We need Docker for end user applications.

I am missing an important part in this discussion: The absolute lack of a stable API for GUIs.

Command line tools, web servers, ... are easy: Take POSIX and be a bit conservative with the edge cases. It will work with a recompile for most linux distros,BSDs, OSX and if you're willing to look at e.g. cygwin, even windows. I had to compile an ancient linux 1.x program last month, and it works.

The GUI world however is a different beast. There is X11 which only offers the most basic of primitives for drawing and pointing, nothing decent for text, and the API designers want to take away even that with wayland. There is GTK that actively does not want to provide any form of stability. There is QT which has a hard-to-interop C++ API and every major version breaks everything once more. And i haven't said anything of the licenses

This means no community investment can be made in Linux GUI's: Every year or so, you have to do serious upgrades or a GUI application simply perishes. Which is basically insane. It means that whatever Linux GUI exists today is temporary for everything but the biggest applications.

Ironically, win32 is the only reasonable option on Linux: wine will provide a good enough environment, and as they are anchored API-wise to microsoft, they can guarantee they'r there for the long term.

But how I dream for a posix-like API that both GTK and QT could provide.

Android shows how you do it. You get a big company with tons of money that wants to seriously build a working platform from end to end. If a company with pockets deep enough had stepped up to create a 3rd viable platform for consumers based on Linux, we'd have it. Mark Shuttleworth's pockets were not deep enough. System76's pockets aren't deep enough. It would have to have been a company like HP or Dell. Dell played with consumer side Linux but never found it lucrative to go all in.

Isn't android heavily fragmented? There are hopes they will get better, for sure, but there is a marked difference between Samsung and other phones. I don't see that going away anytime soon, sadly.

Yes, but apps (for the most part) run consistently across all Android phones. There are multiple UI's but a "single" API. Desktop Linux is fragmented at a much deeper level than just what they look like.

This adds a lot of unnecessary complexity to the Linux desktop experience for developers and that ends up affecting the end users more indirectly.

It is, but the Android Frameworks + NDK are still more consistent that jumping between Linux distributions and whatever their users might be using for the desktop.

Even GNOME and KDE libraries aren't as functional as the Android Framework, featurewise.

It is. It has the same problems with everyone having different UI tweaks, but at least the base Android comes with _some_ UI. Fragmentation isn't that big of a problem for users, because there's only so much you can do on a phone - between your photo album, contacts app, web browser and social media, any kind of UI will do. It also helps that most popular apps ship their own UI.

Android took off when we had HTC sense, Samsung touchwiz and others, almost no one was running the stock UI. But if KDE and GNOME and others were all running on GTK you'd still probably call it fragmented.

There's no consistency between apps on android so you don't notice it as much.

In the early days Android had a very poor user experience, and Google didn't put much effort into changing that for the first few years. If you wanted a useable Android phone you'd buy from HTC or Sony who had a more user friendly UX, so in a way fragmentation helped there.

Nowadays the experience is more mature, but even so a Samsung device has a very different feel from a Pixel or Xiaomi device, even though under the hood they can all be running Android Pie.

Absolutely! Let Linux desktops gather tons of data and then sell it! Sarcasm out.

Linux desktop has not failed and desktop environments competition is a major reason why it is getting better and better. Many people love GNOME3 (and it is a de-facto standardized desktop) but I hate it and love KDE5 (and so do many other people). I hated Unity at the beginning and switched to XFCE when it was introduced but once Unity got improved I've began considering it a perfect desktop. Tiling WMs are awesome (pun intended) for particular tasks on particular display configurations. I also hope somebody is going to implement a Haiku-like WM on Linux or invent something entirely new. Diversity is good!

For existing Linux users, the situation is indeed fantastic. We have lots of choices and we're aware of this.

But if you think of "Year of the Linux Desktop" as the point in time where you can get the Windows-using masses to switch, diversity is a big problem. People don't want to be told that they have to make umpteen choices about what software to use if they want to use a different OS, they want a cookie cutter experience.

This is why "Windows like" is a selling point for many DEs/distros. It's the McDonald's principle: everywhere you go a Big Mac is a Big Mac. You don't have to worry about figuring out what appeals to you in the local cuisine.

> People don't want to be told that they have to make umpteen choices about what software to use if they want to use a different OS, they want a cookie cutter

So they install Ubuntu. How is that any different from Windows or Mac (where one still can go onto the internet and download a multitude of choices of software).

The real answer is that ordinary users don't install OSes. 'Fragmentation' (real or imagined) is a red herring.

Ordinary users install software, and then their beloved software only works in Ubuntu, but they got XYZ distribution with their computer, which just happens to have other package format, additional paths, .so versions, startup scripts and then everything falls apart without technical help.

But why would they have XYZ distro? Whoever sells machines with Linux pre-installed sells them with Ubuntu. Ok, so you turn the argument around and say, "Fine, but their beloved software only works on Fedora. So what then?" Then someone packages up that software in a Snap, an Appimage, or a Flatpak and they install that software (in a not dissimilar fashion to what they might be used to from other OSes).

The large majority of the time that someone doesn't exist for anything outside distribution repos.

IIRC it only takes a click to add a PPA (a 3rd-party repo) in Ubuntu.

The theme is about ordinary users, not power users.

And even then, the software needs to be available from such PPA source and the specific user is required to be running Ubuntu.

What do you mean? All sorts of things get packaged into Snaps etc.

Not by someone doing it for all major distributions in a consistent way for all major commercial Linux desktop software offerings.

> But if you think of "Year of the Linux Desktop" as the point in time where you can get the Windows-using masses to switch

The last years of Unity were the best point I can remember. Final Unity versions looked and felt like a perfect cross between Windows 7 and macOS so I had no problem just giving a person with no Linux experience an Ubuntu laptop and seeing them using it happily with no questions or complains. The only problem with Linux desktop to come into my mind were lack of Adobe Photoshop (GIMP is not a perfect match) and limited selection of games.

These days I tend to recommend Linux Mint for the same reasons, and yeah GIMP is not Photoshop. But if people had bought legit copies of Photoshop to the extent that this is a valid complaint for most people then Adobe would have beat Apple to the trillion dollar mark years ago...

> These days I tend to recommend Linux Mint for the same reasons

AFAIK Mint's Cinnamon was more close to Windows Vista during the days, it has only gotten Win7/Unity-style taskbar in its recent versions.

Apparently they aren't complaining enough to Adobe directly, as they recently stated there isn't enough commercial demand to warrant development costs.

Tiling WMs really are awesome. After I got the hang of i3wm, I immediately wondered why this whole paradigm had been hidden from me, and why it wasn't integrated more in the bigger desktop environments. Being able to move window focus and windows themselves from the keyboard is fantastic. Having things resize neatly instead of having to manually do it yourself is great too.

Really, the reason desktop Linux isn't popular is:

1) A few things still don't work. Vanishingly few now but still a few.

2) Linux can't be simply as good as Windows or MacOs, it would have to be better for people to make the effort. And it's not going to be better. I don't think "better" is possible now (not in a fundamental, decisive way. Lots of little ways sure but, again, I don't think that's what people care so much about). An Os is just a way to launch apps and we've kind of a limit on such goodness. My desktop Linux launches my apps, especially my browser and that's about it. I like being independent of the corporate megamachine but most people would not spend the hard two hours required for this.

> I like being independent of the corporate megamachine

You aren't, and you won't be. Companies did an end run around user freedoms by turning everything into a service. You neither own nor control the software you run in the browser, and neither do you own the data. Replacing an OS won't help you if it's only serving as a bootloader for Google Chrome; if you want independence, you need to prefer locally executable software (which is becoming harder by the day).

Meh, I like being independent in this particular dimension. I use Firefox but that's another aspect. Obviously, Linux is "the revolution" but that doesn't mean it doesn't change on particular aspect of my existence.

I use browsers a lot. This is silly, and assumes that personal control over software is a binary state. I am much more independent of corporate megamachines than I would be if I ran Windows.

- My computer asks me before it updates, and it does not send telemetry data about my files and application usage to another company.

- All of my personal notes and organization is managed through org mode, which is much more flexible and portable than OneNote, which I was using on Windows. Emacs is technically available for Windows, but it doesn't work well.

- The majority of Open Source software is designed to be compiled on Linux, so if you want the full benefit of using Open Source (ie, being able to edit the software yourself or use a specific development branch), working off of Linux is practically a requirement.

- youtube-dl means that when I want to save a video to watch later on Youtube, I simply download it to my local desktop. No more worrying that a corporation decides a month from now to take it down. Because I'm on Linux, it's easy for me to script chron jobs that automatically download from creators I'm looking to follow, which further reduces my need to go to Youtube's homepage and look at its crappy recommendation engine. I have plans to locally host my own server that uses youtube-dl as a backend, and then to set up network rules on my desktop to redirect all Youtube video embeds to it instead.

- On the web, I'm leveraging more Open protocols like Matrix to allow me to primarily run free software while still connecting to friends who are on Discord/Slack. Because I'm on Linux, developing and deploying Matrix applications is much easier.

- Also on the web, I use browser automation tools and scrapers (which work better on Linux) to allow me to manage applications like Twitter without being forced to look at their crappy recommendations and ads, and without being beholden to their user-hostile API rules. This kind of stuff can save you a tremendous amount of time and energy, because sites like that are designed primarily to waste your time. I've thought about setting up a similar system for Hackernews, but ATM it still passes the value threshold for me.

- I use Borg Backup (which works better on Linux) and B2 so I have complete control over my own encrypted backups, and I don't need to share the key with a corporation.

- I'm able to recycle old devices by installing lighter, Arch-based distros on them. This helps me avoid the consumerist grind of throwing things away and buying new devices over and over and over again. A significant portion of my home setup runs off of recycled machines.

- Speaking of my home setup, if you're looking to reduce your reliance on the web by building competing or personalized services that you host yourself, knowing Linux is basically a requirement, because at some point you will want to do something outside of NodeJS, and then you'll have to interact with the underlying server, which will be running Linux. Running the same OS everywhere will improve your development time, for the same reason why NodeJS became popular. It's just less context switching.

Switching wholesale to Linux has greatly improved my life in noticeable ways. I spend less time fighting with my computer to do things. I have more control over when and how I connect to the Internet. I feel more confident about the software that I'm running. And I feel like in some ways, I am more independent of the corporate megamachine.

This is not a binary "you're free or you're not." I'm a web developer. I spend most of time looking at either Emacs or a browser. Switching to Linux is still worth it. Could my situation be better? Yeah, and I'm working on it. But people who say this kind of stuff forget just how bad the Windows world actually is right now.

I guess each person's usage would change their view on this, but I actually do think it's better. You've got the rock solid shell that Unix popularized, repositories of software that's just a command away to install, dependencies handled for you across all your packages, and things are generally able to work together better due to software freedom and a community of tinkerers. If you're running firefox and an office suite, maybe you don't care too much about your operating system, but I definitely think there is some importance to it. Maybe something like a shell and the tools you run in it would be counted under "apps" for you, but to me it feels a little different.

I would personally also have the view that Desktop Linux is superior. But the problem is it's superior in a not-exciting way. Not-exciting is exactly what I want. It accomplishes everything needed in a low-key way.

But the thing is the average person get no boost of endorphins for installing Linux. They can do what they did before just fine but there's no literal or metaphorical explosion of stars. And means they'll abandon the effort after a while.

And maybe they don't get any sound, or when they plug in a second monitor it doesn't work, and Fortnite doesn't run, and they can't Skype their parents.

The Linux desktop is inferior in a lot of non-exciting ways as well.

Not being able to run all the proprietary software is a given, although I believe Skype is natively supported for the record. I don't run into hardware issue support, though. Especially with something as basic as sound or a second monitor. The worst I've heard recently is that some wireless cards may not be supported because they need proprietary blobs to work. Most things works out of the box since the support is all built into the kernel.

> Linux can't be simply as good as Windows or MacOs, it would have to be better for people to make the effort.

I really don't think this is the reason. Pretty much anything is better than Windows, but defaults rule supreme and Windows is what you get on your computer until you pay extra for MacOS. Ordinary users aren't likely to change the OS on their computer any more than they are to swap the engine on the car.

Cocoa and Android Frameworks are the only tooling that compares to Windows developer experience for UI/UX centric devs.

For how much effort GNOME and KDE devs have put on their frameworks, they still don't offer the full stack experience across APIs, IDE, GUI tooling and OS APIs.

Ok. Of course there's a sizable group of devs who really don't like the Windows developing experience (part of why Microsoft has been so keen on getting the the subsystem for Linux into place, to lure Linux-centric devs over).

But I think that's largely irrelevant to desktop share. It's not as if the majority of Windows users are developers.

Someone needs to write the applications those users have access to.

So if the desktop market is bigger, by definition there needs to be a bigger amount of desktop devs to serve the market.

Thanks to people that buy Apple to develop for GNU/Linux instead, Microsoft has learned that for many developers it isn't about GNU/Linux rather some kind of POSIX like compatibility.

Since Linux seems to have replaced POSIX in the minds of many devs, they apparently decided it was better to support Linux syscalls than bring back the SUA personality.

Which is something that even BSD and illumos were kind of forced to do.

So given the current trajectory of Apple hardware, they saw an opportunity there to get those devs on Windows.

A good start would be implementing flicker-free boot on Linux. Windows and macOS had it for a long time. On Linux, it takes 5-6 mode changes before the system actually boots. It doesn't make a good impression on users, especially ones unfamiliar with Linux to see the system constantly go dark, make some noises and switch from text mode to graphics mode constantly. Same thing for shut down, most Linuxes when shutting down flash text mode for a bit with lots of messages like "trying to kill xxx unsuccessful". To an average user that screams "this software is unfinished and can break any moment", which doesn't inspire confidence.

I think the best chance for unification was Ubuntu and Unity. I use Unity on Ubuntu 18.10 because I don't like the GNOME interface (and it's much slower on my low-end laptop too). Unfortunately, the community seems to enjoy reinventing things. Implementing new stuff is exciting, fixing bugs isn't :(

To me this sounds like the rough equivelent of "users aren't buying our product, it must be because it is the wrong color".

In my experience the real barrier to regular users adopting Linux has been Microsoft Office. The UI is not a big impediment but when it comes to "How do I send and receive word/excell documents?" That's where the wheels fall off.

Sure there are work arounds and other formats etc but for most people that is just too much hassle.

This is mostly a non-issue with LibreOffice, unless you work with the advanced features of the Office programs (most people don't). Sure, the UI isn't as good, but I don't think that's the biggest barrier to adoption, or even close to it.

LibreOffice has literally never parsed literally any corporate document I've ever received correctly.

Well if we're talking about work then I agree. But for "normal user" things, the LibreOffice suite works just fine. I've only had minor incompatibilities with it day to day with casual use.

But for "normal user" things, the LibreOffice suite works just fine.

A “normal user” thing is to need to occasionally load a work document at home.

Anyone who uses Excel for any kind of serious work quickly gets frustrated by the LibreOffice limitations.

Hence: "unless you work with the advanced features of the Office programs"

Even basic formulae behave differently though.

Umm, no.

The only time I use W10 is reading ppts by profs because Impress really messes the rendering.

I admit I have never actually used Impress, so I'll take your word for it. But I have never had an issue opening ppts in Google Slides. The point being, there exist solutions for opening Microsoft Office documents on Linux that are good enough for average/casual users.

The idea of a Linux Desktop is about 10 years too late now and fading fast.

I'm using Windows 7 on a desktop built in 2012 and I have no impetus to change. My wife has abandoned her desktop for an iPad Pro, which she uses at work extensively. The only thing she needs a desktop for is Excel, which she uses hardcore.

The only application I run on my desktop these days is Chrome/Firefox. Other than that I'll run Sublime because I'm a programmer, but there's nothing else I really need. Everything else is on my iPhone.

Failed? I got rid of windows back in the windows 98 blue screen days. I've been using Linux desktops ever since

No offence, but the success of desktop Linux isn't measured by the adoption of 1 person.

This is such a Linux Desktop community statement. "Your experience is irrelevant because it Works For Me(tm)".

My view on the topic:

I have used Linux Desktops for about ~15years and involved in the Development community it astonished me how frequent the APIs break specially at Desktop Application/libraries level. I remember several libraries, like GTK+ deprecating often APIs even during stable releases. The consequence of this is that the main application developer spends a big part of its time constantly updating its application instead of developing new features and make it feature rich.

The same can be said in order parts of the Desktop like the transition from X11 to Wayland/Weston and all the Desktop Environments that some years ago fragmented and decreased their quality. Unity, KDE and GNOME all failed in producing a Desktop that really appealed to all users.

Finally for me another failure is the package management. For the App developer he needs to get his app packages for all major distributions and imagine the effort of the App developer and App maintainer to support different libc and userspace tool versions.

All in all the Application developer has such a huge burden that he is most of the time updating his app to new apis/tools than actually developing new features.

And one of the biggest reasons here is package management - the rpm, Deb , Pacman split is one of the biggest divides. I don't know if I should add APK to this list.

We had a chance to fix it in the new world, but it's gone back to a zeroinstall versus flatpak versus snap vs Deb vs rpm vs Pacman ecosystem.

Lets see if Docker CNAB and systemd push this ecosystem forward.

Reposting http://0pointer.net/blog/revisiting-how-we-put-together-linu...

I think Nix and Guix are going to solve this problem better than snaps and flatpaks. Not only are they really good package managers, but they were made to work on other distros.

The average professional website /web application looks more visually consistent and appealing than any Linux desktop, ever. No matter what desktop they always end up feeling weird and like the spacing is wrong or the fonts don’t match or something.

Put another way, it’s no longer hard to design brautfinand consistent User interfaces but for some reason that’s never been possible on a Linux desktop.

Linux desktops have always had a sort of Frankenstein feeling to them, clearly made up of a hodgepodge of boys that just don’t quite fit together.

I think it failed not because of some wrong technical setup or fragmentation but because nerds generally don't care about the novice user experience, it's near the bottom of the list of priorities. For profit companies don't care either but are instantly rewarded for it financially so those that get it done increase their market share. It's a sad dilemma that I have no idea how or if it can be fixed because I would love not having to use a mac and use Linux as a desktop instead.

Nerds don't even care about the nerd user experience. If you complain about anything then you should fix it yourself, or you're doing it wrong, or it isn't actually a problem because they've never encountered it.

I don't think the Linux desktop has failed. If popular adoption is the standard then MacOS is also a failure of sorts. At the end of the day, there was just no reason for anyone except enthusiasts to end up with linux on their machine since with rare exceptions you literally couldn't buy it anywhere. If you don't build software, you have pretty much zero incentive to use a linux desktop, especially when factoring in the monumental software compatibility hurdles for non-technical users.

>If you don't build software, you have pretty much zero incentive to use a linux desktop

I've heard this before, but I never really understood why people think it. I've always had an interest in computers, but I think there's a huge jump in difficult and complexity from using a less popular operating system to creating your own software. I consider programming to be extremely difficult. Using GNU/Linux is just something new. Once you overcome the initial discomfort of it not being like whatever you're used to, it's just fine. It's fun, even.

I agree with everything you've stated here. I'm not saying there are no reasons to switch, I'm saying that the typical user has no incentive to switch. The linux desktop is just as capable and IMO superior to a Windows or Mac desktop, but the story for the user is "buy a Windows machine" or "buy a Mac machine" and linux simply never comes into the equation unless they are an atypical tinkerer type or someone technical guides them to using linux.

> If you don't build software, you have pretty much zero incentive to use a linux desktop, especially when factoring in the monumental software compatibility hurdles for non-technical users.

I respectfully disagree. Ubuntu really works well for a lot of non-technical folks. A few of my non-technical family members run Ubuntu variants and have remarked at how much better it is than their old Windows 10 install. I don't think they'll be going back.

Unless you've got strange hardware like a Mac, Linux for the most part "just works" these days.

The biggest barrier to desktop Linux for your average citizen is that the advantages of FOSS, stability, and cost just aren't enough against the disadvantages of Windows. If Microsoft started charging people $1500/year to run desktop Windows, you'd see a lot of people look for alternatives.

I actually agree with everything you wrote there and have also switched some of my relatives over to a linux desktop. Unfortunately, a technical relative willing to set everything up isn't a practical path towards popular adoption. You have described the linux desktop as a viable alternative to Windows, but you haven't shown any incentive for someone to switch. I think the Linux desktop is a superior experience, but if it doesn't come preinstalled and preconfigured on commercial computers there is just no scenario where the average user will even get to use a linux desktop.

I think the incentives of Linux over Windows are well known, it's just that they aren't enough for the average public to bother.

We switched because of Microsoft spying. My daughter literally came to me and wanted me to install Linux on her new laptop. So, there is incentive.

That's great, but "Microsoft spying" is something that most people don't care about and those that do are more likely to switch to Mac rather than even think of much less tinker with linux.

This ^

It's amazing how so many smart people can be so blind.

I've been using unix and linux for about a quarter of a century. I cut my teeth on proper X Window terminals and Motif Window Manager (and NeXTSTEP and SGI IRIX workstations, etc, etc.) I was using firefox on linux before it was even named firefox. I've used a variety of desktop linux distros over the years, but I've never felt compelled to actually make the jump for good.

In theory I'm the perfect candidate for switching to a linux desktop but for me it's never been worth it. Yes, desktop linux can be a perfectly fine experience, but is it a superior experience? Every time I've made a serious effort to try out a desktop linux OS it's always felt like a bit of a downgrade. Not just because of all the stuff I miss out on like being able to run games and other software I like, but even well beyond that. Despite most desktop linux distros being pretty decently polished there are inevitably a few dozen little completely unfinished and often completely buggy or broken parts of the OS lurking around. It's like opening a door in a house and finding everything ripped down to the studs with an excitable nest of raccoons roosting where a bedroom should be.

The fact is, it's pretty common to have to do some rather serious "IT department self-service" when you try to use desktop linux, just in the course of dealing with ordinary trivial stuff like power management, connecting to wifi, watching video, etc. I remember the bad old days of X Window config nightmares: type in the correct horizontal sync frequency in kilohertz to avoid blowing up your monitor. Things are light-years better than those days but they still aren't at the "install off a usb drive and everything basic mostly works with at best some annoyances" level.

The value proposition of a linux desktop has to have a lot more to it than "you can have a kind of ok experience with it if you don't ask for too much" if it's going to get any sort of adoption. Especially in a world where the competition isn't just windows/macos computers but android/ios tablets and smartphones as well as chromebooks. Linux has such a compelling story in the server space, but people need to really stop pretending that they can just tweak that story a bit and push it into the desktop space, it still needs a ton more work to get there.

The fact that you are being downvoted is a pretty good data point for why the Linux Desktop sucks and continues to suck.

Rather than develop something good, the people who work on and evangelize the Linux Desktop would rather stick their fingers in their ears and pretend that everyone who doesn't use it is just too stupid to see how obviously superior it is.

Is there anything preventing the Linux Foundation jumping in and officially supporting a desktop environment? Is it because the two main DE’s are already more-or-less backed by a foundation and the LF hopping in would fragment it even further?

Ubuntu tried for a while to lead their own efforts (MIR/Unity) and in the end, they pulled the plug and decided to just adopt Wayland/Gnome. Do people consider this a good change for the linux desktop landscape?

> Is there anything preventing the Linux Foundation jumping in and officially supporting a desktop environment?

How would it change anything? Stock Ubuntu, Stock Fedora, Stock Red Hat, Suse Enterprise Linux at least all ship Gnome Shell as the default desktop. If the LF said "Gnome Shell is the default 'official' Linux desktop", what would change? I don't think Best Buy would immediately begin stocking Linux desktops.

Sadly, this is the nature of open source and decentralization. If your code can be easily forked, if consumers have freedom and control instead of an authoritarian entity gatekeeping what can be done with their software, then fragmentation will occur.

As users tweak and change systems and software to meet their needs, a variety of options and choices become available. Each branch on the tree results in further fragmentation. For the standard user this is a bad thing as it means they can't just learn one widespread system. For users like me this is a boon, because it gives variety. If I don't like how Gnome works, I can use KDE, if I don't like APT I can use YUM. If I don't like SystemD, I can use another INIT system.

Desktop Linux is like the Hogworts limit of academic incentives: wonderful baubbles to play with appear constantly, as if from thin air, but you're never getting an Air Force or intercontinental shipping system out of it.

Linux not gaining majority maindshare on the desktop may have something in common with why Chrome has gained just that in browser space, i.e., getting bundled in or preinstalled. The vast majority of PC/laptop users will not have a compelling reason to change the OS that comes preinstalled with their computer, and that is almost always Windows. If Linux can find an OEM to massively push it out on a range of machines (not just targetted at developers), then we'll see the tide turn, but I suspect OEM will fear the wrath of the behemoth...

> Linux can find an OEM to massively push it out on a range of machines

Who is Linux?

I feel like the Linux Foundation won't do much to dethrone Windows, with Microsoft as a platinum dollar bag on board.

It's as if Linus is oblivious to Google's Fuchsia effort. Before Linux conquers the desktop via ChromeOS, ChromeOS will have pivoted away from even running it on bare metal.

It's not that. It's that if I create and want to sell desktop software I would not loose substantial user base by NOT supporting Linux. I would concentrate my investments on Windows and/or maybe macOS and Linux is third and only nice to have. Nearly nobody makes big money with Linux desktop programs. Companies like e.g. Adobe know that.

On the other side of things, if I wanted to support only Windows, I would need to use Windows as a development machine, which would be a substantial loss to productivity for me.

I don't feel like Windows in its current state is a platform that I would recommend to anyone who uses computers as a professional.

So when I get to which platforms I support, if it's something personal for me, I only support Linux. If it's something that I plan to sell, I support Windows because that's where the money is, and Linux because, well, I've got this build sitting here, so I might as well throw it out as an experimental build (see Spotify, Unity, Reaper, etc...). Even if I'm developing a game that will rely on Windows specific APIs, I prefer to put those parts in last and do the majority of development on Linux.

The exception to that is if I know I'm going to be doing a lot of support. I feel like handling support for Linux users is worse than handling support for Windows users, and will often cost me more time and money in the long run.

So when I think about much bigger environments like Adobe, I'm sure they have Linux builds internally, because I just don't believe that their entire development staff would be content to use Windows. I would be willing to bet pretty heavily that there's a subset of Adobe engineers who have internal builds of Photoshop compiling on Linux.

But compiling Photoshop for Linux is not the only challenge to actually releasing it on Linux. Linux fragmentation means you never know when something is going to go terribly wrong because somebody swapped out a random part of the host OS. It means another testing environment, and another set of internal documents about production deployments.

I feel Linux is currently hands down the best engineering environment out there. But engineers don't handle support calls. So I would hazard that a lot more software is out there that could already run on Linux, but just hasn't been released.

Usually engineers at companies like Adobe use whatever the IT department allows their computer images to be.

Normally rogue installs aren't well seen from security point of view.

That opinion has been around for a while; see: One Frickin' User Interface for Linux (2003)


No friggin way. Only having one user interface is what drove me away from Windows.

I'm not alone in my desire to have things my way, and to meddle with everything. Every time someone rolls out a new distro, a new package manager, or just a new DE, Its because someone wasn't satisfied with following someone else's lead.

All of us, you, me, the author of that article, Linus, and Stallman, have one unifying trait: "Not satisfied with the menu".

Collectively, Linux is never going to be satisfied with any menu.

The linux community exists as a perpetual diaspora. It was born from people wandering away from fiat design. The vast disjointed ecosystem happened because of this adventuresome spirit, and its delusion to think that any sort of 'one size should fit all' paradigm is going to quell that.

Or that it could be enforced.

"The 1FUI will require the backing of a major vendor as champion and enforcer to succeed."

I don't know what that author thinks, fifteen years later. I'd tell him that "Fewer options is never a solution to people who went looking for more options".

The Linux community has spent 27 years persistently solving a problem: Not enough options. 'One Frickin User Interface' is like trying to make a river flow uphill.

For me, the weakness in Linux on the desktop is laptop battery is generally poor compared to running Microsoft or Mac OS X. Second is multiple monitor support is such a hassle in Linux. For Microsoft it is an excellent experience and OS X isn't too bad either.

A couple of data points to ponder.

Well, you just wait - Microsoft is going to come to our rescue: https://www.zdnet.com/article/ms-linux-lindows-could-microso...

Impressive content, keep doing more https://www.fita.in/big-data-hadoop-training-in-chennai/

The title is not just click-bait, it's flat-out wrong. Instead of failing it's become even more successful over the years, because of the efforts of thousands of maintainers and developers. The recent support/endorsement from Valve is just another success story. And Linus is not the only one who's identified several competing major software projects as the main culprit for Linux desktop lacking traction in the past years.

I'm surprised though, that systemd was adopted unanimously almost immediately on every major distribution over classic Init despite lots criticism and protests. But they can't agree on which GUI is best for a Linux desktop? Why is that I wonder?

> Why is that I wonder?

Maybe because"configuring" packages and services (main job of init system "users") is lot easier than writing gui applications. App developers use so many languages and frameworks (often with failing cross platforms abstractions) that it would be really hard to "force" them to use a common standard.

You mean the 1% desktop users running Steam?

Mixing music over the voice did not work for this video.

OT: I wish Youtube / technology in general had an option to filter out noisy background music.

Which is what a lot of people have been saying for a very long time.

Every desktop distro needs to have a "Home User" GUI configuration option either as a default or an option during the setup. This should emulate the UX of either Windows or MacOS as closely and as shamelessly as possible.

Linux Desktop's failure isn't, and never has been, that it just doesn't look enough like Windows. People have been saying variations of that idea for decades now and look where it has gotten us. Stop looking down on users as stupid people who don't have good reasons for the choices they make and need to be fooled into using your system!

Linux Mint is close enough.

Poor sleep or suspend support is much worse.

I'm so glad I come to the comments.

As someone who recently used a Linux laptop for a week before punting and going back to Mac, finding this talk right now is a cool coincidence.

interesting. What where the reasons if I may ask and what about OSX/macOS did you miss on linux?

I love Linux for servers but I have a lot tools that work a certain way for work and it would have taken more time than I had to get my Linux set up that way. Part of it was frankly the Linux laptop I ordered was made of cheap plastic, and the track pad didn’t work very well. I was disappointed I spent all that money and they skimped on things that really affect the user experience.

So it could be I ordered a Linux laptop from the wrong company. Of course, I won’t name names.

I was behind on my work, stressed out, and having trouble sleeping so I sent the laptop back and bought a MacBook.

So in thinking about it, if the laptop had been made of higher quality material and the track pad had worked well, I ay well have had a different experience. It also fell in a week where I head very limited time.

I doubt there’s a single reason why desktop linux failed. I do know why I stopped using it: driver support, lack of some of the commercial apps I wanted (and no good open source alternatives), constant rewriting of things that were fine as they were. The former two are indirectly caused by the lack of an ABI, the latter due to the nature of volunteer development work (maintaining is less fun than rewriting).

What sort of commercial apps weren't available that you needed? Is it something like Photoshop where you found the alternatives lacking, or something more niche where there was nothing like it at all?

I think there is a single reason, one reason in particular that every problem with Linux Desktop ties back to: The people who make it have a low opinion of users.

Every time this sort of thing comes up you get dozens of posts about how the "average user" wants this, or doesn't want that, or just uses the OS that came with their computer, or just wants it to be pretty, etc.

Consequently, they think putting lipstick on a pig will work and are really surprised when it doesn't.

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