Hot take incoming. Just some thoughts Iā€™ve been having recently as I experience Linux at work for several years now. To clarify, I mean Linux on the desktop as a consumer. As in, what our lord and savior Richard M. Stallman would call ā€œGNU/Linuxā€; pick your favorite distro here. Iā€™m leaving out Linux on the server, embedded Linux, and the billions of phones running Android that have Linux kernels, for which Linux there is a success story without rival. But Linux as a daily driver OS as a user/developer justā€¦sucks.

I have to use it because there is no other option for building Android and embedded Linux which I occasionally need to do

I like to use it because I can change stuff about it that I donā€™t like (can being the key word, here, usually Iā€™m too lazy or busy)

I want to use it because getting one over on ā€˜the manā€™ tickles my rebellious funny bone

Butā€¦little things here and there like snap sandboxing the browser and preventing a standard web feature from working bite me in the ass every now and again.

In this one obscure case, supposedly itā€™s been fixed, but Iā€™m on Ubuntu 20.04 LTS, so who knows, maybe the fix didnā€™t get shipped out to this old dinosaur. Whatever it is, I donā€™t want to spend the time to dig into the innards to find out whatā€™s causing it this time, and just uninstalled chromium from snap. (I thought I installed it through apt, but it turns out apt install chromium-browser just installs the snap instead. I get it, I read the post, I understand why they moved it to snap, Iā€™m just annoyed to be one of the lucky 2 people that ran into WebSerial not working because of this or some related series of decisions.)

I usually use Brave, and I had already found out the hard way they ripped WebSerial out leading me to try Chromium

I sighed, installed Google Chrome with Googleā€™s apt repo, WebSerial works, I moved on. for some reason I canā€™t get it to talk to my custom ESP32 board anyway, but thatā€™s another problem I have to figure out some other time

Had I been using Windows or Mac at that particular time (or had I already been using Big Brother Googleā„¢ in the first place), I wouldnā€™t have run into this obstacle that cost me a few hours. And thatā€™s not the only time Iā€™ve ever encountered something that took some time to research and work around or learn to accept, donā€™t fight it, no tears, only free software now

Stuff like that reminds me why Linux on the desktop is not receiving more mainstream adoption. Itā€™s not just esoteric electronics-geeks-only features that I mean, either. Basic ordinary stuff like the screen sleeping when I donā€™t want it to, or not sleeping when I do want it to (thanks VirtualBox), or the lack of overall polish, like YES THANK YOU i know youā€™ve found the very same printer yet again as youā€™ve popped up a notification about it the last 500 times I woke up my computer. Iā€™m sure I could fix any particular thing given enough time to investigate, but man, I just want my stuff to work so I can do my actual work.

As the old adage goes, ā€œitā€™s only free if you donā€™t value your timeā€. Imagine someone less technically inclined trying to cope with an issue like thisā€¦theyā€™re probably fine if they had a friend set up their Linux box and all they need to do is browse Facebook and get their Gmail. But if they need anything more elaborate than that, theyā€™re stepping into a minefield of gotchas. Need to reflash your phone? Better hope your browser wasnā€™t installed via snap, or you gotta enable the raw-usb feature and hope your distro is new enough to have that fix. (when was the last time aunt sallie needed to reflash her phone?)

In a world where everybody can change things, everybodyā€™s got a different way to solve something, and some of them occasionally break stuff. Thereā€™s no unified vision, nor any single authority figure with some common sense saying ā€œwhy are we doing it like this, this sucks, fix itā€.

The thought occurred to me, macOS (my other main daily driver) is a much easier and more pleasant *nix to use because people get paid to work on the product, which is something I canā€™t say for Linux.

  • Desktop environment rich with window management features and surprisingly few glitches (I say this just as a notification popped up on my Linux box and wonā€™t go away; Iā€™m clicking on the x right now and itā€™s just clicking on something underneath the notificationā€¦sigh.)
  • One unified app store that has a good enoughĀ selection for most people
  • Developers can still hack things up
  • Sleeps when I shut the lid
  • Wakes up when I open the lid
  • Runs browsers with any and all features intact except Brave, because fsck you, we donā€™t trust our users enough to let you run WebSerial
  • A team is paid to make sure itā€™s accessible while blind, deaf, limited motion (and maybe that accessibility focus trickles down to benefit the average user too)

There are companies, RedHat, SUSE, Canonical, et al, who get paid in a sense, but my gross oversimplification of the matter is they donā€™t really get paid to work on Linux as a product, they get paid to tell businesses how to use Linux and other free stuff to work around issues navigating what is otherwise a proprietary-software-dominated world. ā€œBut all my Microsoft Officeā„¢ filesā€¦ā€ They work just fine in LibreOffice! Thatā€™ll be $2,500. ā€œOur team really likes Slackā€¦ā€ Have you tried [zulip/mattermost/insert other open source Slack clone flavor of the month]? Thanks, pay $1,000 at the next window.

That means Linux the product only gets the free fixes, for the most part. The fixes where some user crosses the Venn diagram between giving enough of a shit, being frustrated just enough by an issue, and having the ability and time to just go and fix it themselves and contribute the patch / PR / whatnot. Or the fixes that were sponsored by a company in the process of using the code for their product or serviceā€“if the company cares enough to upstream it (or doesnā€™t care one way or the other)

Maybe Iā€™m just suffering Ubuntu-itis and I can sort everything out by hopping over to Debian or arch btw. At least until the next issue I run into.

Does anybody else get tired of this, or is it just me?

I ainā€™t reading all that crap edition: Linux on the desktop sucks because nobody gets paid to fix it, they only get paid by businesses to tell them how to shoehorn Linux into their business world.

oh god i spent so much time whining about this that i could have spent coding

  • @[email protected]
    link
    fedilink
    English
    15ā€¢1 year ago

    I get your frustration but I think thatā€™s just the price you pay for doing ā€œITā€ things (meaning here more in-depth stuff than just using a browser)in the current IT landscape. I think there isnā€™t an easy fix, not even money.

    The snap rant - Iā€™d say thatā€™s Ubuntuā€™s fault for pushing for it. Iā€™m not a fan and Iā€™d advise against using snaps, but if you decide to use them and then complain that you donā€™t like how it works ā€¦whoā€™s fault is that? (other than arguably Ubuntuā€™s, who have paid developers to work on that crap btw).

    Virtualbox - same as above. Thatā€™s not Linux doing stupid things, thatā€™s Vmware (now owned by Oracle, damn) and if you decide to use it you can blame the folks who develop it for not doing a more user-friendly job, or you can chose to work around the issues you encounter, or you can use something else. Personally I used libvirt + virt-manager in the past and while virt-manager doesnā€™t look nice and modern it worked well for me.

    For the sleep/wake up issues it might be firmware, it might be your desktop environment, it might be some software youā€™re using, it might be several things. Iā€™d start looking into the output of sudo systemd-inhibit --list to see whatā€™s keeping your system from sleeping if you still have issues.

    If you ever decide to try Arch Iā€™d recommend doing so for a bit and see how it feels. Their wiki is the best Iā€™ve seen and really helpful with a lot of topics from gaming to setting up a web server and many others.

    I personally use Firefox not Chrome, Arch not Ubuntu, native packages not snap, libvirt not virtualbox, KDE Plasma not Gnome. I try to use more ā€œlibreā€ stuff. Ofc youā€™re free to use whatever you want, thatā€™s the beauty of it, but if something doesnā€™t work the way you want, you can try something else.

    And because your use cases are more complex (like webserial, virtual machines, etc) I think youā€™d encounter issues in other operating systems too?! I think people underestimate how hard it is to do stuff in Windows for example, because they never try doing more complex stuff in it - getting an obscure error that could mean anything. Googling for answers to only find stupid crap like ā€œI rebooted and it worksā€ - which ofc it never does.

    tl;dr: There is no Linux ā€œproductā€ there are a bunch of 'em glued together. Try different tools maybe they work more to your liking.

    • @[email protected]
      link
      fedilink
      English
      13ā€¢1 year ago

      I think youā€™d encounter issues in other operating systems too?! I think people underestimate how hard it is to do stuff in Windows for example, because they never try doing more complex stuff in it - getting an obscure error that could mean anything.

      You put that into words better than I ever could. Iā€™ve been a linux sysadmin longer than I care to admit and sure, it throws obscure errors every now and then which are tricky or difficult to solve at best, but rarely impossible. On the current job I need to maintain windows servers as well and itā€™s a total shitshow on error messages and tracking them down. No clear logfiles with (somewhat, ymmv) error messages to throw on your preferred search engine, just some obscure 0x04whattefuck -code which leads to microsoft forums where some (apparently) paid technican says that you need to restart your server and/or reinstall a part of it. Itā€™s a bit different thing when rebooting a machine takes 15-20 minutes and several thousand people across the globe canā€™t do their job while itā€™s happening.

      With linux I at least have a bit more control on what Iā€™m doing, a bit more reasonable error messages to work with and, since Iā€™ve worked with it long enough, I have some understanding what Iā€™m dealing with and what kind of cause-and-effect chains Iā€™m running. With windows Iā€™ve seen properly seasoned veterans who ought to know their environment in and out (much like Iā€™m working with linux) theyā€™re just lost and throwing those 0x0FUBAR codes on the google just like me.

      At this week I had to deal with a email bomb (sort of, a dev made a slight change on something and it generated couple of millions of emails in a few hours). With linux I could build something up with grep, awk, xargs and whatnot to mitigate the problem AND monitor how my single line of commands is doing. But as I was on a Windows server all I could (with my current knowledge) was to search some powershell commands and run them & hope for the best.

      Complicated stuff is complicated for a reason, but with linux I at least have the tools to see whatā€™s going on and verify if my actions actually make an effect. With windows I feel like my hands are tied and all I have available is to hit enter and go grab a coffee, because maybe after that something happened which I can measure.

      I (very much personally) think that should any of the issues OP had happen on windows there would be very little to do about them. With linux thereā€™s at least an option to try something different.

    • @[email protected]OP
      link
      fedilink
      English
      0ā€¢1 year ago

      All good points. I fully agree, and I deserve it for living on the edge of technology like this. (The cavemen probably burned a few eyebrows off before figuring out not to touch the fire)

      Worth noting, I didnā€™t mean to use snap, it was that ā€œapt install chromium-browserā€ transparently installed it as a snap and I wasnā€™t paying attention at the time.

      In general I donā€™t really care one way or another between apt, snap, or just plain downloading the source and doing a good old fashioned build from source like the old days. I just didnā€™t know to expect this certain installation method to lock out a certain browser feature I needed at the time. Now I know, so I wonā€™t use snap for that (or maybe ever, Iā€™m debating whether I just uninstall it). I wonder what fell out of my brain to make room for that, though. :D

      I am pretty sure the no display sleep thing is down to whether I had a VirtualBox machine as the active window when I left it, so my ā€œfixā€ is just to make sure I click some other window before I leave the desk. I have had fine experiences running VMs in Windows, nothing to report. I even do crazy stuff like pass through USB devices to the guest machine and all (that seems to work regardless of what host OS I run it on).

      I do run into things on Windows and Mac sometimes, to be completely fair. Just fewer and further between. Maybe thatā€™s just because thereā€™s fewer things I can do on them, though. (Canā€™t build embedded Linux or Android images on them)