TE
TechEcho
Home24h TopNewestBestAskShowJobs
GitHubTwitter
Home

TechEcho

A tech news platform built with Next.js, providing global tech news and discussions.

GitHubTwitter

Home

HomeNewestBestAskShowJobs

Resources

HackerNews APIOriginal HackerNewsNext.js

© 2025 TechEcho. All rights reserved.

Linus Torvalds on why desktop Linux sucks (2014)

81 pointsby IvanGoncharovabout 4 years ago

23 comments

bawolffabout 4 years ago
What he&#x27;s saying is true, but also i think the app-store type approach that apt-get provides is a major benefit.<p>With windows i have to find some random program, hope its not malware, possibly pay for it, etc. With linux, i have reasonable assurance that packages (from main repos) aren&#x27;t evil, they are free (as in beer), and i can easily search through and find something for my usecase. I can&#x27;t really do that in windows.
评论 #27089148 未加载
评论 #27088806 未加载
评论 #27088942 未加载
评论 #27088781 未加载
评论 #27088819 未加载
评论 #27091148 未加载
评论 #27088843 未加载
评论 #27088895 未加载
SV_BubbleTimeabout 4 years ago
Worth watching. But if you don’t... [Linux desktop sucks because application writers don’t make binaries that “just work”, pushing the user to always just have to recompile for their system, they try and address this in the kernel by not breaking things, but the distributions to and screw it all up, because breaking is fine so long as it’s “improving”]<p>Tons of contrary points I’m sure, but duh. It’s really nice to be able to run Windows 3.1 code on a Windows Server 2019, the idea is nice, practicality aside.<p>As someone who could run Linux desktop, I see it as the same reason I don’t root an android phone, I do enough tweaking and tinkering in my own code that sometimes I just want tools that immediately work. So I can do my other work. Linux as a system, great, as a desktop, I’ll never set one up for someone I don’t want to hear from all the time.
评论 #27088618 未加载
评论 #27088575 未加载
评论 #27089534 未加载
评论 #27088597 未加载
评论 #27088667 未加载
bcrescimannoabout 4 years ago
While I think a lot of the complaints he raises here are still relevant 7 years later, it&#x27;s interesting that both MacOS and Windows have trended more <i>towards</i> a package management system with their respective app stores--with MacOS especially discouraging downloading or running any apps from outside that ecosystem.<p>Since one can reasonably expect to target &quot;Windows&quot; or &quot;MacOS&quot; the packages in these app stores can be maintained directly by their developers which avoids a lot of the problems that Linus talked about in this video. When you get past the surface layer concept of, &quot;We&#x27;ve sort of overblown this whole package management thing,&quot; it&#x27;s really an argument that the fragmentation of the distributions and shared libraries that can&#x27;t reasonably be shared.<p>Even using Arch with its rolling release model and making liberal use of the AUR for the most bleeding edge, I&#x27;ve found myself in exactly the situation Linus describes of needing a newer version of a package because the older one flat out doesn&#x27;t work for me. I <i>can</i> make it work because I&#x27;m technical enough to roll my own package if I need to; but, even my wife who is pretty tech-savvy herself wouldn&#x27;t be willing or able to go down that route.<p>IMO, the fact that the conversion in these comments will be rich with opinion and debate (almost all of which will be informed and intelligent) is the crux of the problem. Too many cooks have built too many kitchens--or some such metaphor. :)
评论 #27089305 未加载
c-smileabout 4 years ago
What exactly is the Linux Desktop? There are too many of them.<p>&quot;If you have several watches you cannot tell exact time&quot;. Likewise &quot;several Linux WMs - no Linux Desktop at all&quot;.<p>Creating Linux desktop application these days is the same task as to create multiplatform application that will run on Windows, MacOS, Linux&#x2F;GTK, Linux&#x2F;KDE, Linux&#x2F;... (~40 of those more).<p>Conceptually we can use XWindow primitives (if it is used in particular WM), but that does not help at all when your application need to show &quot;file open&quot; dialog or the like.<p>If someone would ask me to establish Linux Desktop architecture I&#x27;ll start from defining WindowProc(HWND,MSG,WPARAM,LPARAM,LPRESULT*):BOOL abstraction. Similar to VERY stable WndProc concept of Microsoft Windows. Plus defining stable API that all WMs should implement.<p>Only after that we may see real Linux Desktop - not just WM but bunch of useable applications.
joericheyabout 4 years ago
Shouldn&#x27;t this be marked with (2014) as it was made at DebConf 14?
评论 #27088512 未加载
tomrodabout 4 years ago
My family and I have used Linux desktops since 2008, when Windows Vista failed to run full screen video with BSOD.<p>There was a learning curve for a few months, but I&#x27;ve never regretted the shift and it has made for significant contributions to my career.<p>YMMV.
评论 #27088686 未加载
评论 #27089562 未加载
that_guy_iainabout 4 years ago
The real issue, macos has one distribution, Windows has one distribution, Linux has so many I doubt anyone really keeps track. The issue with Linux is they’re working in fragments instead of as one. The problem is oss not the operating system but the culture it was developed in.
评论 #27089185 未加载
评论 #27088859 未加载
评论 #27089170 未加载
评论 #27088831 未加载
kingsuper20about 4 years ago
I hear what he is saying, although I haven&#x27;t run into issues with applications so much. It makes you respect how much trouble Microsoft has gone to through the years.<p>If I&#x27;ve had a problem with desktop Linux, it&#x27;s been on the driverish edges. Sleep behavior, printers, graphics cards, wifi, multiple monitors. That&#x27;s also what seems to make OpenBSD a pain.
评论 #27089806 未加载
turtletontineabout 4 years ago
It sounds like he&#x27;s saying Linux desktop DEVELOPMENT sucks, not that using Linux desktop sucks.<p>I&#x27;ve been running (mostly ubuntu based) Linux since 2014. The only major problems I&#x27;ve had have been driver issues, userspace applications have largely worked out of the box. Maybe the devs behind everything I use are doing an exceptional job, but I&#x27;ve never noticed an update break a common application due to library changes.
willis936about 4 years ago
Does appimage not solve this problem? Linus himself released software by appimage the next year (2015).<p><a href="https:&#x2F;&#x2F;en.wikipedia.org&#x2F;wiki&#x2F;AppImage" rel="nofollow">https:&#x2F;&#x2F;en.wikipedia.org&#x2F;wiki&#x2F;AppImage</a>
评论 #27102307 未加载
评论 #27088912 未加载
throw7about 4 years ago
Linus is right about being angry when binaries break. I remember google music actually provided a linux upload client... in a later fedora release, it broke. ISTR a library it depended on broke it in some way in the newer version. The issue is there&#x27;s no Linus in library land and there couldn&#x27;t be anyway.
happyjackabout 4 years ago
I run RHEL 7 desktop, because it&#x27;s what my vendors support (scientific &#x2F; engineering desktop applications, simulators). I&#x27;m about to get a new Thinkpad, and highly considering running Fedora because packages on it weren&#x27;t written in 2002 (sarcasm) and use it side by side to my RHEL 7 dekstop, even if some of my work applications won&#x27;t run on it.<p>Linus is completely correct, though. I think the open source world has gotten way to mixed up with the &quot;free&quot; world. I understand that gcc and some of the HUGE packages are free and open source. They are cost shared by companies and have many people that use them and are maintained well. But other packages with small user bases? His dive example was perfect. Unless someone uses it personally, how can you expect to maintain it unless you pay for it? Or, if the software is paid, how can you expect the company to maintain it for Linux, when their user base is going to be for Mac &#x2F; Windows?<p>I think Ubuntu LTS is the most sane approach I&#x27;ve seen. You can get relatively new packages in a pretty stable environment. It&#x27;s not RHEL stable, and Canonical is starting to care less and less about desktop Linux, but it&#x27;s not too bad. Ubuntu needs Vanilla gnome option by default, though. Their default look is horrendous. I know I know, it&#x27;s Linux, you can customize it! Why should I have to waste my time?
sascha_slabout 4 years ago
This has improved a lot. Hardware support has caught up. I&#x27;m using a 1 year old laptop with hard to support hybrid graphics (AMD integrated, NVIDIA dedicated). In Fedora, it all worked out of the box. And you get an extra 50% battery life over Windows. In 2010, when I last ran a laptop with hybrid graphics, setting up Bumblebee was a disaster.<p>The only line I had to type into a terminal in Fedora 34 to make it a GUI-usable system was adding the default flathub repo. That fixes the package manager issue. Most people have so much bandwidth and storage coming with their devices, shared libraries make less and less sense anyway.
评论 #27088684 未加载
austincheneyabout 4 years ago
TLDR;<p>Linux distribution landscape is diverse (complex) and emphasis is on shipping source code and not something (binary) that real people use. For example something is broken so do you tell grandma to download source code and compile it or do you give her a compiled binary that fixes the problem in one click?<p>tldr; tldr; Not simple (more than few).
davidgerardabout 4 years ago
This is still the case. Snaps and flatpaks help a bit. But for a lot of stuff, the <i>easiest</i> way is to run the Windows binary under Wine. Including open-source stuff.
rektideabout 4 years ago
it&#x27;d be interesting to try to make a hybrid static&#x2F;dynamic library program. assume you can find the libraries you want on the system, but have a fallback where you go download some Debian packages &amp; install them into your XDG_CACHE_DIR &amp; load libraries from there, when the system (whatever os it is) didn&#x27;t have it.<p>part of the trick would be making this code significantly smaller than doing a static build.
评论 #27088650 未加载
gwmnxnp_516aabout 4 years ago
One of the greatest problems of desktop Linux is the huge fragmentation. Linux desktop has fewer users than MacOSX and Windows, and lots of distributions, each one with a different packaging methods and incompatible dependencies which may result in work duplication and dependency hell, that can happen if one needs to install an application outside of repository, but it needs a dependency that overrides an already installed library. Other problems of Linux distributions is that they not allow keeping multiple versions of the same application and multiple versions of the same compiler. The packaging issue is not relevant for people using Linux as server due to Docker, that can package any application alongside the configuration, dynamic linker, GlibC and shared libraries.<p>Another reason why is hard to find binaries for Linux is the lack GlibC backward compatibility. Even a fully statically linked application or packaged with all shared libraries dependencies via LD_LIBRARY_PATH or RPATH may crash if the application was linked against a newer version of GLIBC and is deployed on an Linux distro with an older version of GLIBC. The linking error happens due to the lack of backward compatibility of the GLibC, which is the main bridge between the user-space and kernel-space on Linux.<p>A possible solution for packaging an application for multiple distribution with minimal work duplication might be: 1 - minimize the number of dependencies; 2 - static link as much as possible; 3 - instead of linking directly against shared libraries such as Curl, Gtk or SSL, load those libraries through dlopen(), dlsym() Unix APIs; 4 - build the application on distro or docker containing an older version of GlibC for dealing with GlibC compatibility problems; 5 - pack all shared libraries dependencies on the same directory as the application setting RPATH to a relative path to the shared libraries dependencies; 6 - embed all files additional non-source files such as images or text in the binary using resource compilation; 7 - distribute the application in a zipped archive; 8 - use GO (Golang) which is able to static link almost all dependencies and also bypass the GlibC by performing system calls directly. A golang binary will just run everywhere with minimal effort.<p>Linux distributions could make the developers life easier if they copied the MacOSX app bundle idea where applications are distributed as &lt;APPLICATION-NAME&gt;.app directories containing metadata, the executable and all shared libraries dependencies. The advantage of this approach, is that the application can be installed by just dragging and dropping a folder to the &#x2F;Applications directory and uninstalled by just deleting a directory. Another benefit is that the user can keep multiple versions of same application and not fear dependency hell or overriding a previously-installed library.
throwaway77388about 4 years ago
People who haven&#x27;t tried Linux on desktop for some years might like these distros:<p>Pop OS<p>KDE Neon<p>Linux Mint (Cinnamon version)<p>MX Linux (ahs&#x2F;Advanced Hardware Support version)
评论 #27091502 未加载
dewlinedew2about 4 years ago
Fedora Silver Blue may now resemble somewhat he&#x27;s talking about in the video, give it a whirl!
评论 #27091029 未加载
intcabout 4 years ago
We have Linux on all desktops and laptops. This has been the case for more than 10 years by now. There are still a couple Windows VM&#x27;s (mainly for checking how some things work on Windows in case need be).
评论 #27088858 未加载
waynesonfireabout 4 years ago
does freebsd suffer from this problem as well? specifically, that application package needs to support &quot;15 billion different versions&quot;
评论 #27088891 未加载
Black101about 4 years ago
Linus, Please maintain a distribution along with everything else you are doing? I bet you could charge for it.
Decabytesabout 4 years ago
I&#x27;m going to vent a bit about this. My perspective is as someone who was a Windows user who moved to Linux 6 years ago after getting fed up with Microsoft.<p>I love the package managers on Linux distros. They are amazing. I feel physical pain whenever I have to jump through hoops to get software up and running outside of a package manager. That being said, I do a lot of hobby work on a Raspberry Pi 4. Not every package is built for arm64. Packages break, have issues with their dependencies, or fail cryptically for me. Building software from source for programs that do run on linux systems can be hit or miss. I understand I chose this with my specific platform of choice, and I have accepted this. But if I can support a solution that will make my life easier I will.<p>It&#x27;s 2021 and we have Flatpak, Snap, and AppImage, and it&#x27;s super frustrating. None of these tools solve the problem entirely and they all come with their own sets of drawbacks. That&#x27;s okay it doesn&#x27;t have to be perfect. But there are people who hate the entire concept of using these tools and will crap all over them every time they come up. They have valid criticism don&#x27;t get me wrong, but in my opinion doing something and shipping it is better than doing nothing at all. I would love to see the solution to Snap, Flatpak and AppImage by I&#x27;ve yet to see anything from their biggest proponents. I just can&#x27;t be bothered anymore wasting my energy listening to people who aren&#x27;t actively trying to find solutions. If you are reading this and are working on a solution, I appreciate you.<p>So which to choose? I think based on Canonical&#x27;s past and present behavior Snaps just have too much baggage for most people in the Linux community. This sucks as you have software packaged in Snaps from Microsoft, Nvidia, etc that aren&#x27;t available as a Flatpak or AppImage.<p>AppImage has the blessing of Linus Torvalds, but if you say that aloud then you will have people say &quot;So what?&quot; as if Linus Torvalds is some just some guy. For better or for worse it means something when he supports things, and he does provide his software as an AppImage so take that for what you will.<p>Then there is Flatpak. If you look at Flatkill.org then the tool is just a pile of lies and security holes. With that being said my money is on either AppImage or Flatpak
评论 #27089680 未加载