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...
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.
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.
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.
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).
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).
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.
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.
>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
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.
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.
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.
> 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 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.
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.
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.
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.)
> It is like editing a file, and not saving it. Is the editor at fault?
Yes
> Should it autosave the file?
Yes
> 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.
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.
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/.......
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).
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...
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.
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.
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.
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!
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?
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.
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.
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.
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.
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
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.
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.
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.
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.
> 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 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.
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.
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!
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.
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.".
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.
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.
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.
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.
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.
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 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).
> 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...
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.
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, 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.
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.
>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.
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.
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.
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.
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).
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.
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.
> 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.
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.
> 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.
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...
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.
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.
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.
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 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.
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.
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.
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.
224 comments
[ 3.9 ms ] story [ 289 ms ] threadWhether 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...
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.
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).
In some sense that's a self-imposed limitation. Linus could have chosen to create an OS (like BSD) instead of a kernel.
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.
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.
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
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.
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.
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".
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.
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.
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.)
> It is like editing a file, and not saving it. Is the editor at fault?
Yes
> Should it autosave the file?
Yes
> 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.
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.
The BSD people also don't make a GUI.
* https://lumina-desktop.org/ (https://news.ycombinator.com/item?id=14282349)
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.
Google nailed that UI and everything just works.
Settings are just bundled in with your browser settings, no cli anything to run.
* 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/.......
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).
> 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.
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...
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.
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.
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.
Consider the possibility that your idea of what "the common user" wants is something you made up.
I would argue that having a choice between hundreds of DE's is a bad thing for the more casual user.
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.
The big players tend to be compared, isn't that reasonable?
Don’t worry Linus, with Snaps and AppImages we’re hard at work fragmenting that front too!
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...
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.
Edit: clarification.
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.
This is happening. The web is becoming the de-facto desktop environment.
A browser could run bare metal for what I care.
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.
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.
It is however the pace how things are going, even most mobile apps are modern versions of those 2-tier apps during the 90s.
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.
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 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.
I'm impatient to be able to update my laptop for a X1 carbon and a speedy KDE.
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.
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.
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.
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.
http://web.archive.org/web/20070830173313/https://cs.anu.edu...
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.
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!
There's no consistency between apps on android so you don't notice it as much.
This adds a lot of unnecessary complexity to the Linux desktop experience for developers and that ends up affecting the end users more indirectly.
Even GNOME and KDE libraries aren't as functional as the Android Framework, featurewise.
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.
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.
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.
And even then, the software needs to be available from such PPA source and the specific user is required to be running Ubuntu.
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.
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.
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'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.
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?
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.
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.
So, it would have to be spun in the right manner as an upgrade as opposed to an alternative.
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.
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.)
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.
> 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).
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.
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 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.
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.
But I think that's largely irrelevant to desktop share. It's not as if the majority of Windows users are developers.
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.
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.
The Linux desktop is inferior in a lot of non-exciting ways as well.
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).
- 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.
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.
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'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.
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.
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'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.
Sure there are work arounds and other formats etc but for most people that is just too much hassle.
The only time I use W10 is reading ppts by profs because Impress really messes the rendering.
A “normal user” thing is to need to occasionally load a work document at home.