Hacker News new | ask | show | jobs
by sem000 1251 days ago
What is your Linux laptop giving you that your MBP doesn’t? And how does it hurt your productivity? Genuinely curious as I don’t see how it can be any different.
12 comments

For my experience, as a longtime Linux user who got a MBP:

I really miss the desktop environments available on Linux. KDE is great, and even Gnome beats MacOS. You can't even move windows between desktops with a keyboard shortcut on MacOS. The desktop experience on MacOS is a "death by a thousand cuts" situation. E.g. Popup dialogues will rearrange your windows (e.g. if the popup is wider than your window, to remain centered, it will move the underlying window and I'm not joking.) E.g. Mouse acceleration can't be turned off, which makes MacOS pretty awful for any mouse-centric workflows. E.g. Blocking animations that fundamentally can't be turned off.

That's on top of things that aren't necessarily faults with MacOS, such as getting used to different keyboard shortcuts.

On Linux, I get native Docker, up-to-date coreutils (they're different on MacOS), more precompiled versions of software I use, and having the Linux desktop software that I prefer. (Finder is frustrating, Gedit or Kate for text editing is great, GIMP is much nicer on Linux, etc.) I also miss KDEConnect.

I don't use Xcode, but as I understand, updating it messes with git and python.

But the battery life really is amazing enough to make it worth it. I'm really excited for Asahi to progress to a point that I'm comfortable using it.

Apps like Keyboard Maestro or BetterTouchTool can resolve almost every Macos usability complaint that I've heard. Keyboard Maestro can move windows between desktops with a keyboard shortcut, for example, and there are multiple ways to disable mouse acceleration. For almost every missing feature or annoyance in Macos, someone else has had the same thought and developed a solution.

https://forum.keyboardmaestro.com/t/move-frontmost-window-to...

I should note that I consider this is one of the biggest flaws with MacOS. It really should not require someone to pick together disparate pieces of software to come to a state of usability.

It's like using Arch Linux, except the software costs money, is proprietary, and people choose Arch because they would prefer their own config over the comforts and defaults provided by other distros.

Configuring a MacOS machine might require spending over $100 on usability software, providing personal information to a myriad of companies (Tools like IINA or iTerm2 are the exception and not the default.), and even after all that you still have a variety of unfixable usability issues.

KeyboardMaestro is $36 and BetterTouchTool is $22. With KeyboardMaestro, it's not clear what the license is (which makes it concerning for use in the workplace.)

> For almost every missing feature or annoyance in Macos, someone else has had the same thought and developed a solution.

I do appreciate the effort, but this isn't true. You can no longer disable blocking animations in MacOS, there is no Spaces API for instantly moving a window from one desktop to another, etc. And any of this can break with a MacOS update, and there's no easy way to automatically configure a fresh install. (IME, MacOS users use Time Machine backups rather than a fresh-install bash script.)

From someone used to the comforts of Linux, MacOS takes a huge amount of effort and expenditure to only get 20% of the way there.

> From someone used to the comforts of Linux, MacOS takes a huge amount of effort and expenditure to only get 20% of the way there.

You summed it up nicely!

Sadly even with all the apps like hammerspoon, tiling wms and others, there are lots of stuff you can't customize in the macOS environment.

KeyboardMaestro is $36, Hammerspoon can do roughly the same and is free. Best part is: there is no pendant in linux, mostly due to the moving target of system configurations and DEs.
What is pendant in this context? I assume it's an autocorrect error but I don't know what should be in its place...
It is the counterpart: https://www.merriam-webster.com/dictionary/pendant

There is no counterpart for Hammerspoon/KeyboardMaestro for macOS and AutoHotkey for Windows in Linux.

Can it resolve me not being able to use MATE as the desktop environment?

My biggest gripe with Mac OS X is the window manager. I want to be able to ALT+right-click anywhere on a window to be able to move it around, alt+left-click anywhere on a window to resize it. I want to be able to click the dock icon for an app I'm using and have the most recently used window of that app come to the foreground instead of however it makes that decision. I'd love to get preview thumbnails of windows when hovering over icons in the doc so that I can select the window I want. Right-click plus reading window titles takes longer to find the window I need.

I want to be able to customize my fonts because I have a hard time reading text on my QHD external monitor.

I want a terminal that doesn't suck (and yes I use iterm2, it still sucks because I can't quickly jump to the end / beginning of a line to edit a command).

I want to be able to select text to copy to clipboard and use my middle mouse button to paste and I want that to work for all programs.

I want to be able to hold ctrl plus use the mouse wheel to zoom in / out of web pages on chrome ... something Linux and Windows both do out of the box but it just doesn't work on Mac OS X.

I want to be able to customize all of this and not feel like I'm locked in to "the Apple way" of doing things.

I lot of this is just familiarity and getting really used to a particular DE over decades of use and taking little things for granted. If all you've ever used is a Mac then I'm sure you've figured out how to be hyper-productive on that DE. I just find it strange that, from a company that somehow positioned itself as UX leaders ... I find that I'm 1/10th as productive on my work Macbook as I am on any nix device (and while Mac might use a heavily modified NetBSD kernel IIRC and have zsh and bash ... it feels very different from a nix machine to me).

I can't solve all your problems, but here are a few I can do off the top of my head. I hope they help somebody.

Hold keys and click to move a window: https://mmazzarolo.com/blog/2022-04-16-drag-window-by-clicki.... I love it. Bind it to a mouse button with USB Overdrive for extra convenience.

In the terminal, use emacs-style bindings like ctrl-A and ctrl-E to move to the beginning and end of lines. On the Mac, Home and End are for beginning and ends of documents.

Use USB Overdrive or Steermouse to bind mouse buttons to whatever you want, including Paste. Select-to-copy might be impossible, though you could certainly do select-and-click-to-copy.

Cheers!

I’m so sick and tired of macOS and wishing Xcode will run on Linux so I could switch in a heartbeat.
ah, focus stealing. and the lack of focus stealing prevention. Yes. This is why I could never settle down and marry MacOS. KDE amd tiling WMs do this right, everyone else is just rude.
For me:

- No nagware (no Apple Music pop-ups, advertisements for safari, login nag in settings, et. al)

- Built-in package manager

- Having (relative) parity between production and development

Between those three, you probably couldn't pay me to go back to MacOS. Adding my own package manager, disabling ads and making my Mac into a Linux-equivalent machine is possible, but it's a lot of work to maintain and set up.

If I was a creative and used Adobe/Microsoft tools, I might be a little nicer to MacOS. As a programmer though? I haven't felt the desire to use a Mac since Mojave existed.

I have an M1 Pro MBP and Linux running on a Framework laptop.

The Linux built in package manager is only ok. It often lags behind in versions of things I need. I ended up using Homebrew on both Mac and Linux. For the cases the Linux built-in package manager is too out of date I use Homebrew. It's not perfect on either system.

> - Having (relative) parity between production and development

For certain classes of development this is a big deal.

For my container work it doesn't really matter. I'm running Rancher Desktop and doing container based dev in the VM. Windows, Linux, or Mac doesn't matter as the host.

> - No nagware (no Apple Music pop-ups, advertisements for safari, login nag in settings, et. al)

I must have learned to ignore this as I've had Macs for a couple decades now.

On the flip side, a lot of business software I must use for work isn't available on Linux. I think this is the biggest problem for GNU/Linux as a general OS. There's some biz software that just doesn't run there.

I have a 13" Macbook Pro and a Thinkpad model I forget the name of.

Homebrew is down-right bad. There are certainly worse Linux package managers (pacman... looking at you), but if you're using MacOS I'd highly recommend giving Nix a try. Less muss-and-fuss, and stopped me from sending my Macbook on a swim in the local river.

> For my container work it doesn't really matter.

That's fine, it doesn't really for me either. The nice part (for me) is the native Docker and fantastic filesystem support. Whereas MacOS feels like a product I'm turning into a tool, Linux systems tend to feel like a tool out-of-box. Different strokes for different folks though, it really just depends on what you want out of a computer.

> I must have learned to ignore this

I must have learned to appreciate living without it, then. It's pretty jarring returning to a monetized OS like Windows 11 or Monterey for me.

> a lot of business software I must use for work isn't available on Linux

Oh yeah, for sure. Like I said in my previous comment, I wouldn't use Linux if I was a lawyer or a video editor. That being said though, pretty much everything I've used in the modern enterprise is browser-based. You don't need a native Jira app or a custom .DMG to run git. Arguably, everything you need is shipped right with most Linux distros.

I won't (and haven't) argued that Linux is perfect, but MacOS is converging with the Windows and Google school of desktop design. It worries me, and it's part of why I left MacOS in the first place. Photoshop is nice, but living on a computer that feels like a rented hotel room isn't very satisfying to me. Again, different strokes.

> Homebrew is down-right bad.

Curious why? I used to dabble with it and others.

A few macs ago (maybe around 2017), I switched to a strategy of “either the AppStore or brew”. I’ve never had a problem with anything from brew since. I install some productivity tools, standard OS tooling (Inkscape, Gimp, Libre), everything I need to develop for Python, Android, various embedded arm platforms, Elixir/Erlang. I even add some extra tools for Swift development.

I'd recommend checking out some other package managers for Mac. I'm being a bit harsh on Homebrew, but Macports is generally a better option IMO. The real crown-jewel is truly what everyone says; Nix. It's just a brilliant, next-generation package management tool that does what it says on the tin. It works on MacOS, allows for granular package installation/upgrading, ephemeral shell-based dev environments, declarative system management and more.

It's a bit like comparing cakes. Homebrew is a frosted sheet cake, whereas Macports is that nice double-layer box mix your mom used to make. Nix is a coconut-dusted 6-layer wedding cake that hides a 10 course meal under the fondant. They're all delicious, but I have a hard time going back to the sheet cake nowadays.

The thing that gets me about Linux package managers is how easily they can wreck your desktop. Granted mac package managers aren’t perfect here either but I think it would make a lot of sense for there to be some way to designate things like audio systems or your DE as “system” packages and as such be protected and very difficult to accidentally screw up with e.g. dependency resolution gone awry.

I’d also not be opposed to a package manager more geared towards making sure things work without fuss than trying to reduce redundancy. I don’t really mind if there’s multiple versions of whatever lib installed if that’s what it takes. Storage is cheap, my patience isn’t.

In theory flatpak and such should meet that need, but the implementation is so much more quirky and troublesome compared to e.g. Mac application bundles.

> some way to designate things like audio systems or your DE as “system” packages and as such be protected and very difficult to accidentally screw up with e.g. dependency resolution gone awry.

I do this on NixOS (and used Nix to do the same thing on MacOS). It's really great, but the up-front work of configuring everything can be a bit steep. The end result is pretty nice though - your environments are all sym-linked together from a common package store, and you can group together certain environments/package sets to update independently of one another. The icing on the cake is the rollback feature, where you can go back through the generations of your environment (until the packages get GCed).

It's not perfect (and it would test your patience), but Nix is an interesting commitment to the philosophy of using as much disk space as possible. I'm hopeful that someday it will be the de-facto package manager for Mac systems.

There's no such thing as "the Linux package manager". If you want something traditional, dnf runs circles around anything available on macOS, and nixpkg is from another universe altogether.
> The Linux built in package manager is only ok. It often lags behind in versions of things I need

No such thing. What distributions did you have experience with? And what distributions are you running on your production systems?

Apple nagware is a pain in the arse.

On my old MBP I get regularly nagged to update to Monterey. Despite it not being supported.

On my iPhone it wouldn't stop nagging me to accept changes to the iCloud T&Cs. There was no permanent opt out. You could say no for a bit and then it would go back to nagging you.

Same with Apple Music.

Currently my iPhone nags me to disable background running of Garmin Connect, so that I loose integration with my Garmin watch.

None of this endears Apple to me and is definitely a consideration for my next purchase.

For me:

I have a Macbook Air M1 2020 and a Thinkpad X1 Carbon 7th Gen (4 years old!) running Linux Mint.

I have upgraded the Thinkpad's Battery, RAM (16GB), and SSD (500GB) for the cost of the parts. I will not be able to do that on the Macbook. Ever.

For what I do (browsing, videos, some writing and research) the only benefit to the Macbook is slightly better battery life. I have more software option on the Thinkpad for sure and it does not want to control everything I do.

I paid WAY less for the thinkpad and I get pretty much the same performance for my needs.

The THRUTH is that most people are being way oversold computing power and paying a premium for it because they are locked into the platform.

And just yesterday for some reason Safari vanished and re-arranged my bookmarks for no reason.

Getting my MacBook ready to sell as a matter of fact.

In my mind it is stupid (and poor marketing) that the linux community is not crushing Apple with cheap, fast laptops.

> In my mind it is stupid (and poor marketing) that the linux community is not crushing Apple with cheap, fast laptops.

That is not how the economics of laptops work.

Most people don't want a Linux laptop. Call it inertia, but it is a fact that most people buy Windows laptops.

Most of the premium market consumers prefer Apple.

And most people who prefer Linux aren't paying a premium right now.

So you have three sets that do not overlap, and there is nothing the community can do about that in the short to medium term, anyway.

A ThinkPad X1 Carbon is cheaper, lighter, has a better keyboard, and on Linux I can run the DE that has the defaults/customizations and keybindings that I am used to.

I also don't have to worry (or at least I think that I don't) that the Linux kernel or my distro silently introduces a hack for their programs to bypass my firewall and VPN because they couldn't fix some bugs by the company-mandated release date:

https://www.cnet.com/tech/services-and-software/apple-nixes-...

I work on container stuff, so may be my POV is bit different but:

1. I had hard time fighting openssl installed by Homebrew and getting Python to use it. On Linux - this is never an issue. In general IMO using homebrew is fairly tedious.

2. Debugging of stuff running on Linux. Sometimes logging is not enough and while remote debugging can be made to work (I mainly use Goland), it is pretty fiddly and does not work reliably.

I am not new to Mac or anything tbh. I used to use Mac about 5 years ago exclusively and then Linux for next 5 years and now using Mac again. IMO for kind of work I do - Linux is just leaps ahead of Mac.

Some workflows on a linux system can be totally different than what is possible on a mac. Even with apps like BetterTouchTool, Hammerspoon, Amethyst and others. Customizing window management, advanced keyboard shortcuts, general system behavior in mac is going against the tide. It kinda works, but never as good as you'd want because you can't really get rid of the default window manager and default global behavior.

Some window manager in linux are more like window manager frameworks, like AwesomeWM, that lets you customize its behavior via lua scripting. It's extremely powerful and allows you to get exactly the behavior you want.

But this part of linux is pretty niche stuff for sure though haha.

I wouldn't say I'm more productive thanks to this, but I'm way happier using a system I can set up so that it behaves how I want, instead of having to follow rules I don't agree with and can't change.

Presumably that it's running Linux and can be customized as wanted. Also docker runs without a VM, so the networking and storage performance is good
Thinkpads will always have better keyboards, better connectivity and the trackpoint for them.
- window management that is either sane (i.e. restores minimized windows when alt/cmd+tab'ed to) or can be customized

- desktop environment that is either sane (i.e. doesn't center align panels with variable number of controls like dock does) or can be customized

- keyboard without missing buttons, with actual button travel yet not touching the screen when closed

- option of a screen that doesn't double as mirror

There are some really weird things. The only sustained usage of Macs I've had is a Mac Mini (x86) that I had for app development. Even just plugging in a plain old UK layout USB keyboard (not an Apple one) and having it behave itself and give me the right characters was surprisingly difficult.
Biggest things for me - I've never found a good WM that can replace what bspwm can do. - Something as useful as pacman, brew is no where near as good. - Full control over my system. Plus I can run my set up on a £30 chromebook and be nearly as efficient as my ~£1800 Work laptop.
Others have filled in some of the productivity benefits, but it also avoids a thousand little papercuts. It doesn't have uninstallable crapware like Apple News.
>32gb of ram