Linux is better than Windows on most counts for sure, but I’m not sure I’ll ever be able to use it full-time without making significant concessions on preferences about how desktop environment stuff works. If you’re someone who grew up on Macs there’s almost nothing in the Linux desktop space that tries to replicate that set of patterns… it’s all Win9X-type taskbar setups, mobile-type setups (GNOME, Pantheon), old niche *nix setups (e.g. WindowMaker), and of course minimal tiling WMs. There’s no clones of Mac OS of any flavor.
I’m proficient with more or less every modern desktop and can get by on any of any of them if I have to, but being happy doing so is another matter.
> If you’re someone who grew up on Macs there’s almost nothing in the Linux desktop space that tries to replicate that set of patterns… it’s all Win9X-type taskbar setups, mobile-type setups (GNOME, Pantheon), old niche *nix setups (e.g. WindowMaker), and of course minimal tiling WMs. There’s no clones of Mac OS of any flavor.
I know of it but haven’t tried it. It looks kin to minimal tiling WMs like i3, but with a lot of polish applied. It’s nice I’m sure, but it’s not all that Mac-like.
Part of the issue is that people who don’t use Mac’s think it’s only about the looks. The looks are secondary and it’s about all the little pieces of functionality that have been a part of macOS for decades at this point.
Yep. Their tweaked GNOME variant isn’t too bad, but it doesn’t fit the bill much more than vanilla GNOME does. Not that enthusiastic about what I’ve seen of COSMIC so far.
It's the other way around for me, it's all the concessions I have to make on Mac that make it so annoying. All the defaults I don't like, and the inability to change them or find alternatives like I can on Linux.
I "grew up" (from college, before then didn't use computer much) on Linux and I use a Mac at work, it's pretty easy to switch back and forth for me. Just need my tiling WM, my always on screen. I do miss that you could close the laptop lid on Linux without it sleeping. But otherwise, not much complaints either way.
My Mac only sleeps on closing if it’s not plugged in and connected to external monitors. That’s how I would want it to work. How are you wanting it to work? Closing it keeps it on no matter whether it’s plugged in or not?
I want it to stay awake when I close the lid and go with it from my desk to meeting rooms. You can set Linux to basically always ignore the laptop lid close signal, which is what I want.
> preferences about how desktop environment stuff works
Having used KDE plasma, I am convinced that there is no other DE that has more knobs to make things exactly how you want it. Though I never liked the global constantly changing bar on the top in Macs anyway so can't comment on whether KDE can be made to do that.
I’ve spent time using KDE and it indeed has a lot of knobs. The options are nice but it’s still a struggle to get it configured the way I like, partially because there are no knobs for some things while some of the existing knobs control things that don’t make that much of a difference to me.
As mentioned elsewhere in the thread the issue with its global menu bar is the sheer number of apps that don’t populate it. Even the same exact Electron apps that populate the menubar on macOS don’t bother under Linux. Over half the time it sits up there empty.
Unfortunately those are all so far from replicating a macOS experience that the work needed to fill the gaps is about as much as would be needed starting from scratch. Resemblances in all three are surface level at best, and are far from complete even in that aspect.
Such a project is something I’ve daydreamed about on many occasions, but the scope is quite daunting, especially if one wants to do it right and e.g. make sure that all core utilities adhere to the HIG and actually populate the global menubar for example.
Gnome is not that different from Mac. You have your Mac-style status bar at the top, dock for apps which you can float or hide, typical window management, etc.
I use GNOME daily on one of my laptops and I don’t agree at all. It has some surface-level similarities, but overall is more comparable to something like iPadOS or Samsung DeX when connected to an external screen+KB+mouse.
The global menubar is the biggest difference, but there’s also a pervasive difference in philosophy throughout the desktop; where macOS will have power user functionality tucked away in a menu or hidden behind a modifier key (progressive disclosure), GNOME will just remove the function altogether.
Pantheon is very similar, except dressed up in an (admittedly pretty) skeumorphic theme that reminds me of OS X 10.9 Mavericks.
That’s not to say it doesn’t have its charms, I use it after all, but it’s not a Mac OS analogue in any way.
The funniest thing for me is that on a Mac you can use EMacs-style motion commands (^A, ^E, ^K, etc) just about anywhere you enter text. No suck luck on Linux which requires using Windows's braindead Home/End buttons outside of the terminal.
> No suck luck on Linux which requires using Windows's braindead Home/End buttons outside of the terminal.
Not really; I have it set up on my box so that I can press Alt + U as a shortcut for home and Alt + O as a shortcut for End (and many other such shortcuts; it's fully customizable), and this works system-wide in every application and even on the raw Linux console without X11/Wayland running.
I agree, but my M1 MacBook work laptop is by far the fastest dev machine I've ever laid hands on. It struggles a bit from the UX standpoint, two things:
1. I have the same desktop layout every time, from left to right: slack desktop app, a two column wide emacs window, a 90col wide terminal. I also have two chrome windows--1 which is the same width as the slack window and overlays it, and another the same width as the emacs window which overlays that one. The problem is every single time I wake my laptop from sleep the terminal window has shrunk to fewer columns and I have to drag it back to full width.
2. Sometimes the external monitor support bugs out. I don't know if that's my hub ("pluggable" something or other) or the OS or both.
Then of course there's all the warts of homebrew, and the fact that it's not easy to build some software..
However, the performance of the Apple silicon is nothing short of astonishing. I'm curious about the AMD chips that ship in the new Framework as I look towards an upgrade to my personal laptop, but it's basically between that and a new M4 Max Macbook. Never thought I'd see the day.. will probably wait a year or so before deciding but it's interesting that Apple is even a contender.
For the 1st point, I struggled with the same, then a short applescript thanks to claude, attached to a keyboard shortcut on karabiner solved the painpoint. There's also an app called Stay which should do something similar with a ui, but my solution is good enough for me at this point.
Reading back I see I came across as kind of an asshole, I'm sorry for that. I genuinely thought at the time you might be kidding but I wasn't sure--pretty sure I got it wrong. I've grown (probably too) cynical about ux tweak over the years, in the past I did it a lot (even ran stumpwm and i3wm for a while) but over time I kept getting burned by the effort it takes to maintain nonstandard stuff and gave up. I appreciate it's fun, I'll try to remember that.
Thanks for your 2nd reply :)
I'd also prefer everything worked out-of-the-box, but where the world fails, you unfortunately need to patch it. If it would have taken me more than 30 minutes I'd probably skip and learn to live with it, but it was kind of easy and i find it useful every day.. for the cynical part, i think you can't beat me on that, I'm in my late 40s and seen too much :)
No, it's just that I don't customize systems anymore. It's not worth the hassle of maintaining a bunch of extra stuff just to fix issues that shouldn't be there in the first place. All those extra ux tweak programs just end up costing time to keep them working across updates, etc. because they're not part of the system.
That would've been a much better comment in the first place. I do understand where you're coming from, though. In my case, however, a single Brewfile is enough.
My favorite is how when I close my macbook with an external display plugged in, the laptop screen remains on (and lit up!) with seemingly no way to configure this behavior. Sometimes a window will end up on that (non-visible) screen which can be very confusing.
That seems like a misconfig or a broken lid sensor or something. I’ve been using MacBooks with a single external monitor as my only display (MacBook closed) for over a decade and I’ve never had the laptop display stay on when closed with an external display. Maybe time to visit the Genius Bar?
I'm curious about your dock/hub. There's a good chance I just ordered the same one as I try to build a more sophisticated home station. Which one and how does it bug out?
Pluggable TBT3-UDC3, input freezes and screen goes all pschedelic with greens and violets and then patterns and lines as everything melts to white noise. Flipping the lid open and closed and/or unplugging the thunderbolt cable and plugging it back in again repeatedly seems to cool the vibes
Got my workchats and email in one virtual desktop, a checkpoint of what I was previously working on in another, YouTube playing music in another. All controllable with hotkeys, with a UI customized down exactly how I want it. And with no fear of an "update" breaking my setup.
NixOS, for me. I deal with a lot of wild development environments, so flakes + direnv has probably saved me hundreds of hours and a few system reinstalls.
Nix is also availible for Mac, but I'll warn you that it may ruin Macports and brew for you forever.
Really? I always found Ubuntu to be fantastic. All the third party packages you want just existed for it, loads of bundled stuff, PPAs, plus all the stuff from Debian. And you could pay them not a lot of cash to give you support for it too.
it's fantastic if you're on an LTS version about 2 years after it's released. Again, if you're a email & ebay user you won't notice, because even the in-between non-LTS releases work fine for that.
When you start wanting to replicate experiments, or run software you find on github, then you will learn the pain of ubuntu 20.04. or 22.04. Otherwise you can have the fun experience of most linuxes in the mid to late 90s where you are compiling arbitrary libraries to bootstrap some other library so you can find out where the package you actually want to compile's make file fails at.
Give me a rolling release distro or a source based distro any day.
ninja: all of this should be read as me saying:
"Why yes, i do in fact have several machines and VMs of ubuntu server installs, ranging all the way from 16.04 to 24.04; because that's the only way i can guarantee i can run any software posted on the internet."
I have a windows for work, Mac as a laptop and Linux on my workstation desktop. Windows is by far the worst, I don’t think Linux is vastly superior to Mac, they both have some things they do better than the other. My main issue is arm vs x86.
A couple of my M1 machines were purchased on the day of launch at the Apple Store so they’re the 8GB RAM models. They’re still very good running Apple software (even Final Cut Pro) but I find myself running out of RAM with a few web browsers running at the same time. The base model of the M4 mini now has 16GB by default which I’m sure would be just fine for me.
Mine has 64GB. I usually max RAM, and get about double the SSD I think I need. Knowing that at a minimum, I will use my latest laptop, and 2-3 older models around the house and my quick-carry bag for convenience, at any given time.
Beyond convenience, the old laptops are continually synced, as multiple onsite backups. So I get great long term value from consistently choosing higher end RAM/SSD specs.
But in this case good specs for the M1 has saved me money via an unprecedentedly long upgrade schedule.
I am feeling more pressure to update two old x86 laptops to M1, than any pressure to upgrade my M1. Never had this upside-down problem before. Apple did just a great job with that M1.
You have to pay me to run Windows bare metal. The user experience is terrible and of the lowest quality compared to Mac OS and Linux. Even Windows OS 11 IoT LTSC requires work around to not create a Microsoft account, and this is their embedded solution.
Last week I spent a whole day trying to resurrect a Windows 10 IoT LTSC because of a corrupt WMI repository. It crashed out software and to the client it looks like our software is bad where it is the OS that is bad. Client's automation was down until a replacement was sent out and installed.
I've had to implement number of software changes because of buggy Windows drivers. From Intel NICs to touch screen HID messaging. Microsoft talks about backwards capability but it is subjective and only truly bound to the most used applications. Enabling tablet mode on Windows will break their API.
There has never been a Linux system I couldn't resurrect and keep working. With Windows, it is always re-install the OS and all applications. Even the laptop I'm writing this on is the same OS installation that has passed between 4 different computers. You cannot get that quality of OS installation from Microsoft.
Took me a month to convince IT to reinstall Windows on my work laptop. Microsoft's update broke the QA VM environment and would freeze with an infinite loop. Uninstalling the update nor repairing the OS did anything to fix their issues.
Even today I experienced Ctrl+X is broken and does not work in Visual Studio for the git comment text box entry.
I doubt it’s a target unless someone was actively profiling the company in question, building out a plan, and seeking to actively exploit the company’s network from that machine. Even then, how many attackers know IRIX well enough to pull it off?
If we were talking about a networked DOS machine, Windows XP, or even classic MacOS this lack of updates would be more serious… but niche UNIX workstations? Not as certain they’re still targets.
It definitely wasn't! I remember the irix 5.x and earlier days. By default, it shipped without any X11 authentication enabled. This meant everyone on the network could keylog your machine.
There are many issues with using Linux for a corporate workstation. For instance, if the organization uses a proxy, setting it up is a PITA, as many Linux applications don't respect the http[s]_proxy environment variables. Some only accept upper-case, others only lower-case, while many have their own configuration settings for using a proxy.
Additionally, in certain industries Linux support is non-existent, with many applications developed exclusively for Windows and no viable alternatives available. Running a VM is another PITA due to driver issues. Wine ditto.
In the end, I found that running WSL2 provided a more manageable experience. I feel that Microsoft really hit the nail with WSL for productivity. Apparently, you can even run graphical applications from WSL although I don't have a lot of experience with that.
For me the biggest gripe is that I cannot configure it as I want and that it assumes I'm computer-illiterate. On top of that a lot of the approaches chosen by Apple regarding e.g. the UI are simply counterintuitive to me.
I still prefer it to Windows but (at least for me) it is inferior to a properly setup Linux box with stuff like a titling WM. But if I would to recommend someone a computer just for browsing, email, etc. then a Mac would be my top choice.
Linux makes you use the terminal and read manuals and edit configs to accomplish the most basic tasks. At least neither Windows nor macOS need that. Linux is fine for servers, but I can't fathom using that on my actual computer.
I prefer config files a lot to settings GUIs. Two most important points that come to mind:
1. I can manage them in Git
2. GUIs change all the time. With configs you have a much higher probability that some solution you googled will still work even when it is a couple of years old.
But GUIs show you all available options without having to read the docs. They only change when you install updates. You can simply not install updates that you don't like.
Linux fanboys are completely delusional, if we listened to them, we would design an airliner cockpit with a keyboard and a single display to run a terminal and input everything as commands.
They have just invested too much of their ego into knowing the arcane commands (and typing them well and fast) when it doesn't have much value, so they try to get dividends on that poor investment any way they can.
There is no reason to not make a proper GUI for pretty much everything, unless the devs are lazy or trying to save time/money.
> There is no reason to not make a proper GUI for pretty much everything
Until you realize there are like 10 competing "standards" for settings, from config files in various incompatible formats in random places (not even obeying the XDG standard paths), to GSettings which is a Windows registry knockoff (and I bet KDE has its own - incompatible - equivalent), etc.
And don't you dare try to centralize all that into a common system - last time someone tried something similar by centralizing system service management with systemd, people lost their shit. Orders of magnitude more effort has been wasted ranting and arguing about it than fixing its issues (if they were real in the first place, and not just theoretical or outright made up).
Well I understand what you mean. At an individual developer level, it may look like it's not worth the trouble and just go with a simple terminal-based interface and a simple text file configuration.
But that's basically giving up because things look too hard. And this is why, even when there is a GUI, it tends to be pretty bad on Linux. There is an incentive problem.
As for the various competing standard and other nonsense (how many goddam distros are there in the first place?) its just inherent to the Marxist type of organisation, where there is no process to decide who has power and everyone is given equal weight in decision power regardless of their qualities (or lack thereof).
Linux as a thing just works because there is a benevolent dictator for the core part (paid by the "nasty" corporation the Linux zealots keep complaining about) and they get a lots or "second-hand" use of tools that were developed for other reasons.
The GUI problems just highlight the inherent weakness of this type of organisation/way of working, and makes you appreciate capitalism/meritocracy and commercial OS a lot more.
To be fair, the situation has improved for some specific distros but the only way to significantly change things would be to make it a commercial operation.
This is what was tried with Ubuntu, and all the zealots are fighting everything tooth and nail; complaining about any meaningful improvement (recently, "snaps").
So, yes, I realize, but in my opinion it's still not a valid reason to not make a GUI. There are options. Or you can just forget Linux and make the tool with a GUI for an OS where it will be appreciated.
I mean I know how to use a unix system through the terminal, it's a basic skill for a software engineer, but I'm not enjoying any of that. Most CLI software is ridiculously user-hostile too. Oh you don't remember whether it's "update" or "upgrade"? Or which order the parameters need to be? Or whether it's one dash or two? Well fuck you, go read some manuals and come back when you're ready.
And it's not just discoverability. A well-designed GUI is impossible to get into an invalid state. A CLI, on the other hand, offers infinite possibilities for invalid commands.
Using commands is nothing special and can barely be considered a "skill" (you are just typing stuff instead of pushing buttons, no significant difference).
But since it's obtuse and need a large investment (memory for command retention, typing proficiency and other tricks), people who had to suffer through that associate their ego with it and declare it superior so they can shame other people into compliance (even though they would be wasting time).
As you said, a command interface allows you to shoot yourself in the foot in about a million ways, therefor it is a terrible tool.
It is like having to handle a knife that is extremely to avoid cutting yourself with because it has no handle and has an edge on both sides. Makes absolutely no sense, someone who doesn't complain about such a "tool", is an idiot.