Why I'm not switching? Because every time I login there is something that needs a quick update or a quick fix.
After I've tried Fedora the last time, I turned on my PC and the resolution of my monitor switched to 800x600 from the 1920x1080. There was no way of setting it back to the correct resolution.
"Well, you know, you could just SUDO this, or SUDO that."
Yeah. I know. But I don't want to SUDO this or SUDO that. I want a operating system that just works.
I installed Windows 10, took 10 minutes, everything works great.
2. The subtle issues from various audio devices, mice, printers, GPU driver support, etc. Or just driver/hardware support in general.
3. Learning the equivalent (or worse) software for the various little things that need to get done like picture editing, video editing, editing doc/docx files, etc.
4. Attempting to fix issues leading to multi-page long support involving installing new software, editing configs, running cryptic commands, etc. (Not that Windows is much better, since most big issues seem to lead me to the suggestion of a fresh install. and there have been some issues caused by updates that I haven't been able to fix to this day.)
Also, as a person working with PDF documents on a regular basis, I don't know of any application that can beat the feature set and UX of Preview.app.
These are the only two things keeping me back. If there were viable alternatives in the Linux ecosystem I'd switch in a heartbeat.
There are _zero_ effective replacements for a multitude of things I need, although I would be perfectly happy with a fully standard implementation of Remote Desktop (and no, Remmina still lacks the authentication and virtual desktop workspace support I need). Edge and Teams betas are coming close to providing around half of what I need, but not all there yet (I work at Microsoft).
I am, however, pretty happy with Linux for personal use and development work - I even bought a new laptop exclusively for it: https://taoofmac.com/space/blog/2021/08/26/1400
I am running Elementary on it, which is (by far) the best distro for my needs (and habits): https://taoofmac.com/space/blog/2021/08/16/1200
However, all my personal stuff (mail, photos, music) still lives on a Mac, and I don’t see that changing as for “civilians” (as a friend puts it), the lack of even half-baked e-mail and calendaring, let alone the kind of creature comforts you get from the Mac App Store (and the Windows one) make Linux a no-go unless they just want to browse Facebook and read webmail.
(Again, Elementary comes closest and flatpacks are _nearly_ there, but the core apps aren’t ready yet.)
Tbh, I am looking to upgrade my laptop, and was thinking of going pure linux, but all these things are making me reconsider. I don’t want to buy a nice piece of hardware and then struggle to use it because of software compatibility. Yes I know there are Linux only systems with dedicated hardware, but tbh the hardware (system76 etc) isn’t as good as other options (that I can tell), and it locks me to linux. And yes, there are linux/windows laptops like x1 and xps, but I don’t want to buy Lenovo and I’ve had bad experiences with dell. So, I’ll probably end up going Apple and donating to some linux alternative to help forgive my sin of giving in.
Just look at this https://wiki.archlinux.org/title/Comparison_of_desktop_envir... And this one distro doesn't even cover the package systems that differs between distros and other distros based on those (see how Ubuntu is based on Debian but there are distros based on Ubuntu, it's like the Inception). Of course some of these doesn't matter on a huge scale but analysis paralysis is real. And stone me for that but I really don't believe the more choice is better. Or leads to better things in this case. Like imagine if people would work together to have _one_ better distro instead of having... hundreds or thousands of different one.
I have to use Linux for some projects in VM but that's more than enough for me.
Weird shit like, Linux refusing to let me copy files on an external hard drive because "I'm not the owner" of those files. What the hell? I've owned these files for 20 fucking years. Linux telling me I don't have permission to access my own files. GTFO.
Another big issue is lack of software. The alternatives just don't measure up. Graphics and audio editors are garbage. Gimp ain't Photoshop. A similar issue used to be games, but Valve's been fixing that very rapidly.
And then there's the analysis paralysis of too much choice. What distro do I go for? There are over 500 distros actively maintained. You'd need to study this for years to choose well. I ain't got years to switch, I need to work now.
Others have mentioned the trackpad experience, and that's a thing, but not a deal breaker for me since I use the keyboard a lot.
Hardware quality is another issue, more important than the trackpad for me. MacBooks are built like tanks compared to most other laptops, and it's not difficult to keep one running well for 8+ years. In fact, I have a 2013 MacBook Air and a 2015 MacBook Pro, both of which are running as well as ever.
Reading through this thread though, I'm baffled by some of these issues. I have been using the latest Ubuntu release for the past several years, on a variety of machines (T440s, 2 self-built desktops, a Lenovo Legion) and haven't experienced any problems to the degree others have mentioned. Out of the box support across Intel, AMD cpus, no graphics issues, nothing with scaling or extra monitors, never, on any machine. I did notice one problem when I updated to Ubuntu 20 about six months ago that my left Gsync monitor was acting weird, but I just disabled gsync and it runs perfectly fine. That's it in the past 5 years of using Linux as daily driver.
I work as a software engineer full time so maybe I just don't notice "issues"? As the old saying goes, it works fine on my machine(s).
As other have mentioned here, the trackpad experience on macOS is literally an extension of your body it's that good, so it's hard to compete. It really is pretty incredible that my 10 year old macbook air trackpad is still technologically superior to literally every trackpad in existence that isn't from apple. From the glass surface, to non-linear scrolling of screen lines per trackpad distance traveled, to inertial scrolling, to two finger swipe for back and forward, to pinch and twist to adjust Preview'ed files. It goes on...
Beyond the trackpad, the battery life is iffy and wake from suspend still somehow doesn't work perfectly every time are my only complaints. Of course it took a few weeks of getting things configured to how I like it, but I feel set now. I also only really browse the internet and watch movies. I don't code or do strenuous video, image, or audio editing. Oh, and the audio is terrible compared to apple laptops, which again Apple somehow is incredible at.
The big issue for me is privacy and ownership of my hardware. I will put up with all these small issues to truly own my computer. Most don't care, which is sad, but it's a common discussion point here which I won't get into.
1. Cohesiveness - there are many things Linux does excellently if done independently. But, when you want a cohesive experience to achieve a good user experience, it falls flat in its face.
Examples:
Have an excellent file system? Check. ZFS, ext4 and plenty more. May I expect a simple equivalent of a GUI file explorer in the class of Windows Explorer or Finder? Nope. There is not even thumbnail previews if images in the default views. Sure, there will be some commenter that will prove me wrong by saying “if you choose this district and combine it with this particular program I found and follow on GitHub, and simply run this command, it will all obviously work”. But, that only proves my point. I don’t have the time or the interest to do that. I applaud Linux for its powers in the server ecosystem, and use a cohesive yet restrictive Mac or Windows for the Desktop.
2. Battery life. Of course there is “laptop projects” and a plethora of scripts I can run to make Linux consume less power on a laptop, but the default option will just be poor in comparison with Mac and Windows because of their focus. Linux being powerful is actually at odds with the goal here.
3. Reliability around on/off/on/off/suspend operations like that of a laptop. I expect my Mac to wake up instantly and allow me to pick up work from wherever I left it. I reboot on my terms about once every couple of weeks when I am off work and relaxing. With Linux, it may work, but also not. Updates of packages break each other more often taking my productive time to fix things back in place. That anxiety is simply not worth it IMO.
In my opinion, being a good DesktopOS needs a authoritative and opinionated ecosystem so as to achieve that cohesion at least at the base system level. Unfortunately Linux does not target that. There have been attempts at it from PopOS, ElementaryOS etc, but they haven’t hit the mark yet as they too lose their focus quickly and try to do it all, and add yet another option in an already fragmented toolset. Example: ElementaryOS brought Vala as a language to write apps. Of course their apps are good, but the rest of the apps needed dont look or behave like the ones they made :-(
On my “hobby” workstation, I use Linux and enjoy it because I don’t have the anxiety about losing it at critical times. I simply have my /home backed up throughly and don’t care if the OS gets borked. I can always reinstall and bring my /home. Can’t live with such a setup on work PC.
There aren't any major showstopper faults any more. But everything is a little bit off and I'm not willing to spend the hours required to customise everything to my liking.
Also if I find a nice piece of software, it might just die because it doesn't have a business model, just 1-2 enthusiastic developers who may or may not suddenly burn out.
The old adage still holds true:
- Linux for servers
- Windows for games
- MacOS for work
I try every two years or so to daily drive Linux on my personal desktop. Between these kinds of rough edges and running CAD tools, I inevitably eventually go back to Windows no matter how much I enjoy my terminal emulator options in Linux.
- HDPI displays work fantastic and have for a long time
- hardware is generally well supported of all types. Installing a printer is trivial and doesn’t mean adding a metric ton of crapware like on Windows of past.
- I get a close enough Unix environment that I feel at home in the terminal. Maybe it’s my prior background with *BSD (Free and Open BSD) that helped so I wasn’t as attached to GNU flags on commands, so YMMV.
- app ecosystem exists for almost everything I need natively. The few examples that don’t (SolidWorks and some FPGA toolchains) are trivial to run in a VM (they also don’t run on Linux natively either).
- Several apps available only on MacOS are best in class (at least for my needs, but generally considered great anyway by all)
- I could buy the latest Apple machines (which is best in class in my opinion, at least for the things I care about) and it always worked out of the box with my OS of choice. If you agree that Apple hardware is great, but prefer Linux, you will consistently be a third class citizen hoping somebody is able to write a say graphics driver for the M1 while you sit using older inferior hardware. Yes, you can get decent hardware that has official manufacturer support for Linux, but it’s inferior to Apple hardware in ways I care about (Trackpad as one obvious example).
1. Lack of good mobile hardware. ThinkPads used to be good, but sadly more than a decade ago they switched to 16:9 screens. Macbooks were 16:10. This was and still is an absolute dealbreaker for me. Fortunately, ThinkPads started bringing 16:10 back (but see below). There were a few non-16:9 PC laptops on the market, like the Microsoft Surface or some Dell XPS models. Absolute junk.
2. Even though we started to have 16:10 ThinkPads again, it doesn't matter, because Linux doesn't support non-integer display scaling factors well and these new screens come with dumb resolutions that would require a non-integer scaling factor. And the screens are crap compared to macBook screens still.
3. AMD ThinkPads only have crappy screens compared to their Intel counterparts. There exist Intel ThinkPads with Intel (non-Nvidia) GPUs that I would consider for buying, but they are unobtainium. They are either only sold to select countries, or require some kind of commercial agreement to buy.
4. When I used unix systems in the 90s and early 2000s the unix GUIs were better than the commercial counterparts. Now this situation is reversed. Gnome 3 is 10 years old now and I still have no idea how it works.
5. I used to use unusual window managers like fvwm and windowmaker. As things have become more and more integrated with the GUI, and as "popular" distributions like Ubuntu have taken the responsability of integrating everything in the GUI, it has become unfeasible for me to do the integration myself, so I'm stuck with crap software like Gnome 3, which I do not want.
6. RawTherapee and Darktable are usability nightmares compared to Capture One. Plus, what would I do with my C1 sessions anyway?
7. I use an iPhone and make heavy use of the integration between iOS and macOS. Specifically things like iMessages, Photos.app and Facetime. I can't do any of that on Linux.
8. Ubuntu is doing things I don't want (e.g. Snap) while Debian refuses to package useful software. if you think that niche Linux distributions like NixOS solve anything you are part of the problem.
People like to talk about "year of the Linux desktop", but I've been using Linux on the desktop in the 90s, and let me tell you it's been only downhill since.
I like the Linux command line, but I get what I need via Git Bash for Windows. Also there's Windows Subsystem for Linux.
Windows generally has better compatibility with hardware with less fuss. Especially on laptops. My friend tried to use Linux-only for a while, but he said trying to video conference just sucked. Sure, there might be some programs that work, but often the client dictates the video conference platform, and he simply couldn't do anything but tell clients he couldn't video conference. So he switched to Mac, which is like Linux with better multimedia support.
Finally, I'm just more used to Windows. And I personally don't have a big incentive to switch.
There are two Linux things I wish I could have on Windows:
- Proper X-Mouse
- Tiling windows manager
* No sleep mode by default
* Snap is cancer. When I’m sent a pdf, I cant open it directly because the current app is isolated and cant see that a pdf reader is installed. Same with all other app specific extensions.
* Snap, again. Whenever I’m sent a file on Skype, I have to reboot; It overrides my $home directory and I cant open or access anything elsewhere.
* Why do links sometimes keep opening in firefox? I dont have it installed, did a full scan and cant find where it comes from. Yeah Microsoft is pushy about Edge, but at least it respects your settings when you do change them.
* There’s a memory leak somewhere, I have to reboot every week. Probably that’s why sleep is disabled…
* spotify sometimes can no longer find an output device and everything gets muted (might be an app issue, but I haven’t encountered it on other platforms so ubuntu gets the blame)
* When disconnecting external displays, the pointer still “sees” them and disappears into oblivion. Also it doesn’t work for half the screen.
* With external displays, I sometimes have to log in twice
For personal devices, I just want reasonable defaults so I dont have to tinker with them
2. In case something broke in Linux I would spend a lot of time looking how to fix it. I use Windows since 3.1 and I know it inside out.
1. The Handbook. I get the distinct feeling from most Linux distributions that they’re trying to do things for me. FreeBSD, in contrast, is trying to teach me how to do things. 2. Lower churn. I enjoy finding manuals from the 90s that are still relevant to how my system does things. 3. Simpler system. Feels less magical, like I have a chance at groking the system in front of me. The installer includes sources. Building from source is a Makefile. I’ve found myself reading the source code as a frequent first step before a web search since switching to FreeBSD.
Lack of quality apps that I can find on Mac, like Fantastical, Reeder, MindNode, and more.
But the single biggest one for me is I just want my devices to work and not have to fix them in my free time. Not to say Linux requires fixing all the time. It’s more that I’d just like things to work and Linux, last I used it, required I have to tinker and research things too much. It was fun then. But now I just want to live my life and not tinker with things when I want them to do what I want. For that reason my Macs do well enough at just continually working.
Whatever distro I used it is the same at one point in time: In order to run X-n, you need Y-n-1 but Y-n+1 is installed and needed by Z.
Next: sleep mode and or the not recovering from it.
Linux is GREAT for tinkering, love it on my single purpose Raspis, love a dedicated VM/Laptop with Kali. But I will never again switch away from my macOS that just works for the job I need to get done.
Updates in Windows do not break graphics mode.
I wrote a custom tiling WM for Windows, and can't find Linux replacement (predefined layouts, tabs, multimonitor support, free-float allowed, also widgets).
A few years ago Ubuntu still had problems with multiple displays on Nvidia driver.
Recent: me & my friend do deep learning. I am on Windows and he is on Ubuntu. When I run an experiment, OS is responsive. When he does, DE slows down to a crawl. Looks like OS does not schedule GPU.
I used to use Windows and it had so many annoyances and differences when doing work that deploys to Linux. Using Linux as an end user had many more annoyances and things that just didn't function or required a lot of effort to get working just right (wifi and trackpad are the big offenders that I recall).
To answer the question specifically - the end user experience for Linux needs to surpass Apple's for me to switch. I don't see that ever happening, tbh.
Taking a step back - I don't see myself as a fanboy, this is purely from the perspective of I've already paid my dues doing IT desktop/laptop support earlier in my career and just want it to work.
It's 2021, and it's still a miracle if we can achieve different scaling on different monitors, no tearing on multiple screens, and plug'n'play of an external monitor. Things that work on Windows/macOS out-of-the-box for the last N years.
Windows is an absolute no go for me because I can't be bothered turning off the dozens of spying and tracking options anymore. This is despite using WSL for several months and actually enjoying my dev experience.
I don't want to use MacOS either; I got this laptop just for the value of the M1 but at least MacOS doesn't *feel* like the huge spyware/adware that Windows is.
I have a Fujitsu Scansnap scanner and two Brother printers. Although I got the Fujitsu scanner to work, it didn't have all the software goodies (auto-straighten, OCR etc.). It works out of the box on mac. I cannot get my color printer to work with my Lenovo Thinkpad PopOS machine, and the black and white Brother printer works, but is..... fiddly.
If I also had to edit images/video regularly, I'd switch back to macOS.
For me it's the comms apps (e.g. Teams). These tools are selected at the team or corporate level. Whilst they typically have Linux support, the Linux implementations tend to have many more bugs and fewer features. If I'm in a call and someone's screen is frozen or they drop off unexpectedly, they are usually using something non-Windows.
But I do my day to day development in a Linux-like environment - either docker, WSL or a VM.
I would prefer to be linux native, but not at the cost of being a second-class citizen when interacting with the rest of my team.
Half the time I end up destroying my Linux installation to a point where I don’t feel like recovering it. I think one of the more recent times, after a botched Nvidia driver update, I ended up with some super fucked config on a LUKS encrypted volume that wouldn’t boot. Asking around, it was suggested to use an EFI shell to fix some config, but of course guess what the MB didn’t provide. I’ve managed to fuck some Windows installations as well, but it’s been some years.
There are also some things I like about Windows and I also need to have a Windows machine for work related reasons. Frankly I just don’t find myself as skilled with Linux as I should be. While I’m not going to claim to be some Windows domain expert, having used it for so long I’m normally relatively familiar with the tools/processes to go to when something goes wrong and the APIs available when I want to hack with something. On Linux I haven’t really taken the time to use and understand it to be as familiar and always have to look up what to do for simple tasks. I swear to god some systems service running a docket image/VM somehow managed to change the hostname configured in my machine and I have no idea how. All I did was run the service.
I have found myself using Linux a little more as, somewhat interestingly I have a lot of hardware that only ships Linux drivers I don’t care to try and port. Software is a different story. I recently thought I was going to get involved in a domain in which the only software available (especially for real world use) was Windows only, so I went back to Windows. That ultimately never happened though.
It's got the Adobe Suite for graphics and video stuff, and WSL for Linux development in a way that's better than MacOS ever reached in that category. The window management is really good nowadays. I'm also writing some software that will target Windows (and also Linux). Great touch screen support on top of that, the Surface Book has a great design (although very limited internal hardware, so I won't be getting another lol)
Plus I like Notepad++ better than any other graphical text editor I've used, and Ditto is my favorite clipboard manager by far.
I think a lot of this could be replicated or improved upon in Linux (and maybe having a secondary Windows box to target stuff to be released for Windows), but the Adobe suite and touch support are the two things that would be too much to miss. Also, audio on laptops has also proven to be an issue with Linux in the past.
Microsoft does seem to be actively hostile in pushing irritants on the user, but they can be disabled, and Apple is similarly hostile nowadays, so I am not inclined to switch back to MacOS.
- reliably working hardware
- microsoft office
I lead a pretty mobile life so I flip my laptop open and closed probably 20 times a day and do loads of video conferencing in a professional setting. Even a small fraction of the time having it not wake, or Wifi isn't working, or sound and audio isn't right etc etc ... would just be a deal breaker. And every time I see these threads, people are STILL talking about all these things.
- Flaky multimonitor setup (it's always this or that, in the case of my PC apparently connecting 1 monitor to the Nvidia card and 1 monitor to the integrated GPU is not possible... I didn't want to deal with the laptop version of that).
- Android Studio: Setting up the environment for android studio was a pain. Adb sometimes works , sometime doesnt.
- Bluetooth audio: I use the Galaxy Buds pro. They sometimes work and sometimes doesn't work in my linux PC. I need them for hangouts.
- Tidal client with Master reproduction isnt available in Linux (pet peeve of mine).
So in general when I was making the decision between Mac or Linux, I decided for Mac because I didn't want to spend any time tinkering for things to work (I didn't consider Windows as to me it feels as a toy OS. And I have it on my pc for the very rare occasion when I want to play something I can't play on linux).
Downvoted for answering the question honestly, stay classy HN.
- battery life worse than a full screen VM running under Windows. Need to fight tooth and nail with drivers and config files for graphics that switch from low power intel to high power nvidia based on workload, for example.
- wifi throughout worse than a full screen VM running under Windows.
- worse UI performance under load than macOS or Windows. The whole UI, eg the compositor or X server can easily grind to a halt with no “beachball” style indicator. Crashes in that process are not uncommon, and effectively lose the whole session.
- somehow I managed to break my sound output with a routine software update in the year 2019
- browsers (eg Firefox) still buggy or blurry under Wayland
For me, as someone who does a lot of music and recording, Mac was always the 800 lb gorilla - Windows could never touch Mac in terms of giving OS priority to the audio layer, etc. Linux I don't even bother with, because I have zero desire to dick with Jack/ALSA to just get stuff down. Also, I use Ableton Live as my main desktop music environment and nothing even comes close on Linux.
But iOS is actually better than MacOS for music, in my opinion. The ecosystem for synths is insane, the touch interface lends itself perfectly to making music, and the apps are a lot cheaper.
Honestly, OS hardly matters anymore for 70% of what most people, even nerds, do for productivity. VS Code runs on everything, most of the business crap is in the browser now, and you can watch and listen to streaming media on anything. If you're a gamer you need a Windows box, if you're a multimedia person you need a Mac, but if not you can use Mint or Elementary or whatever or even a Chromebook as your daily driver and not really notice any significant difference.
(I don't care about desktop environments because I run 99% of my apps full-screen and always have. If I need to have a console open I'll work on my Mac and have my iPad running a mosh or ssh shell, or vice versa.)
I mean, of course, all this goes out the window if you're writing compiled stuff that targets specific platforms, but me, I just do Node and frontend JS and HTML for money, man. I can do that on literally anything. I just use MacOS and iOS because I've got MacBooks and a 12" iPad Pro that weighs nothing that I can pair a Bluetooth keyboard and mouse to and use for hours at a cafe or in a park without needing a power outlet.
Its 2021 and I cant pin a window always on top? Crazy
My experience with desktop Linux is that it's always on your mind, like an old motorcycle. You're always fiddling with something, listening for noises, keeping a mental model of its internals in your mind. Keeping it running involves knowing how a carburetor works, and having a few motorcycle forums on quick dial. You want to believe that it's better than an overengineered modern car, but you're always fiddling with it at red lights.
It's fun to mess with old motorcycles, but only when your goal is to mess with old motorcycles. Sometimes you want to Just Drive. That's why they're rarely your daily driver.
MacOS is the trusty sedan I need. Linux is the contraption I take out on the weekends.
2. The community is condescending, arrogant, and extremely pushy. If you have a problem and it is not in the set of problems they're used to, they will be mad at you for not conforming to how they do things. They will often unhelpfully tell you to use a different distro, which of course has its own problems. When none of their unhelpful solutions are good enough, they will blame you for not changing your use case. They will hate on people using alternative OSs, but when told why people chose those OSs instead they become extremely defensive.
3. Everything else. There's a lot of little things that add up. A modern Linux desktop has a lot of moving interconnected parts that are mostly developed by completely different groups with completely different goals, almost none of whom write good documentation. Every application has a completely different configuration file format. Pretty much everything in GUI land is at least a little jank, as though it is just a poorly coupled frontend to running commands on the terminal... which it probably is. There's a lot of hardware that technically works, but is flaky as hell with the existing driver and there's no indication that'll be the case until you run into a bunch of problems. The system's default response to running out of memory is to start randomly killing programs to free some up, and for some reason the community doesn't think this is completely insane.
I will say that Linux is usually pretty good for building appliances, and it makes a decent server because server is a subset of appliance. But as a desktop it is a complete garbage fire as far as I'm concerned.
Switching out of academia to the "real world", my work environment runs on macOS, and hence my daily driving does too. The polish of macOS has been really nice for someone accustomed to fluxbox and CLI tools for sysadmin tasks.
If only macOS conformed to the DFSG, Debian's free-software guidelines... Free as in beer doesn't matter to me nearly as much as free as in speech.
There was a short period in the mid-2000's where there was a lot of desktop eye candy (sup KDE) and accelerated window managers like Beryl, but it regressed from there.
Look, nobody wants to be diffing config files when they upgrade random software packages. The lack of UI polish, multiple UI toolkits, questionable UX choices, and user ergonomics are poor. Give me a Linux desktop with a beautiful and consistent UI like we had with Windows 2000 and I'll be the first to use it.
Let's face it. MacOS is the real successor to the UNIX throne, most of the middle class uses it, and everyone else is on Windows.
Ultimately, I want an operating system with minimal friction while using it, and Linux just seems to have a philosophy with a quite different focus.
1. battery life on laptops. Linux tends not to Power Management well on most laptops. Whether this is a hardware/ACPI thing, a device driver thing, or an overall ecosystem thing, I'm not sure. But it's noticeably worse than when running Windows or macOS.
2. as others have no doubt mentioned, trackpad. Apple's trackpad hardware and macOS's trackpad gesture support is so good, it's really hard to not have it. I can emulate some of it on my XPS 13 running Ubuntu w/ some additional agent thing that runs in the background, but it's only 85% there and not as smooth an experience.
3. desktop environment stability & consistency. this is _much_ less a problem than it was say 10 or 15 years ago as GNOME has gotten quite good and Flatpak/Snap/etc. are decent at containing various GUIs and their disparate dependencies, but there's still a lack of good integration with DEs across ecosystem tools generally. But also Electron has also sort of leveled the playing field a bit, so many desktop apps behave the same across platforms (for better or worse)
I would've said slow package/kernel updates, but there are enough solutions to this now, that it's not as much of a problem (Ubuntu HWE, Nix, Linuxbrew, or using ArchLinux)
Windows and macOS provide convenient GUI options for these seemingly simple things.
Windows, unfortunately, just works. Games I play work fine, streaming doesn't require a workaround, and I don't have to hunt down a guide to tweak something that I wouldn't normally have to.
Another issue I had with Linux desktop distros is with software compatibility and inconsistency of available binaries among the them. I got really sick of trying to build libraries from source just install simple apps or libs. I do enough of that in my day job.
I am not hating in Linux though. There a great many advantages and for simple use cases it’s more than adequate. I even had my teenage daughter use Mint for a while until I broke down and had to get her a Macbook when she started university (there were some specific system requirements that their software had, and it wasn’t compatible with *nix).
Linux is the best for servers. The command-line experience is far superior.
Windows 10 is tolerable for VS Code development, but I'd use a Mac if I were allowed.
macOS 10.13 is best for Time Machine, MS Office, Skype, and the AppleScript API to let me script everything.
macOS works better with my iPhone 4S using iTunes 10.6.3 for offline sync over USB, Contacts, Calendars, Music, Bookmarks, Apps, and Photos.
Apple hardware (on my MacBook Pro 2014) is better for MagSafe, replacement parts/schematics/boardviews, and has a better trackpad (though I use an Apple Magic Trackpad on the Windows 10 PC at work), and high-resolution screen. I wish I had a removable battery, but many competitors don't even have that.
The reason I don't like Apple is because MagSafe is gone, offline sync is discontinued (even macOS Server no longer supports Contacts/Calendars/Notes), and repairability is at an all-time low. But the inconveniences of using an old Mac are still less than the inconvenience of running Linux on a new ThinkPad.
But I also assume, that I would spend a lot of time for configuration and I would get a lot of small hardware support problems - wifi, hibernate, bluetooth. Also I would not be able to sync and copy/paste across my other apple devices, use my magic trackpad and airpods and so on.
Honestly, it is a difficult topic - I've used Linux and FreeBSD as my sole desktop system in the past for several years, so that I have a pretty good understanding of what to expect. On one side I do not want to spend time to fiddle with my system anymore, on the other side I have a feeling that the current privacy-violating course at apple will push me to jump the ship.
Nothing on Windows or Linux guis is as good as macOS’ Finder!
Quick Look and the use of Miller Columns are two features that spring to mind!
I spend most of my life in the terminal, an editor or a browser so can switch pretty easily.
Id rather use Linux than Windows, but sometimes I want and need to use Photoshop. And Linux isn’t great for that!
I feel like I’m fighting Windows or Linux.
But when I’m back in macOS, I can just get on with things!
At home, I use music programs which only run on Windows. I also game a lot, and while I hear gaming on Linux is better these days, it's just zero friction on Windows.
The additional problem I have with contemplating using Linux as my daily driver is hardware support. I like laptops with long battery life that I can get 8-10 years usage. System 76 has some systems that look interesting but I have to run their Pop! OS to ensure compatibility - which removes one of the reasons I'd want to use Linux as my daily driver: I want to pick my own distro.
In the end I'm fine with using Linux on the server and using Mac OS as my daily driver. It's been working very well.
On my own laptop I use Linux Mint Cinnamon. Installed when Windows 10 got stuck in a loop installing an update that wouldn't work. I don't miss much.
(I've always only upgraded to LTS releases)
I love my heavy System 76 laptop with a GPU but the UI is not quite there for me. It is too heavy to travel with but good for at-home deep learning work because for the GPU.
A possible sweet spot for you to look at: Chromebook's because the UI is pretty good and the Linux container support is pretty good. I just bought a super cheap, super portable Lenovo Duet that is surprisingly useful. However, the cheap price entails slower performance and the USB-C port will not drive a hires external monitor. Something twice as expensive with better performance and better external monitor support might meet your needs.
Mac OS just works, brilliantly.
Windows isn't as great for web dev stuff. So Mac OS it is.
1. Poor battery life
2. No Office (and running a VM brings me back to 1.)
3. No hibernate
4. No full disk encryption
5. Trackpad works better with Windows
6. Too many people working on their own distribution and competing against each other instead of merging resources and solve 20 years long issues. (And I guess I will be lynched for writing this :)
Once I could forgive, once a year is unacceptable.
I do have an Apple bias, as I grew up on Macs. I’m competent enough on Linux to use it, but I don’t want to play IT while I'm also trying to do my regular job. When one became available, I switched to a Mac. It’s not a perfect experience, but it is reliable.
I wouldn't switch from macOS to Linux because my previous experience is that Linux won't work well or be unstable (with updates) on some hardware—in my case, a laptop. I have been reading that the situation has improve, but honestly I don't want to risk it. In general, even in purely software land, updates haven't always been smooth.
Even if all these issues were resolved, I'd need additional motivation to go through the effort of switching.
I try some modern distributions, and many of them come very close to working out of the box. Usually nVidia drivers are a modest hassle, but it's arguably still faster to "everything you need installed" than Windows.
But I never really feel comfortable in there.
1. I've never really trusted package management. What we have now is a morass of "some stuff comes from the vendor, some from an external repository, some comes via snaps/flatpaks, some compiled from source. This screams "unmaintainable tangle" later.
2. Modern desktops/config tools give me a very similar vibe. I feel like there are a lot of tools I can run that are likely to clobber (or neuter) the configuration changes made in the modern KDE/GNOME/XFCE graphical tools, with no obvious way to get back. All in all, the experience is much less "I have my finger on the pulse of exactly what my machine is doing" than it used to be. I know I can unbundle a lot of this stuff and run FVWM, but then you need to find replacements for many of the little helper applets that lived in a "desktop environment" dock (an always-on mixer so volume control keys work, for example)
3. A lot of distributions have the "let's be Free-as-in-broken-for-common-use-cases." The vital missing firmware components or drivers, or common codecs. Yeah, I get it. People played fast and loose in 2002 by including x11amp in the distribution. Even if they can't ship the bits in the ISO, they could at least have the non-free repositories enabled by default or some very clear "install-the-bloody-nvidia-drivers.sh" scripts left on your desktop after install.
4. Turnkey Windows games support. I get that if I install Steam, it and Proton are supposed to handle most stuff, but there's still plenty of titles where there's, at the best... conflicting information out there. I also expect that a lot of guidance is distribution and configuration specific, and probably quite brittle.
I guess I'm waiting for Slackware 15, because they were always closest to the ideal in terms of "no package-management or configuration surprises", but on the other hand, I suspect getting from "working desktop" to "playing Guild Wars 2 on monitor 1, while streaming Crunchyroll on monitor 2" would be a lot easier if I was comfortable with something like Ubuntu.
I invariable find myself up with an obscene number of browser tabs open trying to fix various problems ranging from minor to severe that distill to copy+pasting CLI commands.
Most recently, the experience on a tablet I use primarily for writing involved laggy input, no good drawing software, and experimenting with custom kernels.
I'm suspicious the problem is rooted in 2 areas: design-by-committee, and messy dependency webs.
Installing another OS takes a small amount of effort, so Linux needs to at least provide enough value-add for me to bother. It does not.
I believe that Apple’s laptops are the best on thr market.
I also enjoy the apps. E.g. 1Password / Preview / Evernote / Skitch / Pingplotter / djay. great And Acorn. Acorn is great and I would really miss it if I switched back to Linux.
I love the fact that people can make a living of writing great apps for the OS I use. I gladly pay for that.
Pop!_OS is like a dream. Quick install. Update. Restart. Go. Manjaro and ARCH are perfect for development work.
Last time I felt this satisfaction from using a desktop was long time ago with Snow Leopard. So in summary, use what you like but stop with this "Linux is hard and breaks". Control requires some effort and expertise.
2. Some software I use does not run on Linux (Clip Studio, Adobe CC)
3. MacOS offers some of the benefits I would get from Linux with a more consistent environment, polished software, and better integration with my other devices
4. Linux is too fragmented, everyone seems to disagree and roll their own solution. This was fine when I had fun tinkering with computers, but now I use computers for leisure and work.
Ultimately the same reason I have an iPhone instead of an Android: Windows/MacOS do what I need and at this point I'm more interested in doing that thing I need/want to be doing instead of f'ing with the internals of my OS, figuring out how to merge config file changes from my package manager, and getting it working with the WiFi.
25 years ago that sort of thing was fun. I have no appetite for re-learning it.
Also OneNote is my primary note taking tool. It’s really easy to get going and is able to search across other notes very well. Also free built in OCR scanning is a big plus too.
I haven't switched...yet. The problem is its another entry, and a particularly big entry (switching OS's if you've used one for years is quite a big job) on the good old infinite todo list, and other things are prioritised over it. Maybe eventually I'll wittle my way down to it, or it'll get moved up, but yeh, life happens.
When I last used an IDE in Linux 10+ years ago it wasn't a great experience. 99% of end users in a business environment are on windows 10, so it makes sense that I am too. The others on Apple I'd guess, not Linux.
The backend storage is easy, it's the front end / image processing that I'm struggling with.
Visual Studios's performance on large solutions has gotten so poor that I've switched to Rider fully, but I still need to be on the platform my stuff has to run on.
I've tried running linux on it but the cpu temps are too high. This seems to be an issue with the linux kernel and the cpu's used in macook laptops.
Don't like Mac hardware for various reasons, again I want something reliable.
Been meaning to try dual booting my MacBook Pro (2015 model) since upgrading the SSD.
I have a VPS running for years now and I SSH into that when I need Linux in a hurry. Or the single board computer connected to my TV (LibreELEC).
To switch away from anything based on Android, I really just need calling/modem, Firefox and Signal.
I have an Ubuntu desktop and laptop for my personal work.
From what I've been able to gather, there are two reasons:
1. Vidya (this is somewhat valid)
2. Status signaling (but you'll never get them to admit it)
That's it, full stop. You either need to play Fortnite, or your status needs to be affirmed by others. There's a small minority who pretend that LibreOffice can't open MS Office docs, but considering 99% of corporate Mac users use G Suite in the browser for docs anyway, this is a ludicrous complaint.
Just accept that they care about their public image, or like to play vidya, and move on.
I have a Win10 installation on a drive on a second workstation should I ever need to run a commercial, Win-only app, but it mainly just gets started every few months to catch-up on updates. I'm fond of my 2011 MacBook Pro (the hardware) and have become less and less impressed with the OS and apps as time as gone by (and as I made the mistake of installing updates). It's the only machine that I allow the camera on, so it's the go-to for Zoom.
Because, like it or not (I don't) DX11 outperforms OpenGL on my target hardware.
But on the plus-side, VS is incredibly comfy.
Enjoying my M1 though, and I like the *nixy bits of OSX so it’s an okay compromise.
Last month I did rage quit GNU/Linux because of iwlwifi bug [1]. It was moderately bad until the middle of July (fortunately it didn't occur under the load, like in videoconferences), but after another kernel update I got the same behavior as in comment 269 there: connection dropping every minute. Then I found out about new hackintosh intel wifi drivers, tried installing it on my Thinkpad and was surprised how smoothly everything worked.
[1] https://bugzilla.kernel.org/show_bug.cgi?id=203709
Of course, there are another annoying points besides the WiFi bug. macOS sets pretty high bar for GUI convenience:
- consistent cmd-shortcuts - I tried reproducing it with some luck using custom xkeyboard-config file
- MathUnicode.keylayout - tried reproducing with XCompose, with recent sway it was rather close experience
- consistent clipboard support - with Wayland it became much worse, e.g. between Firefox and LibreOffice
- not having to hold a dozen of terminal windows open because I don't remember from which window did I open this program so it won't be killed with terminal - I know about "disown", but I tend to forget to use it
- Preview, Spotlight
- as others already said, Apple devices have the best touchpad including OS support, and great hardware in general
- WiFi connection speed after wakeup
- for me - less ability to tinker around and more focus on actual work :)
I sincerely tried to use only a free software, to spread a word in my close community, to find alternatives, to scratch my own itches a bit (probably not so much as I should), but I believe now my watch is ended. I'm back to macOS as long as the current hardware will be enough for me.
All that said, NixOS is a fantastic distribution which I still use on my servers and still would recommend to any advanced Linux user, and Nix is an excellent package manager. A lot of my project environments didn't require any changes from Linux to macOS at M1. Also, I'd like to mention great software projects which I used a lot: sway display manager; astroid email client with notmuch indexer, lieer for gmail sync and mbsync for other providers; howl - minimalist GUI text editor; alacritty terminal.
I use my computer to get things done and make money and have no time to play around with verbose scripts and man files for basic tasks or the time try out tons of distros out there to "choose" which one I want.
Inability to use it for work.
Lack of a deep selection of polished, well-supported apps.
I’ve previously tried different versions of Ubuntu on the same machine, and eventually wiped everything again favor of Cinnamon. Cinnamon was great. I’ve also tried Elementary — very macOS like; along with a few other I can’t remember.
But as you can probably tell, not very scientifically researched. And I’ve never felt compelled to learn a whole lot about exactly what separates the variations of Linux I’ve tried. For example, I know some are KDE based, and some are Gnome based. My criteria was simple, install OS, configure, install apps, configure, install more apps, configure … and so on.
Honestly, I’d still be using Cinnamon, but when the M1 MacBook Air came out, Apple offered $180 for an almost 9 year old Mac mini. It was like they new somehow, that they might be losing me. I’m not that locked in on App Store purchases, and always recommend trying to avoid apps that aren’t widely available on both macOS & some Linux distributions. (I still love Joplin for notes, for example.)
Where Apple has me locked in is my phone, with handoff and all the other tight integrations. So if I were building a Linux distribution, that would be a high priority: build an ecosystem. Maybe that’s an SDK that allows for data syncing from Desktop to Phone (for everything, consistently: email, password manager, bookmarks, etc). But when you do that, integrate with macOS (and Windows) too. Build a Safari Extension so I can get to my bookmarks on my Linux machine, my Mac & my iPhone (mobile Safari does Extensions), for example.
Tools to analyze hardware & software to then help determine what distribution would work best would be awesome, too. Imagine a Migration Assistant for Linux that you install on a Mac that tells you what Linux distributions are a good fit for your peripherals & installed apps … along with suggestions to resolve some known issues.
There are a lot of barriers, and I’m sure most of them have been dealt with over & over again. Why do I have to re-solve some of the issues? That friction, if reduced, would probably make more people try. I started on my Mac mini because the latest release available was old & some newer software that did run was very slow. Linux Mint & Cinnamon are really straight forward, have big communities and plenty of resources for help; and either of those made that old Mac mini feel very fast again.
I've developed all sorts of things. I've built 3d games engines and EDA software that ran on Linux desktops. Even when developing for Windows or (in the earlier days) DOS, I cross-compiled them on Linux. So I have plenty of experience with it.
I 2013 I bought a MacBook Pro, having held out a long time, vaguely in line with the GNU boycott of all things Apple. A big life event led to me deciding to try something new outside my traditional comfort zone, and I went to a database conference where it seemed the entire audience had an MBP. I'd read that the hardware was great. So I bought one.
I've been pretty happy with it ever since.
However the first thing I did was install VMware Fusion, so I could still have a Linux desktop. In fact I copied my previous machine's entire installation over, to run in the VM. It worked very well and still does.
The MBP four-finger swipe between desktops works really well for this: I could switch between Mac and Linux desktops as if they were equal status peers on the machine. It's about as good an experience as running Linux natively. I know, having used Linux desktops for 19 years prior to that.
Performance of filesystem access won't be as good, but I tend to use Linux servers for intensive work including compilations.
Naturally, I tried booting Linux directly on the MBP. It's the cool thing to do, and I've done it with every previous laptop I owned.
Then I did some battery measuerments, and found (to my surprise at first) that Linux drained the battery noticably faster than MacOS running Linux in VMware. So I stuck with VMware, and got used to MacOS desktop gestures on the Mac side, and the lovely four-finger swipe between desktops. I had wanted to try something new anyway, so that cemented my exposure to MacOS.
Around the same time, Ubuntu's desktop experience went downhill. The out of the box Ubuntu desktop is nothing like the rich desktop I was using from GNOME in previous years and through numerous XFree86 configurations before that. I couldn't be bothered installing an "alternative" desktop any more. Most of my deep development work was run on servers anyway, or in terminal windows.
The weird scroll control that appeared in Ubuntu desktop was especially offputting. I'd found it difficult to use even on my previous laptop.
Even now, where I still have Ubuntu installed in a VM, the Ubuntu desktop experience still seems rather odd. I have to click some dots and type "terminal" to get a terminal window up, while I'm presented with a bunch of apps I'm not interested in, does not encourage me to spend more time with it when I have alternatives. There's a "frequently used apps" tab, but Terminal doesn't appear in it despite it being by far the most frequently used app. The collection of interesting desktop controls I remember from older desktops seems to be absent: The default is quite minimal. Obviously I know I can pin the terminal, reconfigure everything if I put in the time, switch to an alternative desktop, or code things myself if I'm really keen. What I'm saying is the out of the box experience isn't a great start, and since I have MacOS available as a peer which is very featureful from the start, it's just easier to swipe and use that.
There are some things I'll definitely use with the Linux desktop: Inkscape in particular, and for OpenGL tests. But mostly I use my Linux VM via SSH from iTerm now. Same way I access my servers.
For a few years, this resulted in my preferring to access Emacs running in Linux over SSH from a Mac terminal, compared with using the GUI to access the same Emacs on the Linux desktop. The Mac side terminal was just a better experience than the Linux GUI, especially as by then I was using Firefox etc on the Mac side. GUI Emacs is much better, though, for scrolling and copying. So eventually I got a good version of that running on the Mac side as well, and when I use Emacs on the Linux side, that's now emacsclient calling the Mac side Emacs to edit Linux files.
(And part of my job is writing GUI apps internal usage.)
20 mins ago I was getting Steam set up. I want to try Protons experimental features on Battlefield 4 to test for any glaring issues before the new game releases. Proton switches over, I go to install, and I'm told I don't have execute permissions on the disk I want to use.
Okay, I did have some issues with that disk initially, I probably messed with a setting that needs changed. Let me check folder permissions. Those looks good, let's check the partition itself. Yup, still a colored rectangle. Everything looks like it always does. I get to Googling and see someone on the AskUbuntu forums mention that my config should look like theirs with, "Show in user interface" checked off for that partition. I'm not using Ubuntu but it seems like a general fix and I didn't see an AskManjaro in the Google results, so I do that and reboot. No joy.
Keep digging at Google, find a Steam forum post about this. user notes that for security the disk would not be able to execute programs by default. Okay, sure, that makes a kind of sense. I follow his instructions and tag the drive as "users, exec, {something I've forgotten and will likely bite me in the ass in a weeks time}". and I go to reboot to make sure everything is on the same page. That's when the problems started.
FATAL ERROR. My first, yippie. After slamming my forehead against the keyboard in the correct pattern I was able to enter my root password and get to work. reading through the one-thousand-and-thirty-five lines of the journal file, I found the error around line 900. To paraphrase: disk don't mount no more. Out of pure luck I remembered that someone in the forums mentioned /etc/fstab, which is the text version of the config I'd been screwing with. I erased everything but "user" in the field I changed before and rebooted and managed to get myself in. The keen eyed among you will have seen that I had spaces in the field the first time I put it in. I think that fucked me.
On boot I licked my finger and stuck it back in the light socket, changing the field again to "user,exec" and mounting. Well praise be to Jesus, Allah, and whatever the hell Tom Cruise got roped into, because not only did the drive actually mount, Steam stopped whining at me and started a download.
I have no idea if the game will work, the download has another hour to go as I write this. Earlier today I saw this post and wanted to talk about how I've enjoyed Linux so far, and I still do! But Linux isn't built for users, it's built for technicians. You don't run Linux, you maintain it. I like this, but that's because I want to learn more about Linux and these miniature trial by fires force me to. If you're the kind of person who just wants something to either work or not, and can't be bothered to deal with an hour of 'maybe', stick with Windows.
Given my previous experiences, I am never again running Linux on a laptop that is not meant to be a Linux laptop. I have owned a System76 but now I own a Windows laptop (former died and I had to buy the latter in a pinch). I spend my hard earned money for every component on the computer, so I won't accept that something doesn't work just so I can say Linux is installed. Should I be in the market for a new laptop, I would then consider a System76 or the like. The learning experience of installing Arch was great, but it's just one of those things I'm doing once for educational purposes and never doing again. It's not something I want as a hobby. Next time, as soon as I open my new laptop, I just want to install the software I will be using, not fixing hardware related issues. With my System76, it was the other way around; I installed a windows boot for work and it didn't work as well as the Linux boot. So morally of the story. as obvious as it is to me now, is to run the OS your laptop was supposed to run for the best experience.
2.) I'm jaded from the last time I installed a distro.
I did what all the cool kids were doing, stopped using a mainstream distro, and installed Arch. It's working and it's there. I don't boot it anymore. The amount of work it took to get everything working was non-trivial to say the least. After that certain things broke with updates. Several other things never worked or had its quirks.
2.) The community
After spending so much time installing my last distro, I suddenly realized that the amount of time I was spending on the Linux desktop qualified as it being a hobby. And when I realized that and then took a look at the community, I finally saw it; they're all hobbyist. Linux is their hobby. They like to distro hop and WM hop, rice their configurations, then post on r/Unixporn. So it became clear that it was less about productivity and awesome tooling, which was the original intent, and more about ricing your desktop which obviously Linux is way better at.
4.) I run a different OS now, Emacs
First I tried running Emacs on windows and certain things like Magit were painfully slow. I am now comfortably running Emacs with WSL + X410. Using Emacs as a front end to my OS makes the underlying "backend OS" (I'm making that up now) less important. My reasons for switching to Linux years ago was because I saw this cool thing called i3wm that could let me control my desktop the way I was controlling my vim editor; with my keyboard. However, after my Linux laptop died and I switched to a Windows one in a pinch, I needed to find a replacement to that environment on the Windows side. Naturally started with WSL, then had a fairly productive tmux + fish + vim configuration, and now I'm on Emacs.
Granted, Emacs runs better on my Arch boot compared to WSL + X410. Still, I'm pretty happy with this new setup.
5.) I develop windows software for work
This might be a bit anticlimactic but had I not chosen a job that developers windows software, I'm sure I would probably still be on Linux. Because I need to keep going back to Windows for work, whether a VM or booted, it has forced me to figure out how to get the tooling I loved to use on the Linux side working on the Windows side. This led me to reason 4 and emacs.
I know many of you will suggest to split work and personal, but the circumstances of my work/life make it way more practical to just have everything together, in particular because the usual "work computer" constraints don't apply to me.
-----------------------------
Would I switch back to Linux? To fix the above issues, here's what I would do;
1.) Buy a Linux laptop
System76, Dell Dev edition, Slimbook, Tuxedo, are all good options.
2.) Use a mainstream distro
I just want my OS to work so I can start Emacs
3.) Change jobs (highly unlikely)
4.) Stop listening to the community