We love to praise linux constantly and tell everyone to change to it (they should) but what are your biggest annoyances ?
Mine would be, installing software (made even more complex by flatpaks being added, among the 5 other ways there already were to install software) and probably wifi power management issues.
Oh! Came up with a new one, though it’s more of a unixism than a Linux specific thing.
I really wish that the core utils and other cli tools had a standard structured output option, like yaml, json, or toml so that it would be easier to parse rather than all of the random regular expressions needed when piping output around.
Edit: And it would be great if we also picked that same format for config files instead of all the bespoke stuff in /etc.
-
audio - Most of the time it works, but there have been plenty of times that after an install, I have to go in and make a handfull of changes to get it working.
-
“you are using it wrong” developers - Lookin at you, Gnome, Mozilla and Pottering. Yes, you are donating your time, and I appreciate that, but don’t be dismissive of people if they bring up valid issues. If you just don’t want to fix problems, that’s fine, but just be honest about that, instead of blaming the user.
-
sleep/hibernate - I’ve never depended on sleep or hibernate to work properly. I gave up on that years ago, and whenever I come back and try it again, I remember why I gave it up.
-
documentation - As a seasoned linux person, I love man-pages, but they are soooooo obtuse and hard to parse for newbies. I also hate it when the website has mountains of documentation, but they couldn’t be bothered to put that into the man-pages.
-
video/wifi drivers - Yes, I know that this is mostly a problem because of the manufacturers. That doesn’t mean it isn’t a problem.
-
unsympathetic users - Just because it works for you, doesn’t mean it works for other people. I can’t wait for year-of-the-linux-desktop, but it just isn’t there yet. As soon as you have to tell a non-tech to open a terminal, the vast majority of them are out. You and I know that ‘editing /etc/somedir/somefile and running /usr/sbin/somecommand’ is easy, but sooooo many of them don’t know what that means, nor will they care. I hear that windows is pretty bad nowadays, but people will often stick with the devil they know.
Last point is the most important in my opinion
So much this!
Please, if I don’t know how to build this from source, please tell me what I need to do.
Please say “open a terminal and type git clone [URL]” instead of “clone the repo.” Anything to be more verbose. This might be my first time.
Agreed. Even something like: “Read up more on this here at someurl.com for more info”. The assumption that everyone knows how your repo works, as well as the 3 different build-tools that you use, is quite a lot. I feel like a of the instructions are like how you draw an owl: https://kstarr.com/wp-content/uploads/2021/11/draw-the-owl-300x257.png
Great summary! Longtime Linux users and tech people in general tend to forget what it’s like to be a layperson, and take for granted all the skills it takes to daily drive Linux without trouble.
The audio stack is just just a nightmare, it’s not even funny. Sometimes, at random, when my PC boots, it will output white noise at full volume through my headphones. The is fine if I turned it on and went to get something, make a coffee, whatever. I can still hear it in the other room though. If I’m sitting at my PC and I was just rebooting, wearing the headphones: that isn’t ok. It damn near blows my eardrums out when it happens.
Idk man it all works for me.
Sleep and Audio are definitely my most annoying, and prominent, issues that I run into. Devices like USB audio interfaces I find tone temperamental. Oftentimes they will not be recognised on startup and I have to unplug them and replug them back in. I also gave up on hibernate, my PCs are now either on or off…
The unsympathetic/pedantic users and obtuse man pages are why I’ve abandoned Linux attempts in the past. The reason I am trying to move to Linux now, isn’t because those were fixed. It’s because windows is becoming the more annoying option. I’ve prevented my computer from updating win 10 until I can leave the platform. But I’m not looking forward to dealing with Linux frustrations. Especially the fucking users. I hate asking Linux people for help. 95% chance I just get a pedantic dickwad.
I think things are getting better. I’m not going to lie and tell you that it’s no longer a problem, but I think you can do a lot more with a little patience. I know there’s a lot of different implementations, so you might need to experiment as well. Good luck!
Great summary, too many Linux elitists like to claim Linux to be without flaws and every other OS to be the devil.
I’d love for Linux to become more mainstream. But as long as those elitist are pulling the strings, it will never become user friendly enough for a regular user.
“But I moved my granny to Linux and she can use it” is their argument. When in reality every time this granny had an issue, the Linux user came around to fix it. The majority of people do not have a tech savvy user in their direct circle capable of fixing Linux. So the only option they have is to bring it back to the store they bought it from.
To be fair, my colleagues have audio issues on Windows more often than I do.
The classic “oh, windows reset all my audio configurations after an update… again…”
-
The community’s general overestimation of the average person’s tech capabilities.
Not necessarily fair to pin this on Linux per se, but there’s hardware that doesn’t work well or at all still and alternative solutions still aren’t there. So this would be mostly on companies making software for Windows but not for Linux, but it’s still part of the Linux experience that I do not enjoy.
I have to troubleshoot things on Linux more than I did on Windows.
I disagree honestly
I think the biggest strength of Linux is that it gives people power over their own computing. That has and probably will be its best selling point.
I personally wish that there was something Linux based and Foss that is closer to Chrome OS/Android. I want to have a desktop experience that is hassle free and dead simple. Dahlia OS was promising for a while but it has now seemingly been abandoned.
You disagree with… the things I personally find annoying about Linux?
We have awesome distributed systems like Kubernetes (rke2, or k3s as easy distro examples) BUT no desktop usage.
I want a distributed desktop dang it. My phone, my smart tv (media PC), my gaming computer, my SOs gaming computer, my router, my home lab, etc, etc should theoretically all be one computer with multiple users, and multiple interfaces.
Terrible documentation that is written assuming far too much prior knowledge.
I’m pretty technologically literate but just don’t have a lot of experience with Linux, in the last year of trying properly to switch over the most frustrating part is trying to fix problems or follow peoples “guides” to various things. There is plenty of information out there for sure but when I have to keep looking up a string of things to try and get to my desired end result then the original documentation I’m trying to follow is not adequate.
I can only imagine what it might be like for users who are less inclined to learn about this stuff and just want to use it / solve a problem.
I think that a lot can be said for well written documentation that describes necessary processes to get a desired result in a way that everyone can follow regardless of their prior experience or knowledge.
When I first got into tech, one of the first things I noticed was how deep the knowledge base was, layers upon layers of knowledge dependencies, and how poorly tech people explained things.
I remember learning about how to write clear, easy to follow manuals in IT classes when I was 13 in the late 90s. What ever happened to that skill, did it die along with physical manuals?
I think just the phrase “IT classes when I was 13” is enough to convey just how far outside the norm your experience was.
I have a CS degree from a top-10 university, and they taught me approximately fuck-all about writing good documentation. There was only one course on technical writing, and I don’t remember it being very rigorous or difficult.
If anything, what few writing requirements we had in the rest of the curriculum were typically more similar to academic research papers than user manuals.
It did. The thick manuals of the 90s needed to actually document things.
Must have. I sure as hell didn’t get that training in school a couple years ago. My teachers sure as hell didn’t either
I have spent way too much time fiddling with audio, both in PulseAudio and Pirewire. Granted, this sucks even more on Windows.
Weird how my absolute favorite thing about Linux is how easy and simple installing software is, at least on Arch. Never touched a flatpack or snap or whatever else they’re called for my 13+ years if use.
My one major complaint is audio in general. I’ve had so many audio issues. If you need an eq or noise canceling it’s a pain to get it working. There’s always a bug somewhere, always a random distortion.
Voicemeeter is the only thing I miss about Windows. I really do.
I have an audio issue where it starts chopping if (I think, but could be CPU as well) the GPU struggles (think shader compilation). I’ve tried a couple of things to fix it, but haven’t been successful yet. So far it’s been my only major complaint.
When I was running a Linux distro regularly (1995-2015), audio output would break every couple of upgrades.
It was frustrating, because I was pretty happy with the rest of the OS.
Ironically, it’s only gotten better since 2015ish. For the most part I’ve used pulseaudio like most others, but I’ve also used jackd when I need to do audio stuff. After pipewire became usable it’s more or less flawless for me.
Audio output doesn’t “break,” but it’s easy for it to get redirected to the wrong device (e.g. by plugging something in, like headphones or an HDMI monitor, and the system trying to be “helpful” by automatically reconfiguring). With so many layers (OSS, ALSA, PulseAudio, JACK, PipeWire) it’s hard to figure out how to fix it.
After switching my gaming PC from Win 11 to Linux Mint earlier this year, audio is the only thing I consistently have issues with. I have the PC connected to my living room TV via HDMI via an Onkyo AVR. I have pipewire installed (correctly, I think).
Whenever audio starts, there’s a couple second delay before I can hear it. Haven’t been able to solve that so I just live with it.
The more annoying thing is after an update earlier this week, the audio output is now defaulting to “Dummy Output” instead of HDMI. I have to manually switch it via pipewire. It randomly switches back and I haven’t figured it out either.
Whenever audio starts, there’s a couple second delay before I can hear it. Haven’t been able to solve that so I just live with it.
That can be because of a power saving feature - basically PulseAudio puts your sound card to sleep when nothing is playing, and then there’s a bit of lag before it wakes up. In my case it was really annoying because I use the optical output, so when PulseAudio put the sound card to sleep, my receiver would also go to sleep after a bit, and resulted in quite a bit of a delay when it was time to get it come back up.
This fixed it for me (see part 4.8): https://wiki.archlinux.org/title/PulseAudio/Troubleshooting
I tried this and it worked for about a day haha.
I’ve gone through a couple pulseaudio configuration tutorials, but nothing is working consistently. Seems to work fine after initial reboot, but almost every time after waking from sleep I have to reconfigure the audio outputs. I swear this all worked fine until I updated something last week.
When I was running a Linux distro regularly (1995-2015), audio output would break every couple of upgrades.
It seems to go hand-in-hand with bluetooth breaking.
Bluetooth is still… not great.
I didn’t even try Bluetooth. That would have been too frustrating.
That’s exactly why I hopped back on windows for my desktop. I’ve put off fixing it for longer than I should.
I’ve amazingly not had a single audio problem, and i mess with inputs and outputs on the front and back panel often, as well as use usb audio devices. Mint and pulseaudio
I just find it annoying that I have to manually change audio output device every time I connect or disconnect HDMI to our TV. Annoying, but at least not difficult.
That’s awesome! I’m not sure if/when I’ll go back to Linux as a daily driver, but I that I have your experience.
This does need some attention from the Pipewire profiles perspective. It’s mostly a hardware combo thing though. Even if you’re using an audio code that has kernel support, the speaker configuration from manufacturers changes CONSTANTLY, really causing problems. They need to break this out into its audio profile IMO.
I hope image-based distro can solve this issue. In general I feel a lot of these breakages are caused by repeatedly migrating configuration files, yet fresh install usually fixes these issues.
I think one of the advantage of image based distros is that they are much more principled in migrating config files.
Security should be the default, but instead a lot of security features are optional things we have dig through docs to set.
TPM support is getting more common, using it should be too. Detected during install? Set it up as part of LUKs during install, and enable a password, and provide option for TANG (both usage or deployment).
fscrypt should be enabled by default and keys set by logical differences of file types. (Yes on top of LUKS). Honestly setup following selinux profiles and per user is a reasonable default. Hardware wrapped keys should be default.
Encrypted memory an option for this CPU? Enable it. Features for multiple key memory encryption? Enable it. Encrypt on a per VM and per container level by default.
Each service should be containerized, connections made explicit (ideally with l7 rules, l4 at least). If a user want to tinker with have a dev mode that opens that service up, with expectation that it’s temporary (track and warn user when active). Each service should run as it’s own non root user.
Each application should containerized. Wayland should be default to minimize shared data. Access by apps should be explicit and user approved and user configurable. Application should never run as root and escalations should be temporary and explicitly approved by the user. Application to the network should be explicit per connection and l7 aware.
MACSec WPA3 pki should be available during install. Wireless WPA3 PKI option should be default on wireless setup. IPSec/Wire guard VPN/Tor should be available option by default on setup. Vlan tagging should be available options on setup.
FIPS or equivalents should be enforced by default. Old encryption methods/cipher/etc should require explicit approval by the user.
Selinux should enabled by default and selinux tagging should be exposed in user applications, so users can choose the security levels, privacy tags (medical or tax docs or etc), or pseudonym access they want.
Sudo should be setup by default for least privileged roles and not god mode access. The combination of those into a single user could look indistinguishable but it should be set and ready for adding users that are limited in scope.
Encrypted backups following the 321 rule (at least 3 backups, 2 different types of media, 1 off site) should be the default and configurable on install. Schedule and triggered backups should be frequently (ideally constantly backup, with snapshot ting being periodic).
Multiple factor logins should be the default. Support for smart card, key fob, OTP, biometric, plus password built-in and encouraged on install.
Number of known CVEs for hardware, packages, and configurations should be tracked and obviously available for privileged users. Hardware missing for full best practices (like TPM 2.0, memory encryption support, etc). Software source should be kept easily accessable to users for remove and modifications. Software should adhere to SLSA build practices, exception explicitly choosen the user.
Systems should be immutable with expectations being explicit to the user and triggering snapshot ting.
DNSSEC and DNSoTLS/DNSoHTTPS should be default and configurable on install.
NTS should be default for NTP configuration. Hardware time sources should be configurable on install.
Applications should be privacy preserving by default (not defaulting to Google for example).
These are just off the top of my head stuff, stuff I had to annoyingly learn and set up myself to harden systems instead of it just being part of sane defauls. CIS bench mark has more controls that should be set.
I don’t like LibreOffice as the only open source Office software that seems to compete with Microsoft. It feels bloated and outdated and for years and years I have display problems with it. The community answers to problems are often written by arrogant pricks.
However, at the pace Microsoft Office is deteriorating with all that copilot crap LibreOffice begins to look better every day. They don’t even have to do anything for it.
Have you tried OnlyOffice?
Isn’t it Russian?
It’s in english for me (hah! jk) Dunno about it’s origins. I just installed the flatpack.
OnlyOffice is another shit clone of Office 2007. Fight me.
I am close to adopting LibreOffice but their excel equivalent lacks some table functions that I use almost any time I use Excel.
Have you tried Proton? It works like a charm for videogames.
I was able to get Office working without issue through Proton, but I couldn’t get my reference manager to work with Office within Proton. Ultimately I ended up acquiescing to LibreOffice, and I’ve ended up liking it more than the bloated monstrosity that is M$ Office in the latest iterations.
I’ve also found SoftMaker Office to be great (faster than OnlyOffice and even better docx compatibility) but it doesn’t respect Linux’s cursor blinkrate when you build from source (it’s supposed to respect the default, per the devs), and instead uses a really fast rate. I’m weird, but that issue is damning for me, and idk how/where to fix it. So, I stick with LibreOffice.
Its users
Bluetooth support can be a mix bag one point my keyboard constantly disconnects for every few minutes likely due to the hardware aggressively try to save power.
Suspending can be 50/50 especially on old hardware. Either you get it back up and running or you will have to forcibly shut it down since it refuses to accept any commands.
Snap. The very existence of it.
The fact that there is NO agreed single package standard across distros.
This is probably the biggest barrier to mainstream linux adoption - devs have to choose between supporting 5+ package formats or just say “screw it” and make a windows/mac app instead.
This is my own opinion, but I think Flatpak and Flathub need to be universally adopted as a standard. It’s already growing that way organically, even if major distro projects haven’t recognized it yet.
With usage of Flatpak growing over time, I think we are heading towards that way.
This has its pros. If all agree to use, say, deb, then some of the users will complain, “I downloaded package XYZ from Arch and it doesn’t work on Fedora!”
No, not really true, IMO.
If all distros come together and agree on a single package format (e.g. deb), then if arch makes a package available in .deb, it can be downloaded and installed on Ubuntu or Fedora, as it becomes an universal package format like flatpak.
Currently we have to compile the source code in such situations.
If flatpak is universal doesn’t it solve the issue ? Is it the sandboxing people dont like?
My system is a mix of .Deb, manual compiled, and flatpaks. As im sure many are. Im not an organized person.
Yep, it’s sandboxing that I don’t like. They feel “tacked on” and don’t integrate properly.
Same for my system which is also a mix of deb, flatpak and Snap.
The main complain of flatpak being size and performance in comparison to ‘native’ installations.
Suspend/sleep. I bought a specific laptop so it works, but these manufacturers need to let our developers know what the fuck is going on in the hardware
The sleep/hibernate is specifically designed to work only with windows, especially on modern hardware. It’s a known problem and it’s not easy to reliably get around it.
That stuff doesn’t even work right on Windows anymore.
It’s kind of sad, 10-15 years ago I’d say everyone (both Linux and Windows) more or less had the whole sleep/hibernate thing figured out. But it’s all gone to shit in the past few years.
Presumably, it’ll work in a few years. Which is when Microsoft will change it to something else.