Things that should have disappeared 30 years ago are still problems in the operating system. Not least of which is the handling of locales. I cannot transfer Excel files from my Windows machine to my Linux machine because my Windows machine uses points to denote decimals (as in most companies and homes in South Africa) while Linux does a hard-enforce of the documented standard in South Africa which is a comma for decimal. This breaks my files and I am unable to perform calculations on Excel files due to this. Ridiculous, relevant and sad.
I was previously unaware of the kernel doing such things.
People are indifferent, unknowing, fearful, or just plain lazy to learn new apps. Got to get Office, QuickBooks, Quicken, Adobe, and other major apps to run on Linux.
Most of these are fringe cases nowadays, and often used in environments where the user has no control over the OS anyways. I don’t really use Office at home (for the three times per year, LibreOffice is good enough and that’s what most Windows users I know run at home anyways).
Also it’s not as easy as to just “get Office, QuickBooks, Quicken, Adobe, and other major apps to run on Linux”. The wine project is doing miraculous work already IMHO…
While I agree with you on the advantages (performance, stability, reliability, security, customization, privacy, lightweight nature, no corporate bloatware, etc) of Linux, its rate of adoption is considerably weak and consistently weak because of various reasons and causes that your article does not mention.
“Your article doesn’t mention the real reasons, which conveniently enough I won’t list either.”
While I do like Excel, its handling of values as dates is also a big issue that has hit a lot of people in the past – the format is just not very portable or exchangeable. It’s not just an issue from Excel to other solutions… my point was rather that it’s not a “Linux” issue and the way it was worded sounded like the kernel had something to do with it.
I get your point, but the guy you quoted also has a point. For a non-techy person it’s really hard to understand the boundary of the OS, so where the OS ends and Apps begin. And tbh, even to a techy person, there isn’t really a hard border there.
For example: Is the DWM part of the OS? On Windows, definitely. It’s not the kernel, but it is the OS. You cannot remove or replace it.
On Linux, maybe, maybe not. It’s definitely part of the Distro, but you can replace it. But on the other hand, on Linux you can even replace the kernel if you really want to. So maybe replaceability is not the criterium? But if it isn’t, wouldn’t that make everything that came in the distro part of the OS?
On Windows, that’s kinda the case, with e.g. Edge being an integral, non-replaceable part of the OS.
And then you get into the territory of the “Linux is only the kernel” purists, that follow Stallmans fever dreams. They might say, Linux isn’t actually an OS at all.
And at the latest once Stallman’s speech has been quoted will any non-hardcore Linux philosopher say “Screw you guys, there is no point to this”.
You are overstating how much you need the terminal a bit. You can most certainly install and update software without the terminal. I get your point, but it’s not 2006 anymore.
You can install every native UI application and every Flatpak (or Snap) in every distro that ships with GNOME or KDE without opening terminal once. Not sure how the software center works for others but I’m sure they do the same.
Fedora, Ubuntu, Debian, Mint and many more. They all do it like this.
Need to install more than UI applications? Install dragora/Synaptic whatever GUI comes for your package manager. Not like you really need to do this because the average person only cares about the UI applications.
Have you used Linux lately? You can do this in any distro with a modern desktop manager. Discover in KDE Plasma, Gnome Software, and similar in other desktop environments are installed by default in the DE and have been for like a decade.
There are common programs you need to install via the terminal, you can’t even change sound playback quality without editing a conf file which requires sudo!
There is so much you need the shell for and until people stop defending it and start focusing on UX Linux will never be popular for your average user.
There are common programs you need to install via the terminal
Out of interest, which programs do you need to install via terminal that concern the average user?
you can’t even change sound playback quality without editing a conf file which requires sudo!
What do you consider changing “playback quality”?
Sampling rate? That can be changed in a config file without sudo (~/.config/pipewire/pipewire.conf.d), you shouldn’t though because many applications expect 48000 as sampling rate. Unless you’re doing studio recordings you want 48000.
There is so much you need the shell
Correct, there is a lot of need for the shell, for power users. I don’t really see anything that the average office and browser enjoyer needs to do in the terminal. You can even game now in most distros without opening the terminal once.
Out of interest, which programs do you need to install via terminal that concern the average user?
For example installing the GPU driver for an older GPU. Or installing the driver for an obscure printer, touchpad or other weird hardware.
Average user doesn’t mean total noob. Installing Windows and the relevant drivers is something many users in the “Gamer class” can do. These guys usually don’t to command line (except for maybe pinging something), but they are comfortable with installing and configuring stuff in GUI.
They understand how to google the driver to their weird hardware, download the .exe or .msi, start it and navigate the install wizard.
On Linux I’ve had it a few times that you e.g. have to unload/load kernel modules and stuff to get a driver working. I once even had it, that the Linux driver for a device was only supplied in source code to be compiled with an ancient version of GCC that wasn’t available over the package manager. So then I spend an hour or two fixing compiler errors to upgrade that old source code to work with a current GCC.
Getting the same hardware to run under Windows meant downloading the .exe and running it.
And yeah, that’s not something you’ll do on a daily basis, but it is a huge roadblock for someone afraid of white text in a black window.
I feel like we can cherry pick situations on other operating systems where you might have to open a terminal window to solve an issue, but I agree that there are roadblocks that many won’t even try to get past. There has been a load of progress around usability and informational resources for less advanced users over just the last few years. I feel the main barrier to entry is the willingness to learn something new.
I guess, many people here can’t take it when people talk about the issues holding back Linux, considering the downvotes.
I think, if you like something, it is really important to talk about the issues it has, so that they can be improved. Blaming the users is not going to make more people switch.
These instances I posted weren’t cherry picked. They where just what I encountered when setting up a single laptop.
I could tell you about the issues I had with my work laptop, where it was pretty difficult getting the VPN solution we use at work to run. We are using Teams and Outlook for work, both don’t have official apps on Linux and the unofficial ones are really buggy.
Getting simple stuff like screen sharing to work under Wayland is basically impossible, which required me to revert to X11.
And sure, you can say that it’s all edge cases, and people shouldn’t be running Linux with a GPU, on an old device, with Microsoft tools or do screen sharing.
But if you say all of these common use cases are rare edge cases that shouldn’t really be done on Linux, then you aren’t talking about a general purpose desktop OS any more.
Older hardware and software that are made by companies who have hostile or ignorant stances towards FOSS are major contributors to at least some of the issues you mentioned. I can tell you that there is active development around solving some GPU/Wayland issues, but the limitations on what Linux can or can’t do isn’t fully the fault of Linux.
There is definitely room for improvement in Linux. The improvements in just the last three years shows that it has improved at a pretty brisk pace. Free and open community driven operating systems work toward the active needs of the community, so hopefully any issues or bugs you had got reported and you’ve actively checked up on them. I am making an assumption here, but if all of these issues you have had were extremely common, there would be every incentive for development of solutions to them.
There is some level of compromise that is needed when using proprietary software or hardware from hostile vendors or using some older hardware with Linux. This also goes for company supplied or required hardware/software. Linux might not be for everyone on every piece of hardware right now. The tradeoffs for having control over your hardware and software can sometimes be frustrating.
As for “blaming the users”, I don’t think I did that at all. I just feel like some folks prefer appliances over heavy machinery. That’s personal preference. Sure, Linux should make onboarding as easy as possible, but in my opinion, the active pursuit of being #1 or #2 in desktop OS use is going down the wrong path. There is a certain type of person who chooses to go down the desktop Linux path and catering to their needs seems much more important for the long-term health of the OS.
For example installing the GPU driver for an older GPU. Or installing the driver for an obscure printer, touchpad or other weird hardware.
That’s not quite my definition of “common”.
Average user doesn’t mean total noob. Installing Windows and the relevant drivers is something many users in the “Gamer class” can do.
The “Gamer class” is far from the average user, the average user doesn’t even know what a GPU or a driver is and doesn’t care. As long as the OS installs all drivers by default or the OEM has preinstalled them all is good.
Getting the same hardware to run under Windows meant downloading the .exe and running it.
Until there’s no more drivers for that generation of GPU. The Windows 11 drivers for AMD only go down to the Vega 64, if you have a Fury X or a 7970 you’re out of luck. Not that Windows 11 even lets you install on a machine that old.
AMDGPU goes down all the way to GCN 1.2, which means you can even run a 7970 on a modern Linux OS. Even out of the box if your distro has the legacy flags enabled.
It would be fantastic if there was more hardware that works out of the box in Linux, but that’s up to the manufacturers. Until more people switch to Linux they don’t bother and until they bother everybody complains that XY doesn’t work on Linux.
As of right now the biggest hurdle is Nvidia without drivers included in Linux. Without a distro that takes care of installing their drivers they are essentially out of luck.
Using a GPU under Linux is not common? And installing Linux on old laptops isn’t either?
As of right now the biggest hurdle is Nvidia without drivers included in Linux. Without a distro that takes care of installing their drivers they are essentially out of luck.
I can’t say anything about AMD, since the last time I had an AMD GPU is ~15 years ago.
When I installed an Ubuntu variant on my G580, which has a Geforce 635M it automatically installed the current driver for Geforce GPUs when I setup the OS, but that driver doesn’t support the 635M. That one needs a legacy driver. And getting that to work was a major pain.
I first installed the legacy driver over apt, but it didn’t do anything, because apparently installing the driver doesn’t actually load the kernel module for the driver. So I had to load it manually, and it still didn’t do anything. Turns out, uninstalling the original driver didn’t unload it from the GPU either. So I had to re-install the old driver, unload the module, uninstall the old driver, install the legacy driver and load the legacy module. Took me a few hours to figure all of that out.
No way someone without CLI experience will be able to do that.
Using a GPU under Linux is not common? And installing Linux on old laptops isn’t either?
Installing drivers for an older GPU, obscure printer, touchpad or other weird hardware is not common.
When I installed an Ubuntu variant on my G580, which has a Geforce 635M it automatically installed the current driver for Geforce GPUs when I setup the OS, but that driver doesn’t support the 635M. That one needs a legacy driver. And getting that to work was a major pain.
Which is an issue with Nvidia, they have no drivers for that GPU for Windows 11 either. Not saying that this is not an issue but there is absolutely nothing Linux can do to make every legacy GPU work without help from Nvidia. It uses the open source driver out of the box, which works sometimes but not for everything and definitely not for gaming.
As someone else has said, on distributions that go for ease of use, the terminal isn’t really needed.
However, I do consider it a convenience feature even for users who are not savvy with it: You can either troubleshoot an issue by giving instructions like “Open application X, navigate to Option, open Tab, press Button, then enter Text, hit OK and repeat for each” or “copy and paste this command into your terminal”. The amount of work on both sides is likely lower plus there’s less room for error.
You would have to Give SUSE / OpenSUSE a try. It has Yast2-GUI so everything from setting up a samba share, ftp server, to kernal tweak, system services, and boot setup can be done entirely in the GUI environment. Very similar to how the older Windows Control Panel looked. Also One-click install for rpm files. Oh and system rollback if you blow up the system, no command line fixes needed.
I’m loving the comments on the article.
I was previously unaware of the kernel doing such things.
Most of these are fringe cases nowadays, and often used in environments where the user has no control over the OS anyways. I don’t really use Office at home (for the three times per year, LibreOffice is good enough and that’s what most Windows users I know run at home anyways).
Also it’s not as easy as to just “get Office, QuickBooks, Quicken, Adobe, and other major apps to run on Linux”. The wine project is doing miraculous work already IMHO…
“Your article doesn’t mention the real reasons, which conveniently enough I won’t list either.”
Windows chance , and . depending on the language settings, so yeah so so simple and helpful :-/
While I do like Excel, its handling of values as dates is also a big issue that has hit a lot of people in the past – the format is just not very portable or exchangeable. It’s not just an issue from Excel to other solutions… my point was rather that it’s not a “Linux” issue and the way it was worded sounded like the kernel had something to do with it.
I get your point, but the guy you quoted also has a point. For a non-techy person it’s really hard to understand the boundary of the OS, so where the OS ends and Apps begin. And tbh, even to a techy person, there isn’t really a hard border there.
For example: Is the DWM part of the OS? On Windows, definitely. It’s not the kernel, but it is the OS. You cannot remove or replace it.
On Linux, maybe, maybe not. It’s definitely part of the Distro, but you can replace it. But on the other hand, on Linux you can even replace the kernel if you really want to. So maybe replaceability is not the criterium? But if it isn’t, wouldn’t that make everything that came in the distro part of the OS?
On Windows, that’s kinda the case, with e.g. Edge being an integral, non-replaceable part of the OS.
And then you get into the territory of the “Linux is only the kernel” purists, that follow Stallmans fever dreams. They might say, Linux isn’t actually an OS at all.
And at the latest once Stallman’s speech has been quoted will any non-hardcore Linux philosopher say “Screw you guys, there is no point to this”.
Nothing to do with the kernel, these are all application issues.
The reasons aren’t worth listing because they’re all known but here we go
You need to use linux shell to get anything done.
There, that’s the reason.
Linux will never be popular until you can do everything, and I mean, everything without entering a single command in a terminal.
You are overstating how much you need the terminal a bit. You can most certainly install and update software without the terminal. I get your point, but it’s not 2006 anymore.
On which distro/s can I install all package types without opening terminal once?
You can install every native UI application and every Flatpak (or Snap) in every distro that ships with GNOME or KDE without opening terminal once. Not sure how the software center works for others but I’m sure they do the same.
Fedora, Ubuntu, Debian, Mint and many more. They all do it like this.
Need to install more than UI applications? Install dragora/Synaptic whatever GUI comes for your package manager. Not like you really need to do this because the average person only cares about the UI applications.
Have you used Linux lately? You can do this in any distro with a modern desktop manager. Discover in KDE Plasma, Gnome Software, and similar in other desktop environments are installed by default in the DE and have been for like a decade.
Your use of ‘anything’ and ‘everything’ is quite exaggerated.
The average user can do most of their general day to day tasks on Linux without touching the terminal.
Even on Windows, you need to use the command line/shell to complete certain task, so you can’t escape it fully.
There are common programs you need to install via the terminal, you can’t even change sound playback quality without editing a conf file which requires sudo!
There is so much you need the shell for and until people stop defending it and start focusing on UX Linux will never be popular for your average user.
Out of interest, which programs do you need to install via terminal that concern the average user?
What do you consider changing “playback quality”?
Sampling rate? That can be changed in a config file without sudo (
~/.config/pipewire/pipewire.conf.d
), you shouldn’t though because many applications expect 48000 as sampling rate. Unless you’re doing studio recordings you want 48000.Correct, there is a lot of need for the shell, for power users. I don’t really see anything that the average office and browser enjoyer needs to do in the terminal. You can even game now in most distros without opening the terminal once.
For example installing the GPU driver for an older GPU. Or installing the driver for an obscure printer, touchpad or other weird hardware.
Average user doesn’t mean total noob. Installing Windows and the relevant drivers is something many users in the “Gamer class” can do. These guys usually don’t to command line (except for maybe pinging something), but they are comfortable with installing and configuring stuff in GUI.
They understand how to google the driver to their weird hardware, download the .exe or .msi, start it and navigate the install wizard.
On Linux I’ve had it a few times that you e.g. have to unload/load kernel modules and stuff to get a driver working. I once even had it, that the Linux driver for a device was only supplied in source code to be compiled with an ancient version of GCC that wasn’t available over the package manager. So then I spend an hour or two fixing compiler errors to upgrade that old source code to work with a current GCC.
Getting the same hardware to run under Windows meant downloading the .exe and running it.
And yeah, that’s not something you’ll do on a daily basis, but it is a huge roadblock for someone afraid of white text in a black window.
I feel like we can cherry pick situations on other operating systems where you might have to open a terminal window to solve an issue, but I agree that there are roadblocks that many won’t even try to get past. There has been a load of progress around usability and informational resources for less advanced users over just the last few years. I feel the main barrier to entry is the willingness to learn something new.
I guess, many people here can’t take it when people talk about the issues holding back Linux, considering the downvotes.
I think, if you like something, it is really important to talk about the issues it has, so that they can be improved. Blaming the users is not going to make more people switch.
These instances I posted weren’t cherry picked. They where just what I encountered when setting up a single laptop.
I could tell you about the issues I had with my work laptop, where it was pretty difficult getting the VPN solution we use at work to run. We are using Teams and Outlook for work, both don’t have official apps on Linux and the unofficial ones are really buggy.
Getting simple stuff like screen sharing to work under Wayland is basically impossible, which required me to revert to X11.
And sure, you can say that it’s all edge cases, and people shouldn’t be running Linux with a GPU, on an old device, with Microsoft tools or do screen sharing.
But if you say all of these common use cases are rare edge cases that shouldn’t really be done on Linux, then you aren’t talking about a general purpose desktop OS any more.
Older hardware and software that are made by companies who have hostile or ignorant stances towards FOSS are major contributors to at least some of the issues you mentioned. I can tell you that there is active development around solving some GPU/Wayland issues, but the limitations on what Linux can or can’t do isn’t fully the fault of Linux.
There is definitely room for improvement in Linux. The improvements in just the last three years shows that it has improved at a pretty brisk pace. Free and open community driven operating systems work toward the active needs of the community, so hopefully any issues or bugs you had got reported and you’ve actively checked up on them. I am making an assumption here, but if all of these issues you have had were extremely common, there would be every incentive for development of solutions to them.
There is some level of compromise that is needed when using proprietary software or hardware from hostile vendors or using some older hardware with Linux. This also goes for company supplied or required hardware/software. Linux might not be for everyone on every piece of hardware right now. The tradeoffs for having control over your hardware and software can sometimes be frustrating.
As for “blaming the users”, I don’t think I did that at all. I just feel like some folks prefer appliances over heavy machinery. That’s personal preference. Sure, Linux should make onboarding as easy as possible, but in my opinion, the active pursuit of being #1 or #2 in desktop OS use is going down the wrong path. There is a certain type of person who chooses to go down the desktop Linux path and catering to their needs seems much more important for the long-term health of the OS.
That’s not quite my definition of “common”.
The “Gamer class” is far from the average user, the average user doesn’t even know what a GPU or a driver is and doesn’t care. As long as the OS installs all drivers by default or the OEM has preinstalled them all is good.
Until there’s no more drivers for that generation of GPU. The Windows 11 drivers for AMD only go down to the Vega 64, if you have a Fury X or a 7970 you’re out of luck. Not that Windows 11 even lets you install on a machine that old.
AMDGPU goes down all the way to GCN 1.2, which means you can even run a 7970 on a modern Linux OS. Even out of the box if your distro has the legacy flags enabled.
It would be fantastic if there was more hardware that works out of the box in Linux, but that’s up to the manufacturers. Until more people switch to Linux they don’t bother and until they bother everybody complains that XY doesn’t work on Linux.
As of right now the biggest hurdle is Nvidia without drivers included in Linux. Without a distro that takes care of installing their drivers they are essentially out of luck.
Using a GPU under Linux is not common? And installing Linux on old laptops isn’t either?
I can’t say anything about AMD, since the last time I had an AMD GPU is ~15 years ago.
When I installed an Ubuntu variant on my G580, which has a Geforce 635M it automatically installed the current driver for Geforce GPUs when I setup the OS, but that driver doesn’t support the 635M. That one needs a legacy driver. And getting that to work was a major pain.
I first installed the legacy driver over apt, but it didn’t do anything, because apparently installing the driver doesn’t actually load the kernel module for the driver. So I had to load it manually, and it still didn’t do anything. Turns out, uninstalling the original driver didn’t unload it from the GPU either. So I had to re-install the old driver, unload the module, uninstall the old driver, install the legacy driver and load the legacy module. Took me a few hours to figure all of that out.
No way someone without CLI experience will be able to do that.
Installing drivers for an older GPU, obscure printer, touchpad or other weird hardware is not common.
Which is an issue with Nvidia, they have no drivers for that GPU for Windows 11 either. Not saying that this is not an issue but there is absolutely nothing Linux can do to make every legacy GPU work without help from Nvidia. It uses the open source driver out of the box, which works sometimes but not for everything and definitely not for gaming.
As someone else has said, on distributions that go for ease of use, the terminal isn’t really needed.
However, I do consider it a convenience feature even for users who are not savvy with it: You can either troubleshoot an issue by giving instructions like “Open application X, navigate to Option, open Tab, press Button, then enter Text, hit OK and repeat for each” or “copy and paste this command into your terminal”. The amount of work on both sides is likely lower plus there’s less room for error.
You would have to Give SUSE / OpenSUSE a try. It has Yast2-GUI so everything from setting up a samba share, ftp server, to kernal tweak, system services, and boot setup can be done entirely in the GUI environment. Very similar to how the older Windows Control Panel looked. Also One-click install for rpm files. Oh and system rollback if you blow up the system, no command line fixes needed.