Live data from Hacker News

Linus Torvalds on why desktop Linux sucks (2014)

youtube.com

111–116 of 116 posts

Re: Linus Torvalds on why desktop Linux sucks (2014)

#111
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.

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.

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.

Linux distributions could make the developers life easier if they copied the MacOSX app bundle idea where applications are distributed as .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 /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.

Re: Linus Torvalds on why desktop Linux sucks (2014)

#112

Does appimage not solve this problem? Linus himself released software by appimage the next year (2015). https://en.wikipedia.org/wiki/AppImage

It only soves the problem partially. The drawback of AppImage is that it cannot package an application containing multiple executables such as Emacs. The best solution may be coping Apples' app-bundle idea. An app-bundle is just a folder containing metadata, executables, shared libraries (dylibs), text files and images. This package format can be installed by just dragging and dropping the folder to /Applications directory and deleted by just removing the folder. The Finder file manager shows the app bundle as the application icon and allows running the app by clicking on the app-bundle folder. This idea is easy to implement on Linux, it would decrease Linux fragmentation and the work duplication that happens when packaging some application.

Re: Linus Torvalds on why desktop Linux sucks (2014)

#115

Earlier quoted context omitted.

I use Linux top to bottom in my home. My work laptop. My wife's PC. Our plex/jellyfin media server. My sister's pc and my elderly parents PC are also ubuntu. I have found my support time for all of them dramatically went down after I got them off windows. Windows slowing down over time. I longer happens, lengthening the age of hardware and pushing off OS reinstalls, which can at times cost money based on the OEM mode…

> LTS/stable distros just work, out of the box, for most people. Do you have any source for this? I know a few people who use Linux (or used it in the past, including myself), and number of complaints is definitely a lot higher than from the people on macOS/Windows.

This has just been my experience.

The only real difficulties I've had is someone else buying them a scanner/printer combo and manually having to get drivers from the manufacturer's site and install them creating a problem when the driver packages depend on libraries not available in the repos any longer. But for me, it takesa bout 20 min of googling around to find the solution.

And other than that problem, I rarely if ever, have to support them for anything.

Half the time when i do, it's because they got banned from a website and didn't understand it, or they were having internet problems and it was unrelated to the OS.

My mother doesn't "like" Linux, but she can't articulate why. She's been wanting to "upgrade" my dad's computer for years as this sneaky way of getting away from Linux. But the reality is, as old as my Dad is - the XFCE desktop environment is more familiar to him, coming from Windows XP/7, than Windows 8.1-10 is.

It's also pretty helpful, frankly, that when something - other than updates - requires root access, he just backs away and doesn't mess with things. Same for my sibling.

This, in itself, has prevented a lot of problems IMHO. People just click "yes" and escalate their privs in Windows without giving a second through about it.

Re: Linus Torvalds on why desktop Linux sucks (2014)

#116

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”] Tons of contrary points I’m sure, but duh. It’s really nice to be…

I use Linux top to bottom in my home. My work laptop. My wife's PC. Our plex/jellyfin media server. My sister's pc and my elderly parents PC are also ubuntu. I have found my support time for all of them dramatically went down after I got them off windows. Windows slowing down over time. I longer happens, lengthening the age of hardware and pushing off OS reinstalls, which can at times cost money based on the OEM mode…

Is it a preference or a requirement that when someone points out issues with Linux, in this case from Linus... that Linux users must come to tell you all about how they use it successfully?
Post reply on HN