Hacker News new | past | comments | ask | show | jobs | submit login
So Long, Macbook. Hello Again, Linux (richardmavis.info)
491 points by Chirael on Jan 10, 2019 | hide | past | favorite | 519 comments



End-user Linux has definitely improved in the last few years.

It offers a lot of attractive features for what I imagine to be the typical HN demographic.

That being said, it's still got rough spots that OSX doesn't. It works great when it works, but when it doesn't....

Font rendering, display/compositor fragmentation etc...

Inb4 the anecdotal "well it works for me I just had to download the xf86 font library and compile with a legacy glibc version..." crew comes in with a thousand and one rebuttals. Problems like that are still a suboptimal user experience, no matter how you slice it.

I'd definitely consider a Linux daily driver for some of my work, but there are things that are just going to be less painful on Apple.


Maybe I'm missing something, but font rendering seems fine on Ubuntu without any after install steps.

I've been using Ubuntu exclusively for well over a decade for everyday work, only occasionally going into a Windows VM, and it's really been perfectly fine, great even, as a developer. I bought a X1 Yoga the month after it was released and Ubuntu installed perfectly on it, the only thing that didn't work out of the box is the fingerprint reader.

Until a year ago, battery life wasn't as good as Windows/Mac, but it's very good with the latest versions.

Proprietary software that some people need to run, now that's another issue, but for most development tasks it's fantastically manageable and accessible, a real pushback against closed systems.


I was using Ubuntu exclusively for around a decade too. It's a great development environment. But about a year ago I needed a new laptop and with the one I purchased, some things didn't only require extra steps to get working, some of them were no fix issues until some indeterminate date in the future.

You mention the fingerprint reader not working out of the box - with my laptop, Fingerprint GUI was basically waiting on one of its dependencies to somehow figure out how to integrate my fingerprint scanner. Things like my active-stylus capable touchscreen weren't supported, and there were no applications to really utilize it even if it was.

I switched to Windows as my primary OS when I realized Windows PowerShell had basically become on par with Linux in almost every degree and that VS Code was as cushy as I could hope for in a development environment. The only thing I've found that isn't supported out of the box is Redis, but I downloaded a ridiculously lightweight version of Ubuntu from the Microsoft store (we're talking <1 MB memory footprint) with one click and was then good to go.

The other thing that really impressed me was all the easy to use tuning software. With ThrottleStop I was able to easily under-volt my processor to completely eliminate things like thermal throttling and improve performance all while greatly improving my battery life. Nvidia support is also way better so I can turn off my graphics card for anything but games - and then there's MSI Afterburner to under-volt my GPU when I am using it.

And yeah, not only do my fingerprint scanner and stylus work on Windows, but Windows has Windows Ink built in so I can easily take screenshots of whatever I'm doing with Snip & Sketch and annotate them with a pen in an instant, and I can use Sketchpad like an on the fly whiteboard when I need to do some math.

Plus, it has art programs like Krita that basically turn my laptop into an iPad Pro when I feel like getting artistic.

And with programs like Enpass, I can use my fingerprint with Windows Hello in place of my master password for stuff like logins and credit card information, which is a lot more secure for someone like me that does a lot of my work from coffee shops.

I still love Ubuntu, but all the offerings of Windows 10 has kind of made me a Windows fanboy and even makes MacOS seem like a decisive downgrade.


I know security is hard and i like to skirt it sometimes as well, but i still think it should be pointed out that a fingerprint should not be used as a password for security critical data. Its at best a username, as you can't change it and a motivated person can trivially steal it.

Not trying to discourage you from using it like that. Its perfectly fine as long as you realize that the fingerprint is only secure against random people on the street or just not very competent attackers... which is fine and is probably enough for most scenarios!

but now on the topic itself... the windows subsystem for linux is perfectly fine for a lot of things, there are quite a few issues however. All files accessible from windows will have 777 for example, there are a few applications that have issues with that. daemons exit as soon as the last terminal closes is another thing many people have to stumble upon.

and ymmv on the issues you mentioned. everything you mentioned is completely uninteresting to me, personally. a good window manager such as i3wm offsets pretty much every shiny-ness windows 10 has for any development purposes.

i do use windows for anything else though. (and am sadly forced to use it at work as well)


It's sort of an after-install thing that takes a minute, but I have some keyboard shortcuts that allow me to do things like jump into a sketching program with the current clipboard contents. And Krita itself (and a few other good apps) are available on Linux.

Not sure how Throttlestop compares to the latest Linux options. I've got many containers going, three instances of vscode, a zillion tabs, performance is not an issue.

But, I realize not everyone cares about a free and transparent world, even when it's more and less as good. It must at least encourages companies like Microsoft to keep opening up and getting better.


> and it's really been perfectly fine, great even, as a developer

Here is the point. It absolutely is fine as a developer. But my parents would never be able to get accustomed to Ubuntu or any other distro. It was hard enough to make them use email.

The truth is that the vast majority of people just want things to work. Like turning on a TV without any setup. Hell, people pay electronics stores 100€ to plugin a cable and run the "find channels" function.

OECD studies have shown that more people than one thinks are incapable of using search in email [1].

[1] https://www.nngroup.com/articles/computer-skill-levels/


But, I wasn't talking about your parents.


That's true: some things are easier on Mac. In particular, I'd say that using software that hasn't been packaged for your distribution is much easier on Mac.

However, your example of fonts is definitely not one of those areas, anymore. Font rendering on Linux is as advanced and capable as any other OS including in the areas of kerning and hinting. It should just work without any user intervention and look great.

I agree with you that compositing/window manager fragmentation is a problem. And this article is a perfect example of that. The author may think that they're happy using i3 with Firefox and st at the moment, but the desktop computing environment has gotten so complex and the expectations of users who interact with desktop applications so rich, that a small hobby project DE/WM cannot fully satisfy all of those use cases over the long term. The only two desktop environment projects that have enough resources to meet the needs of users behind them are KDE and GNOME. And we shouldn't be telling new Linux users to try anything but those two.

FWIW, I've worked at Google for 7 years where we use Linux on our workstations. Many engineers fiddle with various "hacker" window managers like i3, Sway, Awesome, or fvwm. They almost universally give up and switch to GNOME(/Cinnamon) or KDE: it's just too fiddly/not complete and they'd rather use their brain power for solving real problems. The authors example of messing around with dmenu because "unix philosophy" is an example of this kind of waste of time that people eventually get tired of because they have better things to spend their time on.


Personally, I gave up on Gnome and run LXDE a bit like i3 - autopositionning the windows with Fx keys mapped to a given set of coordinates, so F10 will make a window use a square on the left covering 80% of the screen, F11 will move the window to the remaining 20% on the right, thus hiding conky - etc. The only advantage I find in LXDE is that it has a titlebar I can 'reveal' if I wish to mess around and fiddle with the window position (like when tracking the arping replies in a remote lan and using a bit of scripting to see the evolution of the metric as I fiddle with things)

I like my desktop lean and mean. I do not want distractions. When I am dealing with a remote system crashing under load, the last thing I want is my desktop or my shortcuts to behave in weird ways. Things must always work, in a consistent way. Funny thing is I can only get that in Linux... and in Windows 10.

Customization is a feature, just not everyone needs that feature.

So I disagree with your assessment, as some users will find Gnome or KDE too distracting.


Some people try that, too (and XFCE). Admittedly, they're better than a tiling window manager, but LXDE's last stable release was 2016 and it doesn't have a compositor so all of that graphics hardware in your computer specialized to prevent X11 DAMAGE events from forcing applications redraws and for saving power is going unused.


Does using a compositor really _save_ power in practice? GNOME's one certainly doesn't, in my experience. It would spin my fans up after a few moments of dragging a window around. Of course it has no configuration options so it is not possible to fix it. kwin is almost as bad last time I checked on my hardware.


I agree ; I'm considering moving to wayland but still now LXDE does everything I need well enough to not have bothered for the last few years


I'm curious what you find distracting in Gnome? Unless you're running in Classic mode the newer versions got rid of everything except the top menu bar and that is less busy than it used to be. The default launcher works very well using the keyboard only, I actually quite like it (though there are definitely other things I don't like about the Gnome defaults).


What I find distracting: the menu bar indeed, the file manager on the desktop, the title bar of the windows, the buttons on the titlebars of the windows

That doesn't leave much of gnome.


> The only advantage I find in LXDE is that it has a titlebar I can 'reveal' if I wish to mess around and fiddle with the window position

Unless I'm misunderstanding, you can use Alt + left click to move any window around, and Alt + right click to resize. No need to reveal the title bar except perhaps to read the occasional title.


Correct, I really like alt left click to move windows but for some reason I prefer resizing with the title bar even if takes one more event (keypress) to make it show up, and one more to remove it when I'm done.


Off topic, but have you looked at LXQt? It is surprisingly nice, albeit with slightly more memory usage.

I never thought I could move away from LXDE but I think I'm going to soon.


Interesting - I will consider it, thanks a lot for the suggestion! Memory use is a concern, but so are wakeups in a tickles kernel on a laptop.

At the moment I'm considering Sway mostly because of the wide use and community, but it's a "long term" project this month or the next :-)


> I agree with you that compositing/window manager fragmentation is a problem. And this article is a perfect example of that. The author may think that they're happy using i3 with Firefox and st at the moment, but the desktop computing environment has gotten so complex and the expectations of users who interact with desktop applications so rich, that a small hobby project DE/WM cannot fully satisfy all of those use cases over the long term.

Users have different needs and preferences, so I see the fragmentation as a positive thing because it gives people choice.

For me personally, xmonad, one of these hobby projects, has been perfectly sufficient for the last 10 years. I also didn't really touch my configuration much in the last ~8 years. More importantly though, I find it actually reduces my mental workload since I no longer have to handle window placement myself.


Definitely. I have had i3 on every computer I use for a couple of years now and I don't think I will ever go back to a conventional window manager.

No matter the thing I'm doing, every useful or efficient placing of windows is always no more than one or two keystrokes away.


Eh, I've been running xmonad within Gnome since (checks git blame) 2011 and I don't think I'm changing things anytime soon. Well, for the first 2 years I fiddled a lot and made sure I could just configure a computer the way I liked with a script. Occasionally I'll have an issue like Ubuntu switching to Gnome 3 but even that, the biggest disruption in years, just took an evening of fiddling to fix.


> Font rendering on Linux is as advanced and capable as any other OS including in the areas of kerning and hinting. It should just work without any user intervention and look great.

This isn't entirely true. AIUI, Apple enables LCD filtering and subpixel rendering by default, because it knows that you're using an LCD and what the subpixel order is. However, these are usually toggleable via the GUI, and even without them it usually still looks fine.


Since Mojave, MacOS nolonger does subpixel rendering.

https://mjtsai.com/blog/2018/07/13/macos-10-14-mojave-remove...


On non-retina displays, which... is nowhere near the normal use case for Macs at this point.


On all displays. It matters less on Retina displays.

External displays are nowhere near the normal use case?


No, my point is that this change only affects non-Retina displays. In my experience (worldwide, many companies, etc) anyone who uses a Mac with an external monitor generally doesn't settle for some POS. It's a high-end screen that matches the MacBook, hence why it's not that big of a deal.


The change affects all displays.

The highest supported resolution on a MacBook is still scaled down. Only a couple of expensive LG displays match the actual density as far as I know.

The MacBook Air only got a Retina display a few months ago. The low-end iMac is still 1080p.


People forget that subpixel rendering was a thing on CRT's before LCD's were around. Subpixel order is pretty universally standardized. Is there an EDID data element for pixel order?


I didn't know that! How does sub-pixel rendering work on CRT's, which (to my understanding) don't have a set matrix of pixels and subpixels?


It worked like shit, blurring perfectly fine text. At least the last time I had a CRT, which was very early 00's


I agreed with everything you said except this:

> but there are still things that just going to be less painful on Apple.

Of course OSX is more user friendly now, but Linux desktop has improved by leaps and bounds. 4 years ago you needed to be a developer or extremely savvy to run the average desktop distro, now I would say you just need to be tech sdavvy. I would argue that for the ho hum business cases (not extreme use case profiles like design and video production) that Ubuntu won’t cause any unnavigable issues.

I think in a few years you will see the Linux diaries continue in popularity, especially among developers. Laptops have become commodity items. There just isn’t that much that differentiates (for me at least) a MacBook from a good ThinkPad.


People have been saying that ever since, uhm, the first Mandrake release? It’s so much easier now, soon it will all be so smooth! except every year there is something else to rewrite/rejig.

As soon as auto-configuring XFree was kinda figured out, out goes XFree and in comes x.org. Xorg getting to the point where having 3d animations doesn’t require kernel-module-config expertise? Out goes Xorg, in comes Wayland. Gnome 2 worked out the kinks? Time for Unity! Kde 4 finally getting snappy? time to break it up! Init systems figured out? Systemd! ALSA getting adoption? Pulseaudio! Pulseaudio finally working? Let’s rip it out! And so on and so forth, in an endless churn.

Now, this sort of churn also happens in commercial alternatives; but stuff gets shipped when it’s 99.9% working, left running for years (or decades, if from Microsoft), then maybe gets rewritten with something that must be better (no regressions) or it won’t even ship. In the Linux world, it’s all just thrown over the wall; maybe you’ll be lucky and it will work on your machine, and maybe it won’t. By the time it gets fixed, it will be time to replace it. And so the experience is a perennial struggle against half-finished, unpolished software.


Yes the churn is an issue especially in desktop environments but relatively painless all things considered.

I don't think there has been a single inflection point for me there has been steady incremental improvement.

If you want to think about how far things have come I started using Linux in 2001 with Mandrake. Around 2.2 -> 2.4 kernel switch. So much has changed since the bad old days. I don't want to throw out a "back in my day we walked up hill in snow both ways" style rant but...

-All we had was EXT2 and we liked it...

-You had to manually configure modelines for your video card changing display resolution was more or less a crapshoot

-Apps would exclusively lock the sound card which typically meant the first thing you opened would be only thing capable of playing sound. But you could pipe things to /dev/dsp and have the speaker emit random beeps that was kind of cool

-window manager used to crash a lot and you'd lose all the title bars for all the windows this happened fairly often - cntrl alt backspace is still in my muscle memory years later.

-Printers were basically impossible to configure.

People complain about changes like ASLA, pulse audio etc but I think there is a lot of rose tinted glasses being applied to how things were before. Sure some things aren't perfect but neither was their predecessors and on the whole they fixed more things then they broke.


I am not saying things aren’t better than they were; but they are still not as good or polished as the commercial counterparts (who obviously didn’t stay still), and looking at the overall trend, they will likely never be - because of innate problems with the development model (release early and often, even if it’s basically unusable).

So I can agree that “Linux will get smoother”, because progress is more or less inevitable, but “linux will be as smooth as [Windows|MacOS]”, as upthread implied? Never going to happen.


The reality is, people get paid more to develop for the Mac world and put more effort in consequentially, whereas Linux is still mainly volunteer-driven.


> not extreme use case profiles like design and video production

There are a lot of use case profiles that are very ho hum for which Linux is a non-starter. I'm thinking specifically of basically any time you need to use Mac-only software. Likewise, I'm sure there's Linux-only software that would make OSX a non-starter.

IMHO, all of the major modern operating systems are good enough and have been for a while now. Pick the applications you want then find the OS that best supports those applications.

It would be nice if the Purism guys would open some retail stores. Once you can walk in some place and get help it gets to be a lot easier to recommend those machines to less tech-savvy relatives.


Pretty much this, as UI focused developer I abandoned my Linux zealotry back to Windows.

Yes Hollywood is pretty much sold on Maya and Houdini on Linux, but they use their own in-house distributions and have no issues dealing with binary blobs for performance.

Meanwhile my Asus netbook sold with Linux still can't do video decoding on hardware nor OpenGL 4 support, in spite of DirectX 11 class hardware, because AMD decided to reboot their driver development.


I see lots of advice online to just use the kernel driver for AMD cards these days, but in my experience it is slow. On some of my machines it benchmarks slower than the Intel graphics. In other cases it is faster, but only by about 50% or so. It is disappointing. I still tend to prefer nVidia graphics when I'm building my own systems because even if the driver is a big binary blob it does work.


I don't care much about performance because I mostly play strategy games, my issue with the kernel driver is it's instability, many games will hard crash my system.


I would also say that Apple has plenty of rough spots that Linux doesn't as well.

Font rendering the Apple way is a style choice at best.

What does "display/compositor fragmentation" mean to end-user?


> Font rendering the Apple way is a style choice at best.

Given how much of a hacker's usage of a computer is working with text (reading pages, writing code and documentation, taking notes) it's a style choice that actually has a significant impact.

(By the way, macOS Mojave deprecates subpixel antialiasing — a poor decision when there are many non-hidpi displays still being used)


I've used both macbooks and linux and have never noticed a difference, so I have no clue what sort of impact I'm supposed to be noticing.


I remember a decade ago when there was more discussion about it the rought situation was: OS X fonts were "blurry" because the font rendering was optimized for stay true to the font shape. Microsoft was "crisp but kerning broken" because the font rendering optimized for pixel alignment, so less grey pixels but shapes moved slightly to fit pixel borders. Linux was somewhere in between however you configured it.

That was the time of sub-100dpi screens though. With 300dpi (Retina) screens these days it does not matter much anymore.


Yeah. I've got a 1440p 27" monitor that I connect via HDMI (USB-C adapter dock thingy) and the difference when I upgraded to Mojave was very stark. I actually prefer Windows rendering now to Mac.


> What does "display/compositor fragmentation" mean to end-user?

My 1Password FireFox extension (ubuntu 18.04 LTS) doesn't work on X unless I log in through the website but it works just fine on Wayland.


> My 1Password FireFox extension (ubuntu 18.04 LTS) doesn't work on X unless I log in through the website but it works just fine on Wayland.

Hey there! Beyer from 1Password here. It sounds like your issue might be related to my post here: https://goo.gl/cdhFbz

The good news is the underlying bug that was "breaking password fields in Firefox" was recently resolved. You can read about it here: https://goo.gl/uFv5rL

If you are still having an issue using 1Password X after updating gnome-shell, please reach out to us at support+x@1password.com, and we'd be happy to help!

Thanks for using 1Password!


^^ Things exactly like this.

The practical implications of what it means to the end user is that companies/entities that write any GUI-enabled software for Linux are forced to make decisions about what(if any) OS they'll support.

And just like that, we've waded into "cracking open the window manager" just to figure out what's going on.


What is your X session? Gnome/KDE or plain window manager? It might be, that your wm is not launching some service that wayland session is and 1password needs.


The fact that you're asking this question and suggesting that root cause is itself a significant part of the problem the OP was talking about.


Unfortunately, the openness allows for so much flexibility, that many people end up breaking it up. Invariably, they will blame the system and not their changes. If they used the defaults, like they do in other systems, it would not happen.


In this case though LastPass is broken in Firefox on Ubuntu by default.

Edit: akiselev said 1Password, not LastPass. My mistake. Interesting that I experienced this same issue with LastPass.



This was a clean install so Gnome shell - worked just fine on Ubuntu 17.10 and 18.10 with X and Wayland.

After I login through the 1password website, the extension window opens just fine so it might be some input security service, but how would a Firefox extension even have access to a system service like that except through Firefox's built in APIs?


I don't know how 1password works; I'm using keepassxc.

With keepassxc you have native application and extension, that communicate together via socket. The native application can use whatever native APIs it wants.

However, back to you. What's more weird, if it is pure Firefox Webextension, that Firefox (still by default) launches as X11 application under Wayland, so the extension should have no way to know the difference.


That being said, it's still got rough spots that OSX doesn't. It works great when it works, but when it doesn't....

Someone really needs to make Linux distros just work when hooking a laptop up to a projector. The fact that there's so much trouble that's so public and faced with so much concentrated embarrassment is a serious ongoing PR impediment to Linux.

Linux distros got printing licked across the board, so it can happen.

How about a Linux version of Airdrop?


Last time I hooked up my Linux laptop to a projector it fired up the screen just fine. I didn't even have to hit some magic key combo to turn it on.


Time before last when I went to a Golang meetup, the presenter's Linux laptop embarrassed him for a few minutes, and lots of devs with Macbooks made some linux jokes at his expense.

This was the story with printing in Linux as well, back in the day. It would work fine for some, and be a nightmare for others.


This is definitely a case where the details matter. The guy who runs Slackware on some no-name laptop is probably going to struggle more than the guy running Ubuntu on the Dell.


It was Bionic Beaver. He was a well heeled SV manager, and he had a fairly new laptop. Not sure if it was a Dell.

This also happened with printing. People would say it worked fine for them, then point out that scroungers on quirky old laptops were getting what they deserved. Really, the fault wasn't those quirky old laptops, but rather fragile and not so well standardized software.


This is rarely (but entertainingly when it happens) a thing - I once waltzed into a job interview and fought xrandr for like 5 minutes to demo my take-home project: turns out mirroring my 1080p built-in panel to a 4k HDMI screen with herbstluftwm/xrandr command line hackery _only_ was... non-trivial. Thus, for the whole 13 months I worked there, I got to share several laughs about how "it's the year of the Linux desktop, yeah?" Embarrassing at first, but life moves on.

(fwiw the sway 1.0 betas, which are more or less i3 ported to Wayland, handle this type of case beautifully, and unless my kernel does Strange Things and panics, I basically plug and play into whatever I want, much like one would expect from the GNOME/KDE experience)


I got to share several laughs about how "it's the year of the Linux desktop, yeah?"

The amount of time that joke's been around should be taken as a sign of a persistent condition.

unless my kernel does Strange Things and panics, I basically plug and play into whatever I want

The kernel doing strange things and panicking doing plug and play was never a thing on OS X when I started using it. Seems to me it's not been a thing for Windows since before Windows 7.

It's long been speculated that one problem with Linux is cultural. Are Linux desktops trapped by cultural expectations?


The only piece of this I'm going to engage on is the kernel panic bit, and only as far as a counter-anecdote (so take it as you will), but I had almost as many kernel panics on a 2016 Macbook Pro over a bit over a year of using it at a past job. In fact, almost the exact same scenarios that I'd see panics on Linux on an XPS 13, would panic the Macbook: plugging in external displays through USB-C/TB3 ports. Probably double or triple the frequency if those displays were connected to a full docking station - probably something odd in PCIe code, potentially even firmware level.

The only OS I haven't had kernel panics on in recent memory is, indeed, Windows starting with 7, but I have a long list of other reasons I can't/don't/won't use it as my daily driver.


I had almost as many kernel panics on a 2016 Macbook Pro over a bit over a year of using it

I'm still rocking my 2012 Macbook Pro. It's been solid.

The only OS I haven't had kernel panics on in recent memory is, indeed, Windows starting with 7, but I have a long list of other reasons I can't/don't/won't use it as my daily driver.

I can only stand to do my development on a windows machine by using a Linux VM.


This hasn't been an area where Linux has had problems for more than 5 years.


This hasn't been an area where Linux has had problems for more than 5 years.

Really? Because I definitely got the impression it was a widespread joke in that circle of devs. Also, when I saw it happen to the last poor sap, it happened on Bionic Beaver. Is this more of the Thermocline of Truth?


I think dual headed (integrated and discrete GPU) laptops using Wayland is still a problem for some people. I don't know why. I gave up on dual headed laptops a while ago and haven't had a problem with multiple displays using i915 graphics and Wayland.


In Linux's defense even the corporate issued Dell laptops at my work running Windows 10 struggle with projectors. I see it daily in meetings people have to randomly mash the function key until display gets mirrored to projector properly, need to plug / unplug projector repeatedly until it works. People hit fullscreen in powerpoint and projector display just disappears and have to go through plug in unplug again dance.

From everything I've seen a projector "just working" seems to be the exception rather than the rule.


From everything I've seen a projector "just working" seems to be the exception rather than the rule.

My experience with Macbooks has been excellent. Even Airplay over an Apple TV just does the right thing with presenter view in Keynote just working. The one time I had a rotten experience on a Macbook was when I had to use Zoom.


I honestly feel like I've seen this same comment on every Linux workstation post for years now.

And you know what? Its mostly true[1], but its also true for me in reverse.

Mac OS has definitely improved in the last few years... that being said, it's still got rough spots that Fedora 29 doesn't. For me, this would be just as true of a statement.

[1] Maybe not the part about "had to download[...]" which felt a bit biased.


>Font rendering, display/compositor fragmentation etc...

Everyone has their own view of rough spots but those aren't mine.

The rough spots I'm experiencing with Linux are very specific. Namely lack of support for some proprietary VPN solutions like Junos Pulse for example.

Also lack of native clients for software like Webex Teams, forcing you to use their web apps which use up so much resources that I'm convinced they've caused my laptop to stall a couple of times.

And of course, perhaps related to the issue above, anything relating to graphics does need work.

The major positive thing I can say about using Linux daily in work and personal life is that it works so well that when it fails you get very annoyed. That's a good sign. It means that it's rare enough to annoy me. If it was too common I wouldn't be surprised when it fails.

I also switched back from Mac to Linux, 2 years ago.

But I use vanilla Gnome 3 on Fedora. Before Mac I used tiling window managers but now I don't see the point. It's just so much configuration to handle which Gnome does without a single line of config or shell code.


Ubuntu and openSUSE are my main installs, and they usually feel fine, my only issue is always drivers, whether it's Wi-Fi or Graphics (worse one, since at least Wi-Fi I have ways to circumvent - buy a compatible wireless usb tiny adapter for example, or connect a router to the network and connect my device over LAN). If somebody could either make a properly open GPU or get AMD or Nvidia to release proper drivers that don't break between versions, I'd be happy. Nvidias drivers used to work on my one laptop, now they've broken something in the latest incarnation of the driver, that or it's just not compatible with Ubuntu's new X.org alternative, whatever the case, it seems too easily fragile. If I can't install it due to GPU issues, I move on if I can't find a compatible distro usually.

As for the font thing, maybe I'm not a fontphile or something, but they're usually fine for me.


Linux is just consistent. When it works, it works. When it doesn't - god help you.

There's no rhyme or reason.

Sometimes, my wifi is broken. On a different distro, it's not. Right now, under Ubuntu 18.10, my suspend from resume is broken - it wasn't on 18.04.

I have the official Linux laptop, basically - a Dell XPS 9350, all 100% Intel hardware, no binary blobs.


The 9370 is an even more fun can of worms - resuming from suspend will almost always work (I remember the 9350 having massive problems with this, it's not just you - I ended up selling that rig to a friend), but there's a decent chance I'll kernel panic upon plugging in my Type-C dock after said resume.

The Killer Wi-Fi card has none of the connectivity problems I read about almost everywhere for this model.... but has all the throughput problems, running at about 15% of the throughput/bandwidth of my Chromebook (an Intel AC card) sitting right next to it as of the last time I tested.

I'd definitely not call Linux consistent, but it's better than it was when I started using it back in 2006-2007ish, and I wouldn't trade it for any other setup (and it's not for a lack of trying: my primary work machine for 2.5ish of the last 6 years was a Macbook Pro of some sort for one reason or another)


I've also found that on my XPS 13 with 18.10. Was fine previously on 16.04. Now I have to open and shut the lid a few times to get it to stop flickering. It's annoying and would otherwise be perfect.


Ah yes that. That’s an (old) bug about how logind interacts with gdm. A quick workaround is ctrl-alt-fn-F1 to force the screen to lock itself. Makes the flicker go away.


That trick worked perfectly. Thanks very much.


For me, Linux has improved a lot because Windows has gotten a lot worst, but the Linux distributions I've used have not improved that much (mainly Fedora and Ubuntu). I've been using Linux exclusively for many years and will probably continue to do so though...


I fell "in love" with the Budgie desktop experience, which is a project of Solus Linux. However, I didn't like the Solus Linux package system; I wanted the Debian plethora of packages. So I "found" Budgie Ubuntu. Best of both worlds, IMHO. It's the closest I've gotten to a Mac on Linux. It still has some rough edges, but nothing that really sticks out for day-to-day work and play.


If anything, font rendering in Linux is much better than in OSX. It does way more advanced auto-hinting and LCD-subpixel rendering, supports the newest font standards for things like advanced layouts, colored fonts and emojis, etc. etc. There's also very little display fragmentation other than the choice between Xorg and Wayland, which are largely complementary so far. But you can already be on Wayland-only in many cases.


>Inb4 the anecdotal "well it works for me I just had to download the xf86 font library and compile with a legacy glibc version..." crew comes in with a thousand and one rebuttals. Problems like that are still a suboptimal user experience, no matter how you slice it.

No, my experience is much more along the lines of, "I download and install Ubuntu or Linux Mint, and then it works without further issues."


I put Ubuntu Mate on an old 2009 Macbook because it couldn't function with MacOs anymore. A wifi driver was the only thing it needed. Which, ended up being trivial to install. Everything else worked out of the box. Two finger gestures on the trackpad, audio, everything.

My current Dell Inspiron 7000 didn't need a single driver installed manually (with Ubuntu). Pretty impressive.


Font rendering is a funny one. Some distros were limited by patent issues, but Ubuntu has looked great for a while. Now Apple removed subpixel anti-aliasing in 10.14. This may look better on hidpi, but lots of us still have non-retina Macs


Ubuntu and it's derivatives have pretty good out of the box font rendering IMO


> It works great when it works, but when it doesn't....

Yeah that good for MacOS and virtually every other piece of technology.


> Font rendering, display/compositor fragmentation etc...

So take a user from Windows 10 or OSX whatever, and sit them in front of your favorite stable Linux distro running a terminal emulator and a browser of your choice.

Are the fonts going to be rendered in a way that is unobtrusive for those users, or will things look ugly and difficult to read?

Because I'm running a chroot of Debian Buster on my Chromebook and boy, that terminal sure does look blurry. (And is this a bug that will be fixed when Buster stabilizes, or am I expected to go read some font wiki on a different machine to "guess-and-check" it back to sanity?)

I don't want to switch to OSX. But I also understand why someone wouldn't trust the UX of a system that ships in "headache-mode" by default.

Edit: clarification


Anecdotal like other comments but I and a few others from my workplace have switched to Dell XPS machines and run Linux now, and it's because we're working with Docker, even with 16GB RAM and solid-state drives, the performance of Docker on MacOS is pathetic, and entirely unusable for our work.

The XPS machines we have are ugly, they're flimsy, they have a grotesque carbon-fibre pattern on them, the keys leave imprints on the monitor after the lid has been closed, the fan drowns out the sound of music in my apartment, the camera is situated about 5mm above the keyboard with it's rickety keys, it is without a doubt the ugliest, the worst computer I have owned, I eat tramadol just to handle the back-pain from carrying it around in my rucksack, but I'm much less angry and frustrated working on it than I am on a Mac because it doesn't shit it's pants when more than a few containers are running.


I started using X1 Carbon 6th recently and it's an amazing little machine. Extremely portable (a 14" that weighs 2.5 lbs and fits in a 13" sleeve), great keyboard, great Linux support, good display, and it runs very cool (the fan is never on, despite running multiple virtualbox instances in addition to regular work that causes sporadic CPU spikes - e.g. compiling).

It's also very pleasant to touch and hold in your hands, especially if you like the Thinkpad aesthetics.


I have to agree. I was never a big fan of laptops before, but I've really come to enjoy my 6th gen X1. The keyboard is surprisingly nice (for a laptop) and the battery lasts long enough to not annoy me when I'm on the move.

The fingerprint reader doesn't work though, not that I know what I would use one for.


I installed KDE Neon on a t450s recently and the fingerprint reader was the only hardware that didn’t work out of the box. I had to install an extra package and add some lines to a pam config file.

I use it to log in, plus to auth for anything that requires root. I’m doing some coding so occasionally do something that requires sudo in a terminal. A prompt appears and asks me to swipe my finger. It’s very neat.


Counter-anecdote (I admit that I'm ignorant about aesthetics, so I'm not addressing those points).

I got a personal 2016 XPS 13 (9350) because of Project Sputnik (https://bartongeorge.io/tag/project-sputnik/), which brought official desktop-Linux support to it. I also work at Google where we have a very solid desktop distribution, providing me a working example of almost every tweak I might want to make. Owning the hardware has been a great experience since two changes. First, I swapped out the Killer wifi card and replaced it with an Intel card. Unfortunately this is table stakes for any machine with that card. Second, I thought the spring on the keyboard's keys was much stronger than another XPS 13 that I'd test-driven, so I rolled the dice on eBay and bought a replacement for something like $20. I swapped it in, and it indeed restored the light touch that I liked about the other one. I wouldn't expect many people to do this.

As for software, I've settled successfully on Ubuntu 18.04 LTS, running the same Cinnamon desktop environment we use at work. A key part of my success has been committing to Ansible for configuration management. When I make a settings change I want to keep, I figure out where it's persisted, and then upstream it into my Ansible repo. This has the three-part benefit of teaching me a little about the system (mostly dconf), creating a worklog of changes I've made to the machine, and giving me the psychological comfort that if things get really bad, I can reinstall the OS plus all my tweaks. (Just to be clear, these aren't

I've since expanded the Ansible setup to manage a tiny target-practice server I keep on a cloud service, and over the holiday break this year I successfully set up an old desktop in a closet by (1) installing base Ubuntu, (2) unzipping my Ansible repo to it, (3) running a bootstrap script in the repo that installs python, git, and ansible, and runs Ansible on itself, and then (4) drinking a cup of coffee. By the end I had a machine that was substantially identical to my XPS 13.

I'm sure I'm proving someone's point that Linux isn't ready for the desktop. But from my perspective, the Linux-hardware interface is excellent on a Dell XPS 13 because of Project Sputnik, and if you can factor out the likely dozens of hours I spent overengineering my personal Ansible configuration system, I now have a reliable, easily reproducible desktop setup that rivals the manageability of a Chromebook, which is my personal gold standard for desktop statelessness.


oops, I meant to delete my needless clarification "(Just to be clear, these aren't..." but must have sent it anyway. All I was trying to say was that these tweaks are user preferences like background images, not essential things to make the machine usable. Thanks to Sputnik and the wifi card swap, the machine was usable from the start.


> back-pain

What Mac were you using previously? 13 inch macbook pro is heavier than the 2.67 pound 13 inch XPS


Docker performance outside of Linux is always going to be a problem since it will need to rely on VM. There is a big thread of discussion here for docker on Mac: https://forums.docker.com/t/file-access-in-mounted-volumes-e....

Our development environment has been with docker on Mac for a few years. It's definitely slow, but we found it acceptable. Do you happen to use a very large image with tons of IO work?


Have you tried running Linux on a MacBook? This used to be pretty well supported (albeit expensive) way of getting pretty hardware and the software you needed, but I haven’t tried in a while.


AFAIK newer Macs with a T2 security chip block OSs other than macOS and Windows 10 [0] (at least on the internal drive).

[0] https://www.phoronix.com/scan.php?page=news_item&px=Apple-T2...


For folks considering the XPS, check out the Dell Inspiron 7000 range. I have the 13" version and it very much reminds me of a MacBook Pro aesthetically. Brushed aluminum chasis, dark keys (with back lighting), and an overall sleek, understated design. Nothing like the cheap, plastic Dell's I was used to seeing.

And, it installed Ubuntu (mate) without a hitch. Everything worked out of the box except the font scaling. I suspect that's a Mate specific problem though. Gnome may work better.


It seems to me there is always an "except" with Linux. Even someone, elsewhere in this thread, said the developer edition of the XPS worked flawlessly, "except..." -- and that is a laptop that comes preinstalled with Linux!


> the keys leave imprints on the monitor after the lid has been closed

Same with my Late 2013 MacBook Pro.

> the keyboard with it's rickety keys

I haven't used the XPS keyboards extensively but they seem to get good reviews and in my limited experience, I definitely prefer them to the new MacBook keyboards (which I've used quite a bit).

> I eat tramadol just to handle the back-pain from carrying it around in my rucksack

The XPS 13 is actually lighter than the MacBook Pro 13 and the new MacBook Air. The XPS 15 is half a pound heavier than the MacBook Pro 15, which should be barely noticeable when carried in a backpack. I am not quite following.


Funny, I have an XPS13 (9370) and I love the aesthetic; the carbon fiber and metal look/feel is really nice. It's light, works well, and is quiet. The keyboard leaving imprints on the display is no different from my 2013 MBP, whose design everyone still seems to love.


I am dual-botting my MBP 2014 and I absolutely recommend doing that. Not sure about more recent ones though.


I use a Dell Latitude at work. It's far worse than the XPS I've sampled in shops. The keyboard is the worst thing I've used since the ZX81 and Spectrum. Possibly worse but my memory may fail me.


There are different issues with OSX though, that colleagues of mine had, that never occur with Linux. E.g. the chore of somehow managing different software versions such as the outdated default one and a second one installed with homebrew. Almost all my colleagues struggled with setting up python 2 und 3 correctly at some point, whereas this just worked for me on Linux.

Some struggled with font rendering between a 1080p monitor and their Retina displays as well.


>Almost all my colleagues struggled with setting up python 2 und 3 correctly at some point, whereas this just worked for me on Linux.

This is one area where I'd have to concede the Apple experience is objectively suboptimal.

However, the Python ecosystem isn't doing anyone any favors here.


Languages and platforms generally are best supported on linux. Clojure, haskell, python, anything except the platform provided by the Apple/Microsoft is easier to configure on linux.

C++ ecosystem sucks a lot when you have to build 5 libraries using 5 different building systems. Linux package managers do that for you.


Yet VC++ offers much better tooling, including pre-compiled headers, incremental compilation and linking, experimental support for modules, C++ friendly OS APIs, and a package manager actually written in C++.


And a project config system that will break everything at the slightest provocation! Seriously, setting up even moderately complicated multi-project solutions usually results in days lost to figuring out why x library isn't linking with y project. The editor is great, the build system is somehow worse than make/cmake.


Nowadays MSVC has a built-in cmake integration (a bit like vscode). You can open a folder with CMakeLists.txt and it will mostly work.


Yes, if you can justify using cmake on Windows. Most customers want an MSVC project though it seems.


And then you want to use that library that isn't a msvc project.

Or, God forbid, you want to use clang or gcc. Or intel's whatever.


Intel is compatible with MSVC++, using binary libraries is quite common on the PC world since MS-DOS days.

Plus there are DLLs and COM libraries as well.


> However, the Python ecosystem isn't doing anyone any favors here.

Apple isn't, either. They ship a version of Python by default that is woefully out of date and conflicts with any other Python that you install, and what's more, some of their tools (notably, LLDB) freak out if you have a newer Python on your $PATH.


Except you forgot Apple ships Python 2.7.15, which was released in 2018. It's actually quite up to date.


My Mac on Mojave ships with Python 2.7.10 which was released May 23, 2015.


maybe it is right now. But in my experience they usually don't keep them up to date very well


Sounds like RHEL 7...Unless you enable Software Collections.


RHEL 8 is moving to Python 3, though, with a Python 2 binary kept for system tools that still need it.


I have struggled occasionally with the various Linux package managers not being able to resolve Python library conflicts/dependency conflicts. Like, really, things where you wonder how possibly could there be a conflict, such as scipy not being able to update because matplotlib ver whatever being needed by some other lib that interoperates with scipy but itself is updatable something something something.

I'm still not sure I know the best way to install Python packages. It seems someone has something bad to say about any given method (pkg mgr, pip, venv, etc).


I just use nix on OS X, better package manager than most linux distros have. I have my own copies of py2/3 and the system one, not a huge deal to be honest (outside of the pain of linux side nixos updates breaking derivations for macOS, but thats generally not a fault of the os).


The issue I have with Nix, vs a combined MacPorts+Homebrew is that Nix is a pain to get working. The time investment required for Nix is too high.


Last time I tried Nix I eventually got the Nix environment working, but ran into MacOS-specific issues trying to install relatively common development-related packages like Ruby and PostgreSQL.


It's waaaay better than it used to be. A couple of years ago there were a lot of impurities which would cause everything to break whenever macOS was updated. But these days it just uses libSystem from macOS and the rest is managed by nixpkgs.


No argument there, I definitely agree, however its easily my favorite package manager. And lets me keep nixos config similarly.


This is at least as bad a problem on Linux — I would argue worse since I've seen people break the system tools written in Python — and it's mostly due to Python being old enough to be both widespread and to have accumulated tons of easily-googled bad advice. The people who have problems with this almost always also have tons of similar problems with everything else because they've avoided learning enough system administration to work cleanly or troubleshoot problems effectively, and that's unfortunately cross-platform — they'll also do things like copy DLLs into Windows system folders, get annoyed that rpm/dpkg won't let them install the wrong version of an important library, etc.


I work in an rpm shop, and we've been exploring switching to python. Could you expand on or link to some of the rpm&pyhton issues you've run into?


The main thing is understanding that the system python installation should be left alone and you should install each app/project in a separate virtualenv / venv so their versions of Python & installed packages are isolated from the system and each other. This also tends to get rid of about 99% of the times where someone try "sudo <previous command>" before reading the error message.

These days I tend to recommend using https://pipenv.readthedocs.io/ or https://poetry.eustace.io/ which will automate creation of those virtual environments and provide a nice interface for managing versioned package installs (i.e. `pipenv install foobar` will record the exact version you installed, including SHA-256 hashes, for repeatable installs).

If you're in the Red Hat world, note also that they're making some big (and I think welcome) changes to isolate the Python they use from the version developers use, which will also allow tracking newer versions faster:

https://developers.redhat.com/blog/2018/11/27/what-no-python...


I was looking at venv, but I guess not fully looking through into deployment. Do you know if venv works with setup.py bdist_rpm or is there nothing standard linking the two concepts?


You should not mix bdist_rpm and venv; but you can build eggs or wheels with bdist_egg/bdist_whl and install these into venv.


To be blunt, Apple would be better served removing any and all of the outdated packages, not even bothering to include certain packages at all, and just telling people to use one of the several community supported package managers. The GNU packages especially come to mind since they are all out of date anyway.

If there’s no requirement from some OS feature to have a particular package preinstalled, I would rather not even have it in the base system if I’m just going to have to replace it with an updated (and updateable) version.


I might be unlucky but Linux had been a nightmare on the few laptops I've tried it on. It is not that I have not tried. I did. Some of the problems I had: Very slow UI, not recognizing my Wifi Card, Chrome stopping support for CentOS, Problems with the Graphic Card and multiple monitors, problems with most printers I try, problem with my Bluetooth mouse...

Linux and the multiple variants have been horrible. Also, you commented about Python 2-3, I agree I had issues with OS X. But you are ignoring the fact that installing software on Linux is still a mess of resolving all the dependencies and the package manager. Where in OS X, it is just a file move to App.

Nowadays, I run dev code on a Linux docker container. I do pretty much anything else on OS X.


Your experience running Linux on a laptop is highly dependent on how well it supports the hardware that happens to be in your device. If you're able to research the driver support ahead of time, you may find that Linux runs flawlessly on the laptop you bought. If you install Linux on a random laptop, then getting wifi, audio, etc working can be hit or miss, depending on the drivers.

As far as installing apps, I guess it depends on what you're trying to install. In my experience installing apps is easier on Linux than on any proprietary OS, so long as you're installing open source applications and working within the package manager and keeping your system up to date. If you want to run proprietary software on your open source OS, then yeah it's more difficult since Linux distributions aren't really designed for it.


> Your experience running Linux on a laptop is highly dependent on how well it supports the hardware that happens to be in your device.

My second mainline Linux install was a copy of RedHat on a laptop.

Mind you, this was RedHat 5.1 on an old 486 laptop with 8 meg of RAM, PCMCIA, etc. Sometime in 1995 or 96, I forget.

Several re-compiles later, I had that entire system working - all drivers for all the hardware, including the built-in modem (plus sound and PCMCIA ethernet).

I got lucky there.


This.

I had an Asus laptop that would only pickup wifi if I hibernated it first. I have a Dell touchscreen model that took a full day to get the touchpad to work at all as Ubuntu kept defaulting to the screen. Too afraid to do a fresh install of the current (or any other) distro because I can't remember how I fixed the touchpad issue.


It sounds like you were really unlucky. The last time I struggled with any of the issues mentioned by you is at least 4 or 5 years in the past.

> But you are ignoring the fact that installing software on Linux is still a mess of resolving all the dependencies and the package manager. Where in OS X, it is just a file move to App.

This is also highly dependent on specific experiences. I haven't had any issues with conflicting dependencies on Arch linux in the past few years. And personally I appreciate a system package manager for all software instead of having to download applications and doing drag and drop for installation


Sounds like you just got lucky with the versions you happened to need vs what the system versions were on your version/distro of Linux. It's not like Linux has a built-in solution to the problem, you can definitely still have issues with conflicting versions.

BTW, on either platform your best bet IMO is installing all your scripting languages within some kind of version manager. I like pyenv, rbenv, and nodenv since they work exactly the same way between the three languages.


I have a feeling that Apple doesn't want their users to install that kind of development environments, other runtimes, etc. to their MacOS installations. Time Machine also sometimes doesn't Backup these installations correctly.

Similarly, TeX installation is hard and it's forcefully shoehorned on the installation, and you can't do anything better in the current situation.

My solution is to run a Linux VM for these situations. For programming and server-like purposes, a headless minimal installation is fine. For TeX authoring, an XFCE installation is very handy and not impacting battery life in a visible way.


> Similarly, TeX installation is hard [...]

Installing MacTeX has always been one of the most straightforward things I can imagine.


It was. When I got my first Mac in 2008, it was very straightforward. When Apple started to tighten OSX security they stumbled a little IIRC (I cannot find the old warnings and notes on the page). Also, around the same time, OSX installer changed, and OS upgrades started to take longer since TeX installation had so many files.

When they were working on these problems, I was in the middle of my Ph.D., and I needed a stable TeX installation, fast. I installed a Linux VM, all my woes went away, and that method just stuck.

I just checked the MacTeX page now, and it looks like they solved the problems I mentioned above, but currently I'm too lazy and need that TeX installation keep working, so I'll not retry it now.


To be fair, that may be a python problem, as I've also had issues with 2 & 3 on a Linux machine as well. At this point, unless I can avoid it I just use a VM for any python 2 work.


I didn't mean just managing 2 and 3.

OSX comes with some software such as git and python2 preinstalled. However they do not usually keep that software up to date and there is no way for you to change that, which means that community package managers need to be used to install more up to date software versions in parallel to the system ones


This is a pain point. I use pyenv+pyenv-virtualenv+pyenv-implicit to keep me sane on MacOS (and everywhere else honestly, system python is for the system.)

https://github.com/pyenv/pyenv


This was my main complaint with OSX until I tried nix. When I ditched homebrew and reinstalled the same packages with nix, I don't think a single one had problems. The CLI has some stupid pitfalls though..


what works for me

1. brew install pyenv 2. pyenv install 2.7.x 3. pyenv install 3.x 4. cd work; pyenv local 3.7.x (by default, all projects under "work" will use 3.x) 5. cd work/legacy; pyenv local 2.7.x (but this one will be on 2.x)

then for each project, I'll create a separate virtual environment.

For various reasons, I have about 6 separate python versions and a dozen or so mini projects all working flawlessly as separate virtual environments created under separate versions managed by pyenv, and I always have the latest pyenv thanks to brew.


I find the fetish for terminal-based music players a bit odd. I associate terminals with doing work, so the idea of having one whose sole purpose is playing music (presumably in the background while you do other stuff) to feel like a waste of screen real-estate and something I'm likely to accidentally pull up while trying to cycle between my other terminal windows where I'm doing stuff.

I much prefer something that I can kick off to play an album or a playlist and have it all but vanish from sight, either into the taskbar or, preferably, into the system tray.


Ah but how else are you going to have enough stuff open in tmux to impress people with your screenshot on r/unixporn


Found the elephant in the room, you did.


Shoot, you're onto us.

Any time I was posting there included screenshots of 'ranger', various permutations of 'htop', and a 'Matrix' style scrolling character feed.


With a tiling display manager like i3, dwm or awesome, system tray isn't that useful. You tends to have one app (or a group of app that you always use together) per virtual desktop that you access in one keyboard shortcut.

You never circle through apps as it's not necessary. Most of the apps are in fullscreen or tiled depending on your need. No window is hiding another one.

When you're use to it, having to move your hand to the mouse or trackpad and click on stuff feels painful. Then keyboard driven apps (which terminal apps are usually really good at) makes total sense because you still don't want to have to move your hands and click in stuff.

Basically usability switches from graphical apps made for mouse/trackpad to keyboard driven. It's a quite different way to manages windows that have usually a learning curve as it is keyboard driven, but it's really efficient.


Excellent analysis.

After using i3 for about 3-4 years, I have to admit that I'm always a bit lost on floating WMs now and feel like an idiot for a few minutes until I'm somewhat comfortable again.

To me tiling WMs are just vastly superior. Anecdotally, most people I know that have seriously tried to use a tiling WM usually end up sticking with them.


Is this true for you on a laptop as well? I could imagine this on something where I had a lot of screen real estate. But when I'm coding, in one virtual desktop I'll typically have the IDE, a few terminal windows, and a couple of browsers going. With a 14" screen, I can't imagine how I'd make a tiling window manager work.


Sure.

The great thing about i3 (and also other tiling WMs) is that they are very flexible and customizable to your preferred workflow.

Together with them being centered around the keyboard and easily scriptable, you can use them in a way that works best for your preferences and your environment.

For coding on my laptop, the active main workspace is split into three parts, with the editor taking the left half of the screen, and the right half split into browser and terminal (with the terminal being a TAB container with multiple terminals that I can quickly switch between).

When I need to focus on either the editor or the browser, I make them full screen (I have shortcuts to jump between full screen browser and full screen editor directly with one keystroke).

On other workspaces I have setups with music player, email, Jira/Bug tracker/etc that are always launched in the same configuration on boot and are also just a shortcut away.

So it works great on a laptop too, even if you spend a lot of time with one app maximized.


Tiling wms support tabs and workspaces, not just tiling. Similar to how floaings wms support fullscreen and workspaces, not just floating


For me it's true especially on a laptop. Mousing is even more painful on a laptop than a desktop.


I felt like the kind of micro optimizations that a tiling window manager gives you aren’t worth it in the long run.

Sure, it felt like I was moving faster when I used keyboard shortcuts to fly around but at the end of the day, switching between windows was never a real bottleneck to begin with.

FWIW I used i3 exclusively for 2-3 years.


What do you use now, and how does it compare?

I switched to i3 because I was just frustrated with what I had used in the past. I wanted a simple window manager without animations (disabling them on my phone was also a huge gain in terms of usability), that just works and does not get in the way (I had a slow laptop on which Gnome was painfully slow, at the time). The cost was basically to write a configuration file matching what I wanted, learning a few key to switch workspaces and windows, but that was it.

I agree with you that these are micro-optimizations time-wise, but the frustration can be real and it gets in the way when you use your computer all day long. The simpler, the better I'd say (although it doesn't have to be a tiling window manager).


Now I use Windows and MacOS, but immediately after leaving i3 I switched back to gnome.

I haven’t used a computer than ran gnome slowly in a long time, so that has something to do with it.


I often have one window in the foreground, but type into a background window (I had point-to-focus on and raise-on-focus off).


> I associate terminals with doing work

Most of us Linux users find you a bit odd. That's just how it goes.

The shell is a very useful interface. It allows abstractions that just aren't tractable with GUIs. Many of us have found that those abstractions are quite useful for fun things, too.


If you're using mpd the terminal interface can be opened/closed at will so you can just openit, queue up some music then quit. Exactly the workflow you're on about.


Exactly. It's especially nice since you can use the same UI to control different mpd servers - I have one running on my laptop and another on a machine plugged to my home stereo. And I can also control both from my phone using MPDroid.


I use cmus on the command line because it enables me to quickly slide over and really quickly adjust my playlist using only the keyboard. With a GUI player that would require much more steps.


The neat thing about terminal-based music players is that you can put them in tmux and not have them take up any screen real estate when you're not using them. :)


I like terminal based music players when I’m doing work exactly because the terminal already feels like work, so it doesn’t feel as much like Tidal or Bandcamp or SoundCloud are open in the background and something I could get distracted by. For keeping it out of sight, tmux or any terminal multiplexer is great at that.


Is there one that works with Soundcloud and Spotify?


There are multiple terminal-based Spotify players, with the caveat that you need a paid Spotify account to use them (because they're incapable of playing ads)


I find ncmpcpp (a terminal-based controller for the excellent mpd) great for being able to quickly and easily navigate through my music library and add/remove/edit tracks from playlists. Then I minimise it, and launch Cantata which I immediately minimize, and I thereafter just interact via the Cantata interface in the systemtray (or via kdeconnect on my phone), until I need to do something more involved than play/pause or switch tracks, and then I un-minimize ncmpcpp, quickly find new tracks or whatever, minimize it and so on and so forth.


I put my terminal based music player (cmus) in a Quake-style drop-down terminal (Yakuake). It's easy to access, doesn't add any clutter, works with ReplayGain, and it works with media keys.


I use mpd/ncmpcpp and couldn’t be happier.

It’s lightweight, responsive, and makes me feel like I have much more control over my music.

I have it always open in the corner of my sceeen with a tiling window manager.


That is how my setup works in the terminal. MPD (music player daemon) runs from the start in the background and I can start ncmpcpp in the terminal to choose a album/playlist and then I can close it again or leave it on a different workspace.

Play Pause etc. just work without the terminal. The biggest advantage in comparison most graphical players for me is that there is no startup time. If I want to play a song I can do so immediately and even without leaving the terminal I am currently working in.


The tiling window manager equivalent would be to put it off in a high-numbered workspace, or alternatively, in a detached screen/tmux session.


For me, no screen real estate is wasted. I keep about 40 tabs open in Konsole at all times, and if I'm not actively on a tab, I don't see it.

I'm so used to playing all of my media with mpv that using any kind of GUI app would feel like sludging through molasses.


I usually run 2 konsole windows with several tabs in them. One is for git, building, packaging, etc, and the other is for random tasks on the side, and in a second tab there is mplayer playing some internet radio.

It's less clutter IMHO. But i don't use tiling wm.


You just need a bigger monitor. I hooked a 4k 42 inch LCD to my laptop and for the first time ever I had visible desktop space


This works really well if you have excellent eyesight or if the screen is curved but so have to physically move sideways to see different windows with this size screen. It’s a good problem to have, of course!


mpd is the single best music player for what you're describing. You can choose how you want to interact with it. And if you can't find an implementation you like, the API is simple enough you can write something yourself.


Even better, you don't have to 'choose' - in the sense that you can simultaneously connect to mpd via different interfaces (in this same thread I mention how I use ncmpcpp for some things, and cantata for other things).


Command line interfaces can be put in the background just as easily as any GUI.


I run mplayer up in it's own rxvt


> Recently I’ve just found myself disenchanted with Apple in a way similar to how I felt maybe twelve years earlier with Microsoft, when I switched to Linux the first time.

This is exactly why I've been switching back to Linux everywhere, including laptops. Apple has done a pretty good job recreating the modern Windows experience.


Same thing happened to me. I chose a top-end Pixelbook that runs Debian in a container (termed "Crostini" on chromebooks). I've had some issues, but Crostini continues to improve with every chromeos release, and I really like the hardware.


I feel like I'd be much more open to Linux if I spent most of my time in emacs, but since I've spent like 8 minutes in emacs and about 14hrs in vim and have very little desire to increase either of those numbers, it only takes a small dose of Linux to re-enchant myself with Apple.


How in the world did you come to that conclusion?

I run arch with gnome 3, chromium (+chrome), and vs code as my main dev machine.

No emacs or vim required. No text only interfaces. No terminals unless you open it yourself (In which case it's running powerline with git addons and is still a very nice visual experience)

Gnome 3 with dash to dock is basically a drop in replacement for the osx style desktop. It just works.

Better yet, I'm free to get a better-than-osx experience on any hardware I want (and I REALLY don't want to the new macbook pros - I'm stuck on one at work and it's... bad).

Between work, gaming, personal projects - I'm running osx, win 10, and Arch. They all stay synched with dropbox and google drive. I get unix style terminals/shell everywhere (cmder/conemu for win10), and life is generally lovely.

Of the three, I prefer Arch, then Win 10. Osx is last by a mile. I think apple has a flakey os, and their hardware is rapidly moving in a direction that doesn't suite professional needs.


One can certainly use Linux set up in such a way as to be very similar to a Mac experience. (ElementaryOS seems to me intentionally be Mac-like, for instance. But plenty of other distros are also set up in such a way that the user doesn't have to ever open a terminal if they don't want to.)

There's no rule that you ever have to open either emacs or vim on Linux (though, personally I think you're missing out if you've only spent 8 minutes in emacs, but that's beside the point). In fact, you can just not install either emacs or vim, and thus make certain you don't ever open them by accident.


I recently updated my Linux desktop at home; I tried a variety of live distros - I don't recall if Elementary was one of them - it might have been in there.

The one I ended up using had the Budgie desktop, which I found to be the most "Mac-like" of all the experiences. The distro I used was Ubuntu Budgie, because I wanted the Debian and Ubuntu software ecosystem, but Budgie is a part of the Solus Linux project (which I enjoyed when I tried it, but I didn't like the package system).

So give Solus and/or Ubuntu Budgie a try on a live USB thumbdrive sometime; you might enjoy it, if you are looking for a "more Mac-like" experience...


It's been a while since I've tried Budgie, but I recall it reminded me vaguely of Android in fact.

But, in any case, yes, there are plenty of Linux front-ends which can be 'Mac-like' if you like that sort of thing.


I'm not about to tell people which platforms they should run - each to their own and all that - but I do feel it's worth mentioning there's no need to use emacs nor vim on Linux if you didn't want to.


and on the flip-side to that, the versions available for Windows and Mac are both perfectly serviceable so you may still run the risk of being confronted with them even if you don't switch!


Why do you insist on using Emacs? Also why do you switch to VIM? I feel I'm missing context.


I’m not following how either of those portable editors tip the scale. Enlighten me?


It seems like there is a mindset in people I've run across that makes them especially willing to use Linux and also emacs (vim to a lesser extent, and other command line programs. I mentioned emacs because that's what the guy jumps to in the article). More of their interaction with their computer takes place inside their head whereas I need the computer to represent things more visually. And since emacs (and vim) work on lots of OSes, they can jump right in on any of them and feel at home, while I feel like I'm trying to eat with chopsticks while wearing boxing gloves.


Well, some of us love programming, so I'm not surprised if we're in editors all day, others might be maintainers of open source / Linux projects. But there's a huge amount of users who use it like they would Mac or Windows, I am one of them, I also use both OS' I overall prefer Linux for some things since it puts me in the heart of the platform I would normally deploy production code to and it just feels right, something about being able to take apart any part of my OS feels awesome and hacker friendly, even if I never take it all apart, I know I can.

Same reason I keep Android around, now someone will say it's proprietary blah blah, but I can root my phone and install anything I want on it.

Since I've used Linux there was always a Linux gaming community for example, doubt they spend centuries on VIM or Emacs. Also remembering all the crazy Desktop Environment eye candy from the 2000's like the desktop cube, and the self-incinerating window when you'd close it. Linux just made you feel so damn cool at the fact you could have things that just did all these insanely awesome things!


I spend most of my time in Emacs even when work makes me use a Mac.

Linux has KDE Plasma.


Run VSCode?


You can run a myriad of different editors in linux. Probably the same ones you're used to in OSX, baring x code.


I use vim, on a System76 Linux laptop, and it does not seem an obstacle.


I recently switcher from a Lemur to the new MB pro. I'm a vim user so whenever I code I use an external keyboard that has function keys. I seriously miss my i3 setup and my MB in particular had hardware problems (overheating, video card issues). What I didn't like about the Lemur was the battery (life, didn't hold charge for too long), the screen and the touch pad. For anyone that used Librem, how's the battery and touchpad ?


Did you use tlp or any power tool on linux?


Why? You can change nearly everything to use vim keybindings.


(That color theme is... not for me.)

I long for the Linux prairies of old, but I've grown fat and lazy on OSX. Linux is a youngster's game.

Apple got it wrong in 2016 but there are signs that we might have passed "iPhone peak"... maybe they will be forced to pay attention again to us old farts.


Yeah, I loved linux but I'm fat and lazy on OSX. I don't want to be sucked into the rabbit hole of being able to configure and tweak everything, and never quite feeling like I found the greenest pastures.


I've installed Ubuntu 18.10 on my Dell laptop, and I've done no configuring/tweaking that you describe. Just the default install, changed maybe one or two settings in ubuntu's version of "System Preferences", installed my Firefox extensions, changed the desktop background. You don't need to do any configuring/tweaking if you don't want to. Everything works.


Turns out that fat/lazy also applies to Linux. Meaning I used to also try to optimize the heck out of my linux install. Went back to Linux from OSX last year, and was perfectly fine adjusting my workflow to suit my new machine, rather than trying to make my machine suit my ideal workflow.

What this means is that I installed a base ubuntu system with awesomewm and just used it mostly stock. I already had awesomewm experience from 5+ years prior, but for the first month of moving back to Linux I was also perfectly happy chugging along with gnome.

What I am saying is give it a try. Only time I miss OSX now is when I need to sign a PDF.


I've used xournal in the past for signing pdfs on linux.


> I long for the Linux prairies of old, but I've grown fat and lazy on OSX. Linux is a youngster's game.

45 years old here and still rocking Linux (does that qualify as "old" - probably - sigh). Started playing with it in 1995 (MonkeyLinux on DOS!); haven't stopped.

Stuff's gotten dirt-simple compared to what I remember having to do in the past. Certainly no kernel recompiles needed any longer (but if you really wanted to, you can do them).

Have I gotten "fat and lazy"? Yep - just on Linux. I can't see that changing in the future, either...


Is Linux that popular with youngsters after they've left university? When I think about laptop Linux users it's the archetypical greasy bearded GNU'er [1] that springs to mind...

[1]: https://www.youtube.com/watch?v=I25UeVXrEHQ


Gloria Gaynor [0] couldn't have put it better ;-)

[0] https://www.youtube.com/watch?v=gYkACVDFmeg


It's a plan 9 theme. The pastels grow on you, they're very easy on the eyes.


I so wish the Linux community would get its act together and implement a working usable clipboard. It's the one thing I miss the most whenever I switch from Mac OS to Linux.

On a Mac, you can cut/copy/paste using predictable keystrokes in any application, anywhere. And there is a single clipboard. On Linux, you have to deal with a multitude of behaviors (middle mouse button, Ctrl-C, others, and does it paste where the cursor is or do you have to click the middle mouse button exactly where you want stuff pasted, etc).

And I'm not even talking about multiple media types: all I need is plaintext.

The second dream wish would be for consistent keybindings in all text input boxes, like in Mac OS. Such as make Ctrl-A always go to the beginning of line, Ctrl-E always to the end, and Ctrl-K always kill whatever is in there.

If I had that, I think I could use Linux without getting annoyed every couple of minutes. I would still miss apps like TextExpander, flawless drag&drop, and lots of other things, but I could at least use it without frustration.

Unfortunately, none of this is likely to happen. If you wonder why, it's enough to look at the responses that will surely land here:


It won't happen because Linux users like it the way it is. It is consistent, it's just not the way you want it to be. I love middle click paste. It makes sense that it doesn't follow the text cursor because the mouse is separate and this adds extra flexibility. Ctrl+A should select everything and put the cursor at the end.

Actually, in some apps the cursor disappears and in some the cursor goes to the end, but the behavior of what happens when text is selected is always the same.


X's copy/paste behavior was meant to be used in conjunction with the secondary selection which is seldom used these days as most modern toolkits don't expose support for it.


Linux needs a preference layer between keyboard and app.


This already exists in desktop environments. Of course, not all desktop environments have the same features. I know KDE Plasma has this. It can't work with all apps though, for the same reasons that MacOS and Windows can't have a feature like this that works with all apps. That is, unless you want to translate keystrokes into other keystrokes on a per app basis.


What's a "middle click"?


A way to insert X11's "clipboard" buffer (i.e text that is currently selected text).

I agree with GP: I find the two separate copy-paste methods very useful and wouldn't want to see them merged. Users who aren't aware of one of the aren't affected, and those who are get an extra buffer to use.


Clicking with the middle mouse button - nowadays, it's typically a clickable scroll-wheel, but it used to be a plain button between left and right mouse buttons back in the day.


After mice had mostly standardized on two buttons but scroll wheels didn't exist yet, it was common to map a simultaneous click of both mouse buttons to simulate a middle click.


Assumes a three-button mouse:

http://ecx.images-amazon.com/images/I/513VKV7DZBL.gif

Usually a scroll wheel, now.


Just as a nitpick: communities can (almost) never "get its act together", as they are comprised of people with different preferences who do not want to abandon their preferences for some abstract common good.

On a more substantive note (globally consistent actions from keystrokes). It would be great, but not going to happen because there are established modes where the same keystrokes lead to well known results. And those actions are different depending on the application. Maybe it would be good if this was not the case, but that ship has sailed a long time ago. MacOS is in sync because its BDFL (Apple) forces it to.

Example: Ctrl-Z. In a terminal, it suspends a process. In most GUI editors it performs undo. Shall we force a global standard? I would pay to watch a user get its editor suspended when he presses Ctrl-Z to undo a typo. Did the program crash? Let me start it again ... what does it mean it is already running?? Where are my edits??? I'll just reboot the machine!

So agreed, global synchronizations that would force this to happen are unlikely. Fortunately. My 2c.


> Just as a nitpick: communities can (almost) never "get its act together", as they are comprised of people with different preferences who do not want to abandon their preferences for some abstract common good.

That seems to be a defining characteristic of Linux communities, anyway. Not sure how you can say "all" communities are like that.

> Example: Ctrl-Z. In a terminal, it suspends a process. In most GUI editors it performs undo. Shall we force a global standard?

Haiku uses Alt instead of Ctrl for shortcuts (similar to macOS and the Cmd key), so Alt+Z does undo and Ctrl+Z suspends a process, both in the Terminal. (If you want to use Windows-style keybindings, then it's the reverse, of course.)


There's also complication that there's more than one standard. It's the same reason that emacs doesn't use conventional shortcuts even when it's running in a GUI: it's been using its current conventions since before the invention of the conventions that are now more popular. Similarly, if we just want to go by "preexisting standards" then really it's those newfangled applications that have hijacked ctrl-z to do anything other than suspending a process that are to blame.


> it's those newfangled applications that have hijacked ctrl-z

Yes. Windows botched this by hijacking the Control key, and the desktop-Linux crowd are unable to do anything but imitate Windows. Pre-Linux GUIs didn't have this problem, and MacOS doesn't have this problem.


How hard would it be to adapt a linux distro to have separate keys for control/command (a la MacOS). This is my single biggest blocker against using Linux as my daily driver - not having consistent keybaord shortcuts that avoid collision with terminal interrupts.


I think a KDE-based system could do it with modest effort. There's a flag deep in QT somewhere, enabled on Mac builds, that makes all the ‘Ctrl’ shortcuts default to ‘Command’ instead, and it would go a long way if that were a user-selectable option.


GTK uses CSS files. It even has files for Emacs and macOS shortcuts.


Actually, one thing which drives me to distraction is Emacs making C-Z a shortcut for minimising the window when using the GUI version. It's not a shell!!

It certainly makes sense when running inside a terminal. But when it's an X11 application, it makes me angry everytime I fumble C-X and it interrupts my workflow.


They said text input, not process control.

It would be nice to have a universal "pause" shortcut in GUI apps. Why would it instantly hide the app?

Would you pay to watch someone kill a process when they meant to copy text?


If you pretend that the "middle mouse button" clipboard doesn't exist (it is a feature that many are not even aware of) you then using the the regular one instead is a piece of cake. In Linux, all applications use Ctrl+C and Ctrl+V. The exception is inside the terminal, where you need to use Ctrl+Shift+C and Ctrl+Shift+V (due Ctrl+C already having a meaning there).


I spend somewhere around 30% of the time in a terminal, and the remainder outside of it. I am a former mac user, and after a year and a half the Ctrl+Shift+C thing still drives me mad.

Shortcuts are just better on the OSX side of the fence (not perfect, but way better). IMHO, global actions (copy, paste, select all, cut, undo, redo, etc.) should be mapped to one modifier (say AltGr) and local actions to another (say Ctrl). The most important part of this scheme would be that "global modifier + key" has an unsurprising result that is consistent system-wide. Then "local modifier + something, or modifier1 + modifier2 + something" can do whatever the app wants. This would improve things immensely IMHO...


> the Ctrl+Shift+C thing

I don't know about others, but with terminator[0] I'm able to map Ctrl+C to copy - but if nothing is selected, then ^C works as normal. Is that what you're looking for?

0: https://gnometerminator.blogspot.com/p/introduction.html


In GNOME Terminal you can go to the keyboard shortcut settings and rebind ctrl+C to copy and ctrl+V to paste. If you do so, then you can use Ctrl+Shift+C and Ctrl+Shift+V to do ^C and ^V. Not quite that "selection aware" behavior, but close enough.

From the terminal's point of view, Ctrl+C and Ctrl+Shift+C do the same thing. The only reason you can't usually use Ctrl+Shift+C is that by default that combination is intercepted by gnome-terminal to mean "copy".

(I wouldn't be surprised if other emulators with configurable keyboard shortcuts let you do a similar thing).


If we made Linux more similar to Mac like that then we would alienate everyone else who grew up used to Windows-style Ctrl+C shortcuts (which traces its origins back to the original Xerox PARC GUIs).

(If the terminal's Ctrl+Shift+C really bothers you, many terminal emulators allow you to rebind it to Ctrl+C)


This is my experience too.


Ironically the "consistent keybinding" you mention are emacs keybindings. On linux you basically have 3 common bindings: emacs, vim and cua.

One piece of advice: In your clipboard manager you can check a box to sync the middle click and ctrl+c buffers, if you want a single clipboard.


On MacOS the keybindings are configurable via DefaultKeyBindings.dict file. Emacs by default, but I use Vim like key maps. Most important, these settings propagate to all 3rd party apps that use the built-in text UI components. You simply need to restart the app, not the whole system. It’s very powerful.


There are clipboard applications which will pull everything into a single clipboard. KDE Plasma, for instance, has a great built-in clipboard which does this and which also handles at least images as well.

> The second dream wish would be for consistent keybindings in all text input boxes, like in Mac OS. Such as make Ctrl-A always go to the beginning of line, Ctrl-E always to the end, and Ctrl-K always kill whatever is in there.

For this, you should really just run Emacs. But this isn't a Linux issue really, but a more general 'problem' of competing conventions (Emacs, vi, CUA, etc.) for keyboard shortcuts.


The issue is that on a Mac, the conventions work in (almost) any app, in any text entry area, and it's frustrating to not have that work. For example, Excel violates this convention for formula editing, and it's really grating to edit using only left, right and backspace. Probably MS has their own conventions, but I don't use Excel enough to learn them. Command line apps and things like MacVim are obviously a different story.

The controls are actually a little strange, because they aren't well documented or discoverable, and don't seem to be configurable, unlike most other shortcuts.


I do agree that it's frustrating not to have this functionality everywhere. (One minor trick to make some of it a little less painful is that in CUA mode [i.e. MS mode], for Control-A, Control-E, you can type Control-A (=select all) and then Left to jump to the left edge, and Control-A and then Right to jump to the right of a text box).


It's a NEXTSTEP legacy. Any MacOS application that uses the standard UI text field classes (NSText, NSTextView, etc) will get the emacs-like key shortcut behaviors.

The NS prefix on those classes means "NEXTSTEP"

Microsoft Office probably implements its own text box classes so it's different.


Amusingly, at least in certain Emacs libraries (e.g. `frame.el`), `'ns` is also used to indicate macOS.


> I so wish the Linux community would get its act together and implement a....

The Linux communities are full of volunteers. It seems like their act is actually quite together! There is no 'buyer' to make demands with their dollar. Only there is a developer who one day decides they want a feature.


The Linux community also includes Red Hat and Canonical.


> I so wish the Linux community would get its act together and

Be the change you want to see in the world. Open source developers are volunteers scratching their own itches, working on their own time. I wish someone would come build me a house for free too, and if they did I'd be hard pressed to complain about the number of windows.


But you might be inclined to complain about the leaking roof, the Escher-esq plumbing, or that the appliances only come in diy-kits with half the parts missing.

The thing about Linux is, there's all these evangelists out there who insist that everyone should use Linux (or that they are superior to you for doing so) and, when you tell them why you don't, insisting your preferences are wrong, your workflow is wrong, it works for them so you're a liar, or you should fix it yourself.

If it weren't for those people, I think the attitude towards Linux would be more like it is towards Haiku. No one really complains about it, they just don't use it.


I suppose you could use your window manager to bind super+[xcv] to your favorite clipboard program.

Personally, I love that all the software I have used in Linux does nothing to encroach on my super+* keybindings.

I also love having a secondary clipboard that feels more permanent (ctrl+xcv), while having a quick and dirty one (select middle-click)


Oh, don't even get me started on keybindings. There isn't even a good way of setting them up anymore, because there are multiple layers and systems that deal with keyboard events. It used to be that you could get reasonably far with xmodmap, but that is no longer true. And good luck trying to get expansion functionality (e.g. a keystroke that generates several keystrokes).

Also, some context before I get flamed for being a newbie: I've used Linux since before 1.0 (that's 1993). My usual working keyboard setup pretty much requires a Super key and a Hyper is quite helpful, too.


I like using autocutsel to manage the clipboards.

Description: Autocutsel tracks changes in the server's cutbuffer and CLIPBOARD selection. When the CLIPBOARD is changed, it updates the cutbuffer. When the cutbuffer is changed, it owns the CLIPBOARD selection. The cutbuffer and CLIPBOARD selection are always synchronized.

With this, I can highlight text (which is an implicit "copy") or use CTRL-C and paste with middle-click or CTRL-V (or in emacs, CTRL-Y) and it all works.

The only weirdness is in Google Docs, which seems to hijack CTRL-C, CTRL-V, etc. for its own handling.


I swap left Alt and left Ctrl because my ancient "Mac" muscle memory expects a Control key and Command key in those places. I actually swapped the physical keys on the PC keyboard as well.

  alias x='/usr/bin/setxkbmap -option ctrl:swap_lalt_lctl'
That makes most Linux software consistent with Mac Command keys. I still need to use Alt-Tab where I expect Command-Tab (control-tab) to switch to the next Application window because Autokey doesn't seem to be able to override this.

I installed Autokey and have keys assigned for Terminal. So for instance: pressing <alt>+c sends a <ctrl>+c, and pressing <ctrl>+c sends <shift>+<ctrl>+c. I have pretty much all of the alt keys assigned to send control keys, and all of Command keys (control keys) to do what I expect: Close ^w, Copy ^c, Find Next ^g, Find ^f, New ^n, Paste ^v, Select All ^a.


> On a Mac, you can cut/copy/paste using predictable keystrokes in any application, anywhere

Interesting, because Linux is my daily driver, and when I borrow my spouse's MacBook one of the things I get tripped up on is some programs seem to use Ctrl+C/V and other programs use Command+C/V for copying/pasting


All Mac apps use the Command (⌘) key for copy/paste.

I've never encountered an app that uses Ctrl. A developer would really have to go out of their way to accomplish this in their app, since the copy/paste menus are provided by Cocoa; the keyboard shortcuts are essentially built into the OS.


Actually I was misremembering. I was thinking of the Terminal app and having to use Ctrl+A/E to go to beginning/end of line. But jumping words uses Alt+arrow keys. And copy/paste is Cmd+C/V. I find the mixing of the modifier keys really unintuitive as a Mac noob.


Unless they're X11 apps, those use whatever they feel like.


Of course — the same can be said for terminal programs or Windows apps run via virtualization. Those are not "Mac apps".


But at this point the situation is the same as on linux. I've never encountered anything on linux that didn't use ctrl-c for copy other than terminal apps.


The situation on macOS is that you can copy text from Terminal the same way you copy text from Safari. You can edit text in iTunes the same way you edit text in your shell.


Sure. So each platform has different exceptions, but my point was they both have exceptions. The terminal is an exception on linux, but not on macOS. Other apps are apparently exceptions on MacOS, but those same ones probably aren't exceptions on Linux. The exact apps are different but the overall situation is the same.


Using a terminal on Linux is common. Using X11 on macOS is not.


so what is a "Mac app"?


A GUI program that uses native APIs to display windows and menus.


Interesting, I don't know a single program on OS X which supports Ctrl+C/V for copy&paste but does not support Command+C/V (indeed, I know only a tiny set of programs that support Ctrl-C/V at all, mostly cross platform software that is badly adapted to OS X).

Out of curiosity, could you name an example or two?


Actually I was misremembering. I was thinking of the Terminal app and having to use Ctrl+A/E to go to beginning/end of line. But jumping words uses Alt+arrow keys. And copy/paste is Cmd+C/V. I find the mixing of the modifier keys really unintuitive as a Mac noob.


One example I’ve found is the trading software for Interactive Brokers. It’s a Java application with mostly custom (and fairly clunky) UI, and it has other Windows-isms like adding an icon to the desktop when you install it.


Wait what?

What programs are you using that use Ctrl for clipboard actions? Do they also allow their Cmd equivalents, or are they just using the wrong keys?


I've only see this in parallels when using a windows application.

So if you have windows office because it has traditionally been better than the one offered to mac you'd have to remember to use control instead of command.


VMware Fusion even translates the macOS shortcuts.


inkscape

(runs under x11, does not support cmd-c/v)


As far as I remember, Terminal, iTerm2.


Just double checked — neither iTerm not Terminal allow the Ctrl modifier for clipboard operations. In fact, terminal applications are _precisely_ the applications I use to argue that Cmd-X/C/V is overall nicer, as they don't interfere with the usual meaning of the Ctrl modifier as a way to produce control characters (which are especially useful in the context of a terminal)


Hm, perhaps you're right, it was some time ago I used a Mac, sorry for the confusion. There was something with Emacs also which was weird on the mac with modifier keys but I don't exactly remember what.


Ctrl would be an artifact of a port from another platform because Ctrl is closer to a Meta key on a Mac (Option is closest to Alt from a PC though). Command is the generally accepted one though. I can’t think of anything that uses Ctrl-based stuff on a Mac besides possibly IntelliJ and that’s only with PC compatibility keybinds enabled.


middle button paste works almost everywhere, apart from when webdevs do clever things.

as for consistent keybindings, I feel you on that. However your example is a bit flawed. home/end keys do what you want, and ctrl left/right does word skipping.


I used to be irritated by middle-click paste as well. That stopped when I had someone explain it to me as follows:

> It’s just another clipboard. One clipboard is interfaced via the keyboard. One clipboard is interfaced via the mouse.

Perhaps that’s common knowledge, but that understanding made me instantly fall in love with middle-click paste.

In most terminal emulators, Ctrl-C deviates from normal behavior in favor of sending SIGINT. However, some terminal emulators (e.g. the one in elementary OS) makes the simple decision that if text is highlighted, copy it. Otherwise, send SIGINT. That closes all loose ends for me.


Honestly, I hate middle-click paste and would much rather use the middle mouse button for autoscroll.

Middle-click paste has just made me terrified of ever pressing the middle mouse button for fear of sending PII to somebody.


>I so wish the Linux community would get its act together

That's needlessly rude.


No it's not. From his standpoint, the clipboard situation is broken. It's reasonable to state his viewpoint. Especially given that he's addressing a large community and not a small set of individuals, it's borderline absurd that someone would take personal offense at his statement.

It's unreasonable to expect that criticisms be phrased politically to avoid stepping on oversensitive toes.


I'm not saying asking for a different clipboard situation is unreasonable, I'm saying the phrasing is rude. Telling someone or someones to get their act together is saying they're incompetent or ineffective. It's needless because most of these someones have no financial interest in winning this poster as a user but the poster phrases it as if failing to do so is failing to be competent.

>It's unreasonable to expect that criticisms be phrased politically to avoid stepping on oversensitive toes.

If you mean politely then no, it's not unreasonable to phrase criticisms rudely. It's unreasonable to phrase them rudely and then expect the recipient to do anything about it.

edit: Also, I said _needlessly_ rude. Are you saying the poster needs to be rude?


I’m saying your interpretation of “rude” is overly sensitive.

If I say “The USA needs to get its act together and fix its broken immigration system”, I don’t see this as particularly rude. By criticizing the immigration system, I’m already saying that it’s fucked up. The fact that I use the phrase “get it together” is irrelevant to both tone and content.

And again, the subject is a large group. The idea that particular individuals should take offense at such a mild blanket statement feels kind of ridiculous.


If I needed something from someone or a group at work and I told them to 'get their act together' and do it, I don't think I'd get what I want. And they're paid to work with me.

People don't talk like this in real life.


If you go to an individual and tell them they need to “get their act together”, you’re being confrontational. If you make an equivalent statement about a group of people referred to as a third party, it’s not nearly as confrontational. Do you really not see the difference between these?

You probably don’t feel bad saying something like “McDonald’s burgers suck”, but if you tell someone who invited you to a cook-out that their burger sucks, you’re an asshole. Context and audience matter.

And people very much do talk like this is real life. People who understand context and audience can do so just fine.


gtk supports emacs style bindings. Put `gtk-key-theme-name = Emacs` under `[Settings]` in ~/.config/gtk-3.0/settings.ini. Doing `gsettings set org.gnome.desktop.interface gtk-key-theme "Emacs"` might help too. That will work in firefox/chrome too.


Haiku uses home/end to jump to beginning/end of line like Windows/Linux does, but you can rebind those keys.

There is also only one clipboard, and none of the "primary paste buffer / selection buffer / etc." nonsense, either.

So ... the dream is alive on Haiku, anyway. :)


I agree in whole, but

> On a Mac .. there is a single clipboard.

There are 3 clipboards, at least. Cmd-C/Cmd-V most everywhere, Ctrl-K/Ctrl-U/Ctrl-Y in most text fields, and select/middle-click in Terminal.app. It's like having 3 hands, I find it works well.


Well, of course you can have consistent keybindings. You can define them yourself: https://github.com/mooz/xkeysnail


And the workarounds for multiple clipboards are SO painful. Disabling the extraneous ones is impossible and syncing them works until it DEFINITELY doesn't.

I've had better luck over on Wayland, thankfully


you can do that with xdotool if you want to paste the xbuffer. I suggest handling the shortcuts at the window manager level. this force ctrl-c to always do copy - even in the terminal, but nothing stty can't fix quickly - I use ctrl-x instead as it is close by.

end result, my ctrl c and ctrl v work as you would expect -- always!


There is wl-copy / wl-paste if you are using Wayland compositor.


I'm using xorg but very interested in Wayland. My main "fear" with wayland is that my scripts to properly handle things like a uniform copy/paste will stop working

Would you have some links? I am especially interested in ways to handle shortcuts like with autohotkey on Windows: a context dependent remap (ex: pressing a given physical key may send ctrl-tab in an application, but ctrl-pagedown in another if said other application doesn't support remapping shortcuts)


Handling shortcuts would be compositor specific. Unlike X, the display server part with Wayland is implemented by the compositors. Wayland itself is just the protocol.

KWin for example allows setting various global shortcuts: https://docs.kde.org/trunk5/en/kde-workspace/kcontrol/keys/i...

For wl-copy / wl-paste, see: https://github.com/bugaevc/wl-clipboard


Would you recommend a given compositor to have something close to LXDE or any other minimal window manager in xorg?

I'm thinking about starting with weston and moving to sway if it doesn't do the job


Sway is probably an interesting option to try, if you want something minimalistic.


Hooking up three monitors, 2 of which are 4k onto Ubuntu is the most frustrating thing I've done with that OS. It just works on OSX though.

Rough spots is a good way to describe it. Overall it works... But not without effort and competence.


Not exactly your experience, but using a single (non-4k) external monitor is slightly painful for me with my MBP. It sometimes takes ~10 seconds for my display to work after plugging it in, with lots of intermittent flickering as the OS "figures it out". And afterwards, the menu bar on the external is a bit glitchy looking on the right side until I click on it. With my other laptop running Fedora the experience is much faster/cleaner.

Not a big deal, but just thought I'd mention that macOS isn't exactly perfect when it comes to external monitors.


Apple introduced some issues in recent generations of hardware that I haven't heard many people talk about. A recent Macbook and Macbook Pro with USB-C using an Apple's USB-C to HDMI adapter had terrible connection issues for me. I did hear a few references online from others with the same issue. Using a 2009 and 2011 Thunderbolt to HDMI the same monitor worked fine.

I fixed the issue by using a USB-C to DisplayPort adapter made by a third party. I think that also allowed 4k at 60Hz. I later switched to a multi-port adapter with HDMI out and didn't have this problem.

This problem was horrible noise and loss of connection. People hate dongles for the convenience and price factor, but I think everyone underestimates how it introduces technical and compatibility issues.


The worst thing about dongles is that the shape of the connector is not the sole interface differentiator.

I plug in a display port to HDMI adapter to find that it's not the right kind of HDMI and therefore only does 30hz.


This is an area of macOS that's gotten slightly worse over the years. It used to work much better than that, even El Cap used to flicker only once.


The usb ports of the MBP delivers too little Wattage. Try having a hub with power. It solved my problems.


USB =/= MiniDisplayPort/Thunderbolt


That doesn't "Just work" on Windows 7 or 10, though, so not sure it's a failure on the part of Linux as much as a success on the part of macOS.


Anecdata incoming, multi-monitor on Win 10 works just fine for me. I've got 2 screens attached to my laptop and they're just fine, even with different scaling on each one.


Since there are counter-anecdotes, I'll throw in my supporting anecdote: I've had endless problems with multi-monitor on Windows 10. Especially if they're different display densities.

Windows that go out of bounds and are un-retrievable, permanently glitched window-content rendering when moving between densities, inaccurate mouse positions, desktops that resize to like 320x200 and then to the actual (shrinking every window and mashing all icons together, and breaking the notification area and status bar area in the process), I don't think I've ever had it work out-of-the-box even once on multiple machines and multiple monitors / projectors / etc. Some of this only occurs the first time it learns a new setup, but much of it just keeps happening randomly.

On macs for like the past 5+ years? Almost perfect behavior, for almost every OS version, except on apps that clearly do their own thing (e.g. IntelliJ sometimes shrinks to nothingness, and Steam is just hot garbage much of the time).


How does that fail? I've never had issues with multi-monitor, and they've always been 3 different resolutions (with one rotated 90). I'm not doubting you, as my current win10 install won't let me change the default JSON association away from visual studio and I can't find anyone else with that problem. I'm just curious what fails, since I haven't encountered problems with multi-monitor since XP.


I hate running multiple monitors in Windows 10. I was running 24" + 27" BenQ monitors (same model/specs, just diff sizes) and Windows would reboot and ignore both. On my laptop I would go into the display settings and try to turn them on and just get a "Failed to save settings" message. This usually resolved itself after a reboot or two.

I honestly got so tired of it I just invested in an Alienware 34" monitor. I haven't had the problem since.


I should add that while Ubuntu did not have this problem.. because the monitor configuration is apparently loaded post login screen I had other issues - like my login prompt being on the wrong monitor. Especially if I was using LUKS on my primary drive, but that one is a bit more obvious as to why.

*setup is an Alienware 15 laptop which supports dual monitor out for up to 3 active displays if including the laptop monitor


It does work though. X can't be configured with 2 different DPIs at all.


Are you sure?

http://wok.oblomov.eu/tecnologia/mixed-dpi-x11/

I can't say I've played around with it, but the above seems to indicate that such support is available - but that you might have issues with apps not supporting it (or reporting their DPI properly). There also might be problems with other layers above raw X (?) - but it seems like X itself does support it in some manner?

I once had X supporting two mice on dual monitors (this was a while back - I had a couple of CRT monitors at the time); seeing that made me think X could do almost anything I asked of it (depending on how I "asked").


Nope! Looks like I was wrong. I was never able to get it working on Gnome without the upscale/downscale workaround suggested in your link (resulting in terribly degraded image quality), but perhaps that is the fault of Gnome/GTK. It wouldn't have occurred to me that the fault could lie in any other layer than that which controls the resolution/DPI, but I'm certainly no expert on the Linux graphical stack.


I can boot my system into windows 10 right now and it all just works.


It sounds like you hit the point in Linux where this is painful: mixed DPI displays with mixed display scaling. Wayland fixes that. And soon, we'll finally have fractional scaling, too. GNOME is close to delivering that. So, it's getting better.


15" Laptop has a 1920x1080 display that's not quite hidpi. So I'm using layout.css.devPixelsPerPx value in about:config of 1.4, and in GNOME Settings > Accessibility, enable large text.

This does make things a bit too big on the 24" external display which has nearly the same resolution, but it's not distracting. Some websites I use CTRL-+ and CTRL-- to change the scaling, or rather fine tune it, depending on more than +-20% and the rendering gets wonky. Firefox seems to remember this per site even after a relaunch or reboot.

The biggest problem I have is Bluetooth, my mouse is always disconnecting on Linux, dozens of times per day, but the same laptop+mouse rebooted to Windows 10 - no problem.


My bluetooth mouse (logitec) works very well. Never disconnects. But it does fail to properly suspend. I need to switch the BT off to suspend, because it will automatically restart the system when it is connected. I haven't searched for a solution, I'm sure there is one involving /sys and a pre suspend hook etc.


Finally! When I was searching for solutions to this issue a couple of years ago one response was 'no one needs 4k displays' smh.


I've always heard these were fundamental problems because of how X is architected. Something like everything assumes the desktop is a single, contiguous grid. Everyone built tooling top of X and tried to mitigate the problems.

I thought it was odd when Apple got a lot of heat for not using X and writing their own thing. It sounds like Apple had evaluated X and determined it wouldn't fit their needs. The same thing happened when things like Wayland started getting written.


That's the best thing I've heard all week. Thank you!


Doesn't Wayland still rely on X for remoting?


>But not without effort and competence.

Which most people in this forum have plenty of. This isn't a post saying "Linux is ready for everyone on every laptop", it's that it works for this person using a pre-approved set of hardware, just as MacOS is apparently terrible on other hardware.


It certainly doesn't just work on my Macbook Pro. Sometimes only one monitor wakes up. Sometimes the touchbar wakes up but there's nothing on the laptop screen or external monitors. Sometimes when the lid is closed it never wakes up. Sometimes the OS forgets which monitor is which and I need to move the mouse off the left edge of my left monitor to get to the right edge of my right monitor.


Well, in my office, we have both OSX and Linux users and it's only the Linux users who can daisy chain our monitors using displayport MST!


> Hooking up three monitors...

My exact same problem! How did you solve it ?


I had a similar problem the last days. I have an Alienware 15 R3 with GTX 1070. Using Ubuntu 18.04 (LTS... kernel 4.15, I think) didn’t work, also the latest Manjaro (kernel 4.19) didn’t. Using Ubuntu 18.10 (Kernel 4.18) I was able to hook up 2x 4Ks (1x USB-C to HDMI and 1x Mini-DP to Display Port) and 1x QHD (1440p) via HDMI; I was also able to use the laptop screen (1080p). I think only the Mini-DP to DP is outputting at 60 Hz, the other 2 screens at 30 Hz. I think turning off Thunderbolt 3 on the USB-C port was possible in Ubuntu 18.10 which made the difference (I also read in a forum that this made a difference for someone else; but I couldn’t turn off Thunderbolt 3 in my BIOS).

I think in the latest kernel developments there have been lots of updates on USB-C and ports in general.

But that’s why I like Linux as well; it gives me the options to use different distributions and environments. It might be messy sometimes, but I’m not locked in to one vendor.


I've set this up before. How many video cards are you trying to use to connect these monitors? I've always had it just work if you are only using one card. In the past I've had to invoke xrandr with the --setprovideroutputsource flag (or was it --setprovideroffloadsink ?) to get multiple monitors to work with multiple video cards. Note, this only works with the open source drivers and you must be using an X server that supports randr 1.4.


This is most definitely selection bias, but it seems like there's something in the air at the moment with people jumping off the "mainstream tech" ship. Lots of talk of nostalgia for 90s internet culture, switching to Linux (I also switched to Linux (and Emacs!) after a decade+ on Mac), more secure/transparent tech with phones etc. More willingness to put up with "rough spots" and "less shiny" for greater access to things under-the-hood.

Is it just nostalgia? Global politics? Me hanging around other nerds who are also getting older? I dunno, but now computers seem more exciting than ever!

Ok, I gotta get back to IRC and browsing the internet on M-x eww...


> Is it just nostalgia?

Maybe. I think the Internet was pretty much an objectively better place in the 90s, but far more useful for "real world" things today.

For me it's pretty personal and to be completely honest immensely sad. Since I was 14 I've worked full time on this "Internet" stuff and like to think I've contributed my tiny slice of pushing the future forward (and at times, unfortunately the opposite!). I truly bought the dream that enabling decentralized communications would allow for far more human potential to be realized, and perhaps even bring down longstanding immoral power structures.

Nope. Unfortunately my life's work has been used to centralize control and engage in monopoly-like behaviour. Watching everyone hell-bent on moving to just a few central "cloud providers" is incredibly frustrating. This road leads to tears. Seeing that there are only really a half dozen "eyeball" ISPs in the US that matter is just as frustrating, and will harm us long-term.

Basically for me I'm sure it was some youthful optimism and passion, but it's really a lot like building a really cool robot and then seeing someone use that to go to war against people you love.

Trying to recreate those times won't work, it never does. My only hope is that in another decade or three the newer generation realizes we're back to where we were with the giant telecoms and fight back with another new black swan technology.


Looking back, I'm wondering how I could have ever expected anything else ... all this amazing and eye-wateringly expensive network infrastructure provided for free! On a more positive note however, I do believe the pendulum swings back. Sometimes you've just got to stand back and watch the mistakes be made. I think a lot of this fascination with retro tech is in part an attempt to find a safe-space to operate while waiting for it all to blow over .. kind of like the Magratheans [https://hitchhikers.fandom.com/wiki/Magrathea].


For me it's because the big tech companies (one of which I work at) are making everything way too complicated, gimmicky, and over-integrated for me.

I want a keyboard, not half a keyboard and a weird touch display that does nothing useful for me I want a directory that's synced to durable cloud-based storage, not a monolithic service product that tries to work its hooks into every corner of my computer(s) and digital life in general. I want software that writes data in common formats to a filesystem I can understand and interact with as such, rather than squirreling away my data somewhere application-specific that isn't replicated on my personally owned storage, in some unknown format that's probably locked down according to business concerns I shouldn't have to care about, and subject to some arbitrary TOS picked out of the massive constellation of TOSs we all have little practical choice but to be subject to. And so on.

The more time passes, the more consumer products seem to drift away from what I want. It's a shame because a lot of the hardware is really quite nice and technically capable of hosting my workloads, but the software makes me feel dirty when I use it and often just can't do what I need. I think there is a crazy emphasis on consuming rather than creating, and it hobbles so many products that could be great.

For instance, I bought my girlfriend an iPad Pro for Christmas and it's amazing, and I'm so fucking jealous. But it can't run a *nix terminal without a boatload of caveats, doesn't have a real accessible filesystem, and there are a million other little problems (like, I can't remap caps lock to control). So, as much potential as I think that form factor has for me, the product itself is useless because it's pretending it's not a general-purpose computing device.

Rant over, I guess. Ultimately I don't expect big companies to go out of their way to cater to users like me, but it's a constant disappointment.


Well said. I switched to an XPS-based Arch build for many of these reasons.

I think computers are generally too complicated for lay users. People tolerated the quirks because there was no alternative. Even on a Mac, which wouldn't suffer from the same hardware compatibility issues as a PC/Windows machine, users would still need to understand how to organize files, properly close applications, and avoid running/opening arbitrary programs/files from the internet. And that's if they could connect to the internet at all.

iOS and its ilk solved all of that. And in that moment, the number of people who needed to be exposed to all of that underlying complexity shrank considerably. There is most certainly something lost for those people, but at the end of the day, there is a cognitive cost to understanding how those pieces work, and I think the mass market has shifted away from implementations that require (or allow for) that visibility. I think that's fine, provided there are still hardware options available to the rest of us. :)


I agree with every word you said. Thank you for writing this!


I think it's that the mainstream stuff has just pushed too hard against usability for nerds.

I bought a laser cutter recently that requires internet access so they can use "the power of google cloud" to process vector files. Something computers have had NO problems with since he 90s.


my hunch is that the combo of education tools like youtube n stackoverflow and reddit etc has made the “simplified” aspects of many products less attractive. in many cases the products arent much simpler, but they are more effective at getting your money.


I resurrected a little NUC computer from a former employee. It has 16GB RAM and a 256GB SSD drive. It runs Ubuntu 18.10 fine. The display port runs my 4k monitor @ 60Hz.

I bought a USB bluetooth dongle and the smallest microphone I could find on the internet so I can use my old bluetooth mouse and do audio conference calls.

I am really loving it for Docker based development b/c it feels like it runs a lot faster.

I also love the Home, End PgUp and PgDn keys. Keyboard shortcuts are tough. As is muscle memory going back and forth.

My goal is to keep my macbook in my backpack and never take it out during the workday. On most days, that's what happens.


Keyboard shortcuts, and generally bad keyboard/mouse/trackpad options, are the only thing I miss about switching to Elementary OS. I really wish it was keyboard-equivalent to macOS.

I'm using a Microsoft all-in-one with a built-in trackpad and it's bearable but if my Apple hardware worked like this I would get it exchanged for being faulty lol.


I've been fantasizing about doing that myself. A couple of things that I could see being issues:

* We primarily use webex for conference calls internally (I believe there is a browser version for that now that would hopefully work on Linux) but I seem to also have apps installed for a half-dozen other conference apps that our partners might use.

* Printing and scanning (issues here were one of two reasons I went to Mac from Linux six years ago)

* Adobe products (InDesign in particular doesn't seem to have an acceptable alternative.)

For years I used Windows inside of a VM and/or remote desktop (the other reason I switched from Linux to Mac as the client seemed to keep getting worse with each version of Ubuntu) to handle working on Linux. Don't really want to go back to that but OSX feels like it is getting more sluggish and I miss the configurability of Linux. Still have it on a backup machine that is mostly used as a Plex Server and for playing Stardew Valley.


How do you like the NUC? I have been toying with the idea of buying a mini computer like that. I don't really want a full-size desktop tower, but I also don't really want to go the route of a laptop in a docking station.


I have a PC business on the side and I love selling people NUCs. Few or no moving parts to break, you can often mount them on the backs of monitors, performance has been good enough for ~4 years for 99% of desktop tasks. If not for the inexplicable price premium they'd be perfect for anyone except if you need a lot of storage, dedicated video, or expansion slots.


Yea, I was surprised how expensive they were. It seems like there should be cheaper options given how little laptops cost these days and them using basically laptop hardware from what I've read.


They are a fairly niche product. The only real demographic buying them in bulk from consumer outfits are small businesses without big contracts to HP / Dell, the one in a million informed tech "muggle" who knows how to install their own OS, and small IT shops that recognize how practical they are.

You can get some of them with a preinstall of Windows but because they aren't made by the big builders who stock Best Buy and Walmart shelves they don't often show up in front of consumers faces to buy, much like Linux desktops. But Dell / HP / etc have no real reason to risk their business investing in their own NUCs because theres nothing really competing with them in their spaces for that kind of hardware, and they already make the all in one computers that are about one notch too far up the "unmoddable" ladder for most of us to be content with.


Thanks for the super-informative replies. One of the nice things about HN is there is always someone that knows about some niche topic.


As someone who works on an older NUC all day, do yourself a favour a get the highest end one you can afford. The J5005 CPU is an absolute piece of shit. Otherwise they're fine computers if you don't care about graphics performance.


In fact I don't care about graphics performance. Thanks for the tip. Not sure if I'll ever actually go through with buying one, but seems like a neat idea anyway.


One of the big features Macs have for me is that I can call customer service any time of day and they can work through any serious issue I have with my Mac. I've only had to call a few times, but they were able to work out some pretty serious issues quickly each time. I think the longest I was on the phone was 1.5hrs to find out that my own IT dept had screwed up Casper settings that I couldn't fix.

For a work machine I don't really want to do that kind of debugging myself. I just want it to work. I've been running Linux at home for about a decade and usually have no issues, but when I do I'm not dead in the water with project deadline hanging over my head.


> One of the big features Macs have for me is that I can call customer service any time of day and they can work through any serious issue I have with my Mac

This is something else that often gets left out in these discussions. For better or worse, Apple offers an ecosystem/platform, and the support to go along with it.

Suppose you do make a Linux laptop work for your daily driver. You're still left out in the cold if you have an iPhone/iWatch/iPad.

The tight integration that's offered, along with the ubiquitous(and very useful) iCloud is something that Linux just doesn't have.

And yes, I am aware of the various flavors of self-hosted solutions, the dangers of lock-in etc...

If I've already been fighting to make my laptop functional for work, I don't want to start the same battle again for my hobbies too.


If you buy a business-class machine like a ThinkPad, you will get a modular and repairable machine with typically 3 years on-site support as standard, in most countries. This is not true with Apple. Apple machines are essentially unrepairable in the field and even with the expensive AppleCare option, you will likely lose possession of your machine for a significant amount of time.


With Apple, you can take it to any store and they'll diagnose it immediately. With business support (which isn't even expensive for individuals; it was $500/year when I had it) they'll give you a loaner on the spot.

If you've got backups, your downtime for a dead machine maybe a few hours.


I appreciate the convenience of such stores where they exist, but neither Ireland nor Norway has any apple stores. Only third-party resellers, none of which are nearly as good.


I had an issue with a MacBook pro in Ireland. A 15 minute call with support and they couriered a new one out to me the following day and picked up the old one. I signed into iCloud and Dropbox, and was back up an running in a few hours. Doesn't get muxh smoother than that.


Exactly. The majority of my office is on an HP contract. Something goes down, a tech comes in that day and fixes it. The nearest Apple store is an hour away, and someone would have to drive it.


A loaned machine would be useless to me if they cannot swap the SSD. I wouldn't even be able to connect it to our company network.


How is your company's network configured such that you need to physically swap the hard drive in order to connect? What happens if the hard drive dies?


For our VPN details, I would have to get my IT dept involved. My point is that machines often need a lot of additional software and configuration. If the world ran NixOS then perhaps a loan machine with "backups" would be almost as convenient as an SSD swap.


OS X has an incremental, automatic backup system built in called Time Machine, which works pretty well in my experience. You'd just restore your time machine backup to the loaner machine, which would restore the vpn credentials.


Time machine is really a consumer gadget, I'd be surprised if IT departments were deploying it within organisations. Crashplan would be more appropriate, but I'm not sure how smooth the restore would be. IMHO not having a swappable SSD really sucks.


In my experience, Time Machine is rock solid. I've backed up and restored many times onto new machines and the only thing that it doesn't handle well is Homebrew (or anything in /usr/local). I've had the same macOS installation for about ten years now.

Also, in my experience, Crashplan is a steaming pile of garbage. Are you verifying that your restores are checksum-accurate? Are you verifying that all files are present after a restore? Neither was true for me, and support were unable to help.


Apple online/phone tech support is fantastic, I've only used them a few times but they were knowledgeable, helpful and I got to talk to someone with 2 minutes every time so far. Apple stores are a godsend as well and have gone the extra mile even when the Mac in question has been out of warranty.


I've used both Linux and OSX for a long time, and what I've found is that while Linux breaks a little more often, I stand a much better chance of being able to fix it. When I google for a Linux problem, there's much more likely to be an answer that works on StackOverflow, while on OSX it often just leads me to the Apple support forums with dozens of people asking the same question and no real answer.

Similarly, while the little utility apps on OSX tended to be better written, on Linux if they didn't work quite the way I wanted there was usually a config file I could tweak that would make it better. On OSX I just had to either write an app myself (and I don't know XCode, ObjC or Swift) or hope that someone else would. And some things on OSX were just impossible. I find that a tiling window manager fits really well in my development flow, and while it can sorta be emulated with tools like Divvy and Alfred, I always found it to be more cumbersome than awesome or i3. But, Alfred is a way better launcher than anything I've found available on Linux.


I find that when I google Linux problems I'm much more likely to get dozens of answers, all of them wrong. They're for a different distro, or a different arrangement of the software stack, or out of date, or not actually answers (why would you want to do that?), or just plain wrong.

Theoretically it could be a lot better, if the documentation was better, the stack wasn't so maddeningly complicated, and there wasn't so much needless fragmentation.


Really? Whenever I'm googling a problem, I just prefix it with "Fedora" or "Ubuntu 18.04" or whatever I'm using, and most everything is relevant. Additionally, the Arch wiki is probably some of the best documentation out there, but I don't find it to hard to translate to either distro.


Actually I'll agree about Arch being pretty good documentation, at least by Linux Desktop standards.


I find that in the Gnome ecosystem, the apps will not have a config file that can be tweaked. Sometimes there will be an add-on or separate app the allows a tweak, but there's a concerted effort to remove options.


Many Gnome config files are binary to improve startup performance, but they can still be edited using the appropriate tool.


True, Gnome is nearly as un-customizable as OSX, but with even fewer add on apps to "fix" it. I find KDE to be a much better user experience out-of-the-box, and also more customizable and extendable.


Man, this is so weird.

I used Linux from 1996ish to 2017 and then just moved almost everything to Apple. I don’t remember the exact reason, but probably it had something to do with Wayland taking forever to stabilize, and the community starting to smell bad. And I’m happy, probably happier than before. Sure, Apple’s stuff isn’t perfect, but it’s way closer to it than any Linux combination I ever tried. The only thing I miss is i3, but turns out, not that much.

I hope my move didn’t jinx the whole platform...


I think finding something that works for you and fills your needs is exciting and people want to share their experience about it. The problem exist when people start to think what works for them will work for everyone and if you don't use X you're wrong. I want choice not necessarily change.


I've only been using GNU/Linux since around 2000. I started on Slackware 7, then I was on Red Hat for a while, had a Gentoo phase, and then Debian was my main choice for a long time, although I used Ubuntu on some computers...

When the first Intel MacBook came out I was 17 and bought one for all my savings. I thought it was really amazing to have a beautiful laptop running a polished desktop Unix-like. But I always had a stationary Debian computer too.

I never really liked GNOME or the other desktop environments. For most of the time I've just used Ratpoison (or stumpwm) with GNU Emacs and a few terminals. That way I feel way more efficient and less distracted; even on Mac OS I usually maximize everything into a separate workspace, or now occasionally use the new split-screen function.

Sometime right around when I started doing coding for a living, after university, I drifted away from GNU/Linux. I just used MacBooks and iPhones. Of course I still used GNU Emacs. But the Apple ecosystem was basically fine for my rather ambient computing needs at home. My workplaces used either Windows or Mac.

But then in 2015 I got my first GNU/Linux laptop and installed NixOS which I had used on some servers and fallen in love. NixOS pretty much reinvigorated my love for GNU/Linux, and I love it again.

I still have a bunch of Apple products. I treat them as separate lineages with different strengths and purposes. The NixOS machine is for serious hacking, and then I'm satisfied with letting the Macs handle photos, playing DRM movies, all kinds of random stuff. I use an iPhone and some Mac apps that sync with iOS, etc.

But my NixOS machines are awesome too, and they're the ones I really love — basically because of the freedom, in the FSF sense. I know they're not doing weird stuff behind my back, I know I can hack them freely, and I can configure them exactly like I want them.


Almost the same story, with some different dates, but I ditched my macs and am fully on NixOS.

I loved OSX and the stylish apps, but I noticed I was only using IntelliJ, iTerm and the browser most of the time. r/unixporn made me wishing Linux was a better fit for me, but I could not miss apps from Adobe or Affinity.

This was solved by setting up a vfio configuration, and now even the fanciest games run smoothly in my VM.

I still use an iPhone and iPad, but they are mostly for consumption, note taking and drawing.


To replace i3/xMonad on macOS try Amethyst which does tiling pretty well https://github.com/ianyh/Amethyst


This is a shameless plug, but if anyone wants a nudge toward Linux (Ubuntu), coming from Mac, I have a recent write up of things things that I personally gain by using Ubuntu over Mac. https://code.mradford.com/post/ubuntu-vs-mac/


Re: your article - there are no Thunderbolt monitors with an integrated GPU. There were rumors about this happening some day, but it hasn’t yet.

Also, your review omits battery life... Why? It’s one of the most important considerations.


That's interesting... my Macbook Air sometimes struggles by itself, but never has issues performance-wise (especially with docker and npm) when it's plugged in to the thunderbolt. Surely some kind of magic happens, but I guess it could just be happenstance, or my imagination.


Well written, but the last sentence kind of trails off. (Perhaps there was a homicidal bunny in the room.)


Ha, yeah, thanks. Updated. This article went through a lot of iterations so make it sound least rant-y, so I had a lot of botched copy-paste.


What screen resolutions do the Librems support? Their tech specs don't actually list the resolutions, just the graphic card and size of the display. That's, honestly, one of the main things holding me to my mac: I want the retina display.

That and the fact that all the PC hardware makers insist on offsetting the damned touchpad. Which, maybe it's just my preference, but I hate when they offset the damned touchpad.


Long term Mac user, currently with Macbook Pro.

It's Apple that offsets the damn touchpad. I don't want it central to the case, I want it central to the home keys (F and J) of the keyboard.

Apple centres with the case. Which is broken. There's more keys on the right side of a keyboard than the left (without a number pad), thanks to punctuation and brackets, so hands rest slightly left of case centre line.

Truth be told I'd prefer Apple fit a trackpoint, but that's never happening.


I have one of the old MacBook Pros where the homerow was centered on the case, and so was the touchpad. Which is exactly what I want.


So do I (2015).

There's roughly half a key of trackpad to the left of F, and roughly 1.5 to the right of J. For me that's mis-aligned with where my hands rest, even if both component blocks are neatly case centred for pretty and symmetric photos.

The moral of which is, I suppose, that personal preferences are hard to align. :)


It's 1920x1080 for both the Librem 13 & 15. You can find it by scrolling down to the side-by-side comparison on the following page:

https://puri.sm/products/

I'd definitely recommend the Dell XPS 13 if you're going to be paying that much. It has great linux support.


Unfortunately their 13" is only 1920x1080, a non-starter at a price that's about the same as a MacBook.


I have been happily running Debian (with xmonad) on a 13 inch Macbook with 16GB of memory and the retina display for almost five years now. The screen works great and I have had great success plugging into multiple external monitors including a recently purchased 3840x2160 monitor.

I think it might still dual boot into MacOS, but I don't think I have tested that for four years . . .


I very much like my Asus UX305C, with its 3200x1800 display. Works a treat in Linux, and is a beauty to behold.


Yes, the lopsided trackpad + main keys placement drives me bonkers… How do people use those laptops for extended periods? The way one’s arms are asymmetrical when typing on those laptops due to everything being pushed to the left is uncomfortable and annoying.


Yeah, offset touchpads are a big thumbs down. Basically just look for the models without dedicated numeric pads. Fortunately those don't typically start showing up until around 15" form factors.


I've been developing fulltime on Linux since 2014. I can't speak for the default distros/DEs, since I've been using i3 and sway the entire time. But it's been a fantastic development environment for me.

I recently watched one of my colleagues run a build on their macbook. Not a complicated build. A go binary compile and a docker image build. But it really struck me how slow it was. What takes 15 seconds on my underpowered linux workstation took 60+ seconds on their $2000 macbook. That's unacceptable to me.


I wish this post touched on some deeper reasons that the author was "disenchanted" with Apple. Having dabbled in tiling window managers, terminal music players, and many other /r/unixporn memes, this kind of infatuation with UI candy makes me think that the author's issues with Apple were only skin deep. Many of the things mentioned here (e.g., tiling WMs, emacs _REALLY?_) are not mutually exclusive with macOS.

I run GNU/Linux exclusively on my headless work machines, but I think moving to Linux on the laptop still makes you trade too much (battery life, system integration). I wonder if the author has realized that rebranded ODM hardware (Librem and System76) and a modern Macbook are unfortunately not in remotely the same league.

I DD'd a T420 with debian on it religiously throughout undergrad, and I'm not in a hurry to go back. (I do miss the keyboard sometimes though)


> I wish this post touched on some deeper reasons that the author was "disenchanted" with Apple.

It's mainly the feeling of ownership. Apple's apparently increasing hostility toward third-party upgrade-and-repair shops (see the whole "right to repair" issue) forces owners of their machines to use their support exclusively. I'd prefer to have more options for upgrading my hardware than buying a new machine. These decisions make sense for Apple but not for me. Maybe it's because they're still small but Purism hasn't set me up for this sort of antagonistic relationship.

There's also the increased sense of creativity with Linux. It feels a little bit like working with Legos. Because "unix philosophy" and such that other commenters feel are trivial wastes of time, I'm free to make the machine behave as I wish. And I like that.

Of course there are also superficial things. I don't like notifications that force a behavior, like being forced to opening System Preferences because the only button on the notification is "View". But it's also more than that.

> Having dabbled in tiling window managers, terminal music players, and many other /r/unixporn memes

I mean, if you want to demean things you don't like as "memes", that's your prerogative. But I don't use a tiling window manager or terminal music player to impress people. I use them because I like them---they're fast, the mental models make sense, they expose me to new/unfamiliar concepts, and I can customize them to suit me.

> Many of the things mentioned here (e.g., tiling WMs, emacs _REALLY?_) are not mutually exclusive with macOS.

True. I've been using emacs (yeah, really) on macOS for a decade. No complaints there.

> I wonder if the author has realized that rebranded ODM hardware (Librem and System76) and a modern Macbook are unfortunately not in remotely the same league.

The Librem 13 is easily the best-feeling laptop I've ever used.


My 2012 Retina Macbook was on its last legs. I was deeply uninspired by both the regressive functionality and excessive price of the of the latest generation of Macs. So after almost 15 years in the Mac ecosystem, I bid it adieu and got a Dell XPS 9560, with dual-boot Windows 10 and Ubuntu.

I'm regretting that now.

Ubuntu was a breeze for setting up development environments, but a nightmare in basically every other sense. Keyboard drivers misbehaving, randomly disabling system shortcuts in certain key applications (like Chrome). Mouse wheel working horribly and requiring many hours of hacking to fix. Fans spinning out of control in some kind of fight with the BIOS that I still haven't been able to win, after more than 20 hours of working on it. And you want to connect a second monitor with a different resolution than your primary? Fuck you, no. Just no. You absolutely, positively, cannot do that. I spent days following red herrings on forums before giving up.

On the Windows side of thing, it's much better. Most things Just Work -- except that getting the mouse wheel to work correctly is a 15-step registry-hacking process followed by a reboot[1], and this needs to be repeated each time Bluetooth forgets it knows this mouse -- which is every other day or so. Oh, and also, it's so difficult to set up as a development environment that my CTO has told me not to bother.

So, yeah, after a month, I'm having regrets. I still think that Apple is taking the piss, but after all the time and frustration I've sunk into Linux -- and, to a lesser extent, Windows -- the Apple Tax is beginning to look like relatively good value for money.

1: You think I'm exaggerating? Honestly I'm not: https://answers.microsoft.com/en-us/windows/forum/windows_10...


From someone that has been using linux as his main OS since 2003, I tried to switch to mac once (used for one year) and had to work with a mac for approx. 4 years.

As good as brew is, it is just not as good as having your distro package manager, I ran into so many issues using brew, every mac os upgrade was a pain to keep brew packages working. Then it came docker, what a bliss is to use docker on Linux, but on mac it is just cumbersome, specially because everything is inside that qcow image that only grows until you run out-of-disk. I know it was alleviated by some measures the docker team took to "fix" it, but still it is not as good as docker running on linux.

Nowadays I just buy a thinkpad, put Fedora on it and everything works as expected. Because all of the projects I work with use docker, performance wise it is so much faster than running it on mac os.


My 2011 Macbook has been hanging on and functioning well with some upgrades. When I do finally replace it, it will be with a linux laptop. I'm not interested in paying that ridiculous price for a computer that sacrifices functionality for aesthetics. I fully expect that there will be some trade offs in the "Just Works" category, but I've been using linux as the driver on my desktop for a while with few issues.


I'm about to switch to Linux from my 2010 MBP (which is still basically working) and my main motivation is exactly the fact that "Just Works" no longer applies to MacBooks.

My £2800 company MBP has half-broken USB-C ports, malfunctioning Touch Bar, various audio issues, and I can't use Blender to render on the GPU because of Apple's shitty outdated OpenGL. I could have two Linux laptops with better specs for the price of this piece of fancy aluminium, and a similar amount of bugs/broken stuff.


Same story here, ditched Apple. It's less the money, more the attitude. I have never liked their keyboards.

Gentoo dying semi-frequently became tedious, so I'm currently on NixOS despite issues. My perfect OS would be the power of a Gentoo-style build from source distro combined with a functional management layer performing versioned system snapshots out of the box (but allowing COW for easy additions, unlike NixOS) so you could combine the best of both worlds.

In the future I look forward to a detachable screen and hotels, offices and transportation with standardized secure wireless screencasting... and will someone replace the international mains power plugs with a new multi-voltage (DC on demand) standard already!


I've been running Linux (Ubuntu 18.04 with Gnome) on my Dell XPS 13 for a while now and its been working quite well. My biggest concern was mobility, like attaching it to different DPI monitors and have things work well still. With Gnome as my shell, it has been keeping up quite well with the expectations (except some programs not picking up changes right, e.g. IntelliJ).

I had moved off of OSX after the new gen of MacBookPros were unusable for me. I was using Windows + WSL for a while but eventually decided to give Linux a try. Things have been quite smooth really. Since most of my dev is around docker etc. it feels like home (not that OSX Docker experience was bad, Windows I can't say).


Good new take on the migrating to Linux articles. The PureOS setup is pretty cool.

I'm 2 years on pure Linux after about 10 years on Mac, so it definitely gets my endorsement as well. Haven't written up anything about it yet but the experience has been very smooth.


Can you recommend a write up that compares various flavours.

I like the notion of going Linux but frankly I have no love or will for the hiccups. I just want stuff to work.


I need to write one up. I tried a few for at least a couple of months at a time just to really commit to getting to know them.

Fedora, Ubuntu, Mint, Korora (Mint for Fedora) and a couple of others.

Mint was great. I ran it for about a year but then switched to Ubuntu after the 18.04 release that switched to Gnome 3. Ubuntu being the dominant installation tends to lead to better support from vendors, etc in my experience. YMMV.

I honestly don’t think you can go wrong with either. The biggest thing is going to be committing to push through any little quirks that might come up.

For example, I thought multi screen support didn’t work when I tried to use my apple DVI adapter. Turns out that apple uses a “passive” adapter that depends on software installed on the Mac to actually work. If you get an “active” adapter...everything works fine.

I also wasn’t thrilled with the Magic Mouse experience, so I ended up getting a different mouse that’s performed wonderfully.

Now that I’m far enough down the road I’ve started managing my configuration with Ansible so I have an easy way to just rebuild my install if I try something new. A lot of people do that too, it’s a good time.


If you want stuff to 'just work' and no surprises, period - Linux Mint.

If you want the very latest software versions, always, while maintaining most of the 'just works' but maybe a bit more bleeding edge go with a friendly rolling release distro like Manjaro.


I recently installed Pop!_OS from System 76 on a newly purchased thinkpad x1 extreme and it has been an absolute joy. Pop!_OS's lineage is up the Debian/Ubuntu branch but has a lot of features that make for a practical experience. You can easily switch between Nvidia and Intel embedded graphics for example.


There are still a few rough spots surrounding Docks, external monitors, and HiDPI (if you went 4k).

Additionally, I had to jump through a few more hoops in order to get Thermal Throttling under control, increase the battery life to a usable level, etc..

I'm sure that all these things will eventually get rolled in as more users get X1E's, but overall the Pop!_OS experience has been smooth for the Newness of the hardware


I have a hard time working on MacOS, so I use linux, but that's because I'm a developer.

I have a hard time doing simple things on linux so I use MacBook for my day-to-day things, but that's because I'm a human being.

Linux is great, MacOS is great, these posts who love to hate on one to love another aren't.


Since the government insists that it has the authority to violate the 4th Amendment whenever it feels like if I'm in a 100-mile vicinity of a border, I really want devices to have "reset switches" which reset the device to, if not a factory-default state, then a state of "just completed initial configuration without logging into any services."

Which is the state I now feel compelled to set my devices whenever I travel, and then restore from a remote backup when I reach my destination.


For me there are multiple issues that point toward Linux - Linux has gotten better - I have two older Macs, an iMac and a 2012 MacBook. The usability of MacOs on these is worse with every new version of the Mac OS - I have no confidence in new Apple hardware. They seem to be focused on customers who will buy things with a much higher cost to benefit ratio than I can afford. I have doubts that Apple will even continue to support Mac's. - Apple feels like the new Windows to me, and we all know how well that went. I do not see the kind of user focused innovation that was their trademark. - Other than movies, music, web development, email and browsing I find myself using my doing less and less with my computers - My experience with all of those functions has frustration creep perhaps because my hardware is old. But then again, can't Apple support older harder?

Sorry if I descended into a tirade, but the net result is - I love my 2012 MacBook and will probably keep it. - I'm looking to see if I can run linux on my 2013 iMac. - I am trying to find inexpensive hardware (laptop or desktop) as a development machine.


I guess the author actually meant to say “So long, OSX” as Macbooks (older than 2016 versions) actually are good hosts for running Linux. I myself run have two Macbooks (Air 13 and Pro 15) with dual boot setup, so I get the best of two worlds: perfect programming setup (i3) on Linux, perfect multimedia (I use Lightroom / Premiere sometimes) setup on OSX.


The author mentions, however, that he also bought a new Librem 13 laptop to go with it. So presumably he ditched the Macbook hardware as well.


Yes, he didn’t have to ditch Macbook though.


> I guess the author actually meant to say “So long, OSX”

It's called macOS, if you're going to be pedantic about something someone else wrote. It's not been called OSX (actually OS X) for years.


I didn't mean to be pedantic. Any name that refers to the software is fine.


Here is a good github repo tracking the state of Linux on Macbooks >= 2016

https://github.com/Dunedan/mbp-2016-linux

Doesn't look hopeful at the moment...


For me I had to switch back to MacOS. The battery life was dreadful on Linux, even with TLP and various other tweaks.


I installed (ubuntu) Linux recently on my new HP Spectre x360. Unfortunately, there was some issues still. My webcam didn't work at all. The touchpad was bad in comparison to Windows drivers and the graphics drivers sucked.

But overall it works much better today than like ~5 years ago. Got back to Windows and I am unsure if I will ever run linux on the desktop full time even if it is a distant dream and have been for long.

The only issue is that there is still a lot of issues on many laptops. Most desktops work great and it is easier to switch hardware parts.

On laptops, it seems that it's still a dice throw. I hope that changes in the future. Unfortunately, it is the chicken and the egg problem here and will most likely continue. Linux is a lot better than 5 years ago, but so is Windows and MacOS as well even if they both have stuff that sucks.

I used to believe that [current year] was the year of linux on desktop, but I no longer believe that mostly because of what makes linux so great, all the choices.


For laptop support, it really helps if you can get ahold of one of these “Linux-first” computers, like the OP. When the components all are supported, the experience is much smoother.

But that’s also the downside — often the hardware isn’t supported. Desktop Linux devices just aren’t the top priority for developers.

Honestly, if you want to go this route, it’s almost easier to just run Linux in a VM on top of Windows or macOS.


Well, I thought about that while ordering. Sent a mail to System76 which was the only company I knew about besides Dells XPS (that wasn't available in my country at the time). They didn't have chargers that fit with the european sockets and their system was still more expensive than the other options anyway. Plus, if something goes wrong, there is no real support available in my country. I would have to ship it half around the world for any support.

Even on hardware that are supposed to be supported, I have many times run into problems because of it only supports x distro or something like that. Sure it often is an pretty easy fix, but you still have to dig into to config files, read forums on the internet to get help.


Linux is certainly more hassle than Windows/OS X.

Since you mentioned XPS: I've been running Arch Linux on a new Dell XPS13 without any issues. Webcam, microphone, touchpad, etc: all works fine.


This was a concern that I also had when I switched, but I was in the market for a laptop when I jumped, which led to actively shopping for linux laptops.

I ended up settling on Dell Developer Edition and the experience has been virtually perfect. The only thing that doesn't work is the built in fingerprint scanner.


I've had a lot of trouble getting it to work properly on the Surface Book Pro (wifi doesn't work upon resume from sleep), and Lenovo X1 Carbon 2nd Gen (can't adjust screen brightness on OLED screen, which is really bad because it's very bright, and will burn in very quickly). Both of these problems have hacky work-arounds that I can get working myself if I really want to, but it definitely detracts from the experience. Every other laptop I've ever tried has worked perfectly though.


Linux on laptops really comes down to picking the right laptop.

I have both a Thinkpad (work) and a Dell Inspiron (home) running Debian. Both work really well by default. I know HN folks tend to really like Thinkpads, but I honestly think the Linux compatibility of my Inspiron is as good if not better.

Also just stick to Intel integrated graphics. AMD and NVidia can work, but they are a pain.


Linux Mint 19 (xfce) on any Thinkpad (T-series) is absolutely phantastic. Everything works either out of the box or is trivial to set up. LM 19 also works perfect on my gf's cheap Acer - which is saying something.

I even converted my clueless father on his old days to Linux thanks to LM 19 xfce.


Rather than spend money on a new laptop that I wasn't sure I even wanted, I tried out a Pinebook. For $99 I got a fairly usable Linux machine, albeit with its own quirks. 11.6" IPS, 64 bit ARM CPU, 10,000 mAH battery, 2GB RAM.

Overall, I chuckled at what I got (keyboard remapping helped since it's based on an Android layout), but some weeks afterwards I marveled at the minimalist utility and how well it held charge.

Evaluating it was an interesting exercise. Google docs aren't fast enough on the machine for comfort (try writing a novel) so a comparable Chromebook is a superior choice. But, KDE Kate is great. Terminal, of course, flies as fast as anywhere.

If you haven't seen it, I'd recommend to look at it as a point of minimalist reference if nothing else.


I tried this experiment last year. Bought a DELL XPS 13 at Costco, put Ubuntu 18.04 on it and dove in. I've been a Mac guy for ~10y just like the author. Worked at MS prior to that, so lots of Windows.

My experience is that it's one of those things that seems great on day 1, OK on day 1, and so on.

Spoiler, after about 6 months I gave up and went back to Win10, which is really improving rapidly with WSL, etc. I run an Ubuntu VM in Hyper-V if I need "real" Linux for something.

It's death of a thousand cuts. Beyond random Linux config issues, the UI can be laggy, the power management is terrible, etc.

I enjoyed the fiddling but just don't have time for it.


I was hoping for a comparison between OS X and Linux, but the article is just an overview of the OP’s Linux apps.

The title is misleading, as there’s really nothing here about MacBooks. But good to know tiling window managers are still being used.


What are people's experiences with the build quality of these artisanal laptop builders? I have Thinkpad (running Fedora), but I like the solidity and maintainability. Do things like the Librem last in daily use?


The Purism forums show there's some variability but my experience has been great. The Librem 13 is the best-feeling laptop I've ever used. It's sturdy (unlike a Macbook Air) but thinner and lighter than my 10-year-old Macbook. It's in a very satisfying middle ground. The keys are great and the trackpad, though not quite as nice as Apple's, is very good.

My one complaint is with the color. Smudges definitely appear pretty quickly. On the other hand, I'm less likely to type with gross fingers now and I wipe down my machine more often (maybe a couple times a month), which isn't necessarily a bad thing.


I did that a couple of years ago and never looked back https://jeena.net/why-i-switchedfrom-osx-to-linux


Old macos user too. Using Arch Linux since some months ago.

This is my happy world now:

   xcape -e "Shift_L=parenleft;Shift_R=parenright"
   sxhkd &
   unclutter &
   feh --auto-rotate --bg-fill --randomize ~/pics/wallpapers &

   jack_control start
   jack_control dps nperiods 3
   jack_control dps period 2048

   cd ~/prog/bar/
   ./bar | ./lemonbar -B#080808 -F#333333 -f "luculent" -b &
   cd

   exec bspwm
I am going to stay here for very long, the rolling release concept is a gift from gods.


For the software development aspects of my work, I've developed a strong aversion to manual mouse-based management of overlapping windows, as provided by the traditional Mac, Windows and Linux desktop environments. They require too much manual effort to position/resize/organize windows, which are IMO a dated skeumorphic affordance which provides limited productivity. That starts to matter more when you are dealing with early symptoms of RSI.

Instead, I've found that a tiling WM like XMonad[1] + its virtual desktops is a great way to organize my separate tasks and minimize extraneous window management. Each workspace contains the "windows" for a particular long running task, and if I ever need more screen real estate for a particular window, I cycle through the layout modes until I find one that works - usually just a few key presses away.

However, unlike the author, I keep my non-programming compute tasks (email, media, etc.) separate from my programming tasks by using a traditional desktop environment for those, because there are a lot of things in the traditional desktop that are optimized for those tasks (i.e. desktop notifications, media controls, etc.) This requires running 2 different machines, but there are plenty of good ways, either via hardware or software, to make the switches between the two environments mostly seamless.

[1] https://xmonad.org/


Hats off to this person for jumping ship, I couldn't do it. I acquired a new contract recently that had a fairly heavy duty dev environment requirement (old rails app, mysql, elasticsearch, memcached, redis, nginx) and my ~2012 Macbook Air was choking on it.

I spent a few weeks really chewing on my next move. I was worried about the keyboard on the latest Macbook Pro's, that was really my only hesitation. I seriously considered the Thinkpad as well as the XPS but ultimately decided I couldn't afford to leave OS X.

There is a grass-is-greener mentality around leaving for Linux, because it's definitely improved, but it's still nowhere even close. I knew I would miss iMessage, my Airpods wouldn't work, i'd have all the strange issues with the clipboard or drivers, and I wouldn't be able to work on iOS applications.

I spent nearly 3k on this machine, but (knock on wood) my Apple gear has never let me down. Sure, there are ocassional issues but the gear is really in a league of its own in terms of quality and fit-finish. My 2012 Air made it through a handful of startups and side projects, rails apps, django apps, elixir, iOS, and traveled with me all over the world.

Hoping to get another 6+ years out of this. It's got 32gb of ram and the upgraded Radeon so I think it'll pull its weight for a while. I have come to REALLY love the keyboard and now older models feel antiquated to me (totally was not anticipating this), and the touchbar is not as annoying as so many people make it out to be.


Yay, another Linux post! Anybody check out Project Sputnik? I think Dell (forked?) Ubuntu in order to make it work on XPS/Precision laptops and Dell hardware.

https://bartongeorge.io/2012/05/07/introducing-project-sputn...


I try to avoid me too posts, especially on HN, but I recently ditched my MBP for an XPS 13 running Mint. I'm very impressed with how much software is natively available now, Wine 4.0 staging is reaching amazing levels of support, and even Steam gaming with native titles and Windows games running under Proton. I'm very pleased with the transition and recommend that if you're on the fence, give it a shot and see if it works for you. Ignore how things were last time you tried.


Strictly speaking, almost nothing in the article is about Linux. It's about tools which work perfectly on FreeBSD, OpenBSD, or Illumos. Some of them work on OSX too, btw.


I've come to terms with the idea that different environments offer different things.

With Mac and OSX, you get a beautiful and thoughtful presentation, terminal access, and great with media. You can code, you can look sexy, you can edit your media projects with serious ease.

With Windows, you have brute power, great compatibility, and it's a better option for the market (i.e. cheap and expensive options). Windows is still King of mass market and gaming . (Withholding mobile)

With Linux, you have the option to have many kinds of environments at the lowest cost, with the understanding that you might have to work to get where you actually want to be. But when you get there, the satisfaction is 100x anything you'll get from the other platforms. (Withholding bsd, plan9, etc.)

I've been using Linux for about 7 years, mostly because I realized much of my CS homework can be done on Linux, and it was cool at the time. Also, Macs were/are way out of my budget, and Windows machines are a dime a dozen, just pick your price point. Then I realized the real magic of Linux: it's a free product of the world, for the world. Long after the business behind Windows and Mac leave the planet, Linux will stand as the people's platform. And I figured I should start learning it.


Ubuntu gave a lease of life to my old(2013) laptop after an update in Win10 locked me out of my account.

I use a company-issued MacBook Pro for work and was considering an identical machine as my personal daily driver until I did a comparison which revealed what an absolute monster of a laptop I could have for the same price instead.

I mean - the Apple ecosystem is great an all but I need some raw computing power from time to time and Linux is currently able to provide that.


My dealbreaker with linux is the keyboard shortcuts.

On mac, ^A and ^E work in every text field. Also, you can press cmd with your thumb, which is much more ergonomic than mashing ctrl with your pinky. OSX also has more well thought-out shortcuts than linux in general.

You can try to configure these things on linux, but it's tedious and never works perfectly.


I have had a "Mac thumb" for a good while now, the thumb position of constant Cmd+C-ing is horrible. Not ergonomic at all.

I love the fact that it's the same everywhere though and don't have to Ctrl+Shift+C to copy in the terminal.


I just - last week - moved from a 2012 retina MBP 13" to a new XPS 13" with Ubuntu 18. Loving it.

Also running i3 (actually i3-gaps, + terminator, dmenu, emacs)

I also bought a 34" curved ultrawide Samsung, which powers the XPS over USB-C. Single cable, and my mechanical keyboard is plugged into the monitor as a hub.

Everything just works. It's ace.


This is a great read, thank you for your documented experience here. I'm very interested in trying this as my OSX is already rocking a good tmux/vi setup.

I do fiddle with modern react and JS, any issues with JS compatibility on that browser? I enjoy Mint in an ASUS laptop, but memory and hardware issues do arise.


For anyone who just wants a system that works, and doesn't require whizzy animations all over the place, try Lubuntu.

I've been using it for a while and it simply gets out of your way and just let's you get on with things. Best operating system I've used till date for development.


XFCE (Xubuntu) is just as good, in case LMDE (Lubuntu) isn't quite what you want.


I've always found Lubuntu snappier. Also, multiple monitors work beautifully on Lubuntu - I unfortunately had issues with Xubuntu.


MacBooks don’t seem like great developer machines anymore. The keyboards are really lacking (bad travel and lack of useful keys), the touch bar is a silly gimmick, it needs 50 dongles to connect to anything, and every macOS update seems to break developer tools in surprising ways.


When my 2013 MacBook Air died from a coffee spill about a year ago, I wanted to try a different laptop. I picked the X1 Carbon (6th gen) which is a very nice machine in many ways.

However, I ended up switching back for two main reasons:

1. the touchpad is good but not nearly as good. I would regularly accidentally click on things while scrolling, despite fiddling with the settings. It was maddening.

2. For my work, Linux is a better fit than Windows. When I installed Ubuntu on the X1, both the touchpad and trackpoint were entirely unusable. I did a bit of searching and tried a few recommendations but never got it to work. I don't want to carry around a mouse.

I now have the new MacBook Air and I'm generally happy with it. Keyboard is not as good as the old ones in my opinion.


Recently tried the switch. Bought a top-spec Thinkpad P1, installed a few distros.

Ended up returning it due to:

    - poor scaling on 4k display (Linux)

    - awful speakers

    - poor battery life
Reluctantly back on a MBP — no complaints besides the useless Touchbar.

Things just work.


This might be weird, but what I want is something like a real TempleOS. Maybe something like a kernel and all the apps are written in Rebol, where the whole base system including window manager is 1MB max and you can easily, instantly drop into a mode where you can edit anything down to memory and CPU registers.

It seems to me that what the Linux desktop gives you is a bad compromise between this hackers paradise (which isn't very practical and very productive in one quirky mode) and a software developers paradise (quite practical and productive in a wide variety of modes). The right solution is a late 2016 MBPr (the one with magsafe and SD card and good keyboard), and a Thinkpad with my fantasy RebolOS running on it.


I'm surprised no one has mentioned the price of the laptop that the author gets. The thing is $1,400 base price - and that's with a 120 GB SSD and 4 GB of RAM. Up it to 8 GB of RAM and a 500 GB SSD and you're paying $1,7000.

Seems quite the hefty price to pay.


I read that more and more parts are soldered on the logic board in the new version, which means people have to buy new macbooks every few years anyway.

I tried to upgrade my RAM and found out it's soldered in, whelp, lets see how long I can stand 8GB of RAM, haha.


With a fast SSD, I find it completely acceptable, even my old 4gb MBA was OK in performance, depends on your use case.


Coding (Xcode, Android Studio) and video editing (FCPX)


I attempted to move to Ubuntu on my XPS 13, but couldn't manage to get the DPI scaling to work properly. Weirdly, if I run Ubuntu in a VM under windows it scales fine.

There are still too many of these small problems to justify making the move for me fully.


Preach. Currently running Ubuntu 18.04 on an XPS 15, and it's been.... interesting. Disappointing, in some respects, as having set up the system to dual-boot into Windows 10 and having seen what the hardware can accomplish, I feel as if I've had to try remarkably hard to get close to that in a Linux environment.


I'm using Kubuntu on my XPS 15 for that reason. KDE seems to have the best DPI scaling of the Linux desktops.


I love the look of the Librem 13 mentioned in the article. If it had 32GB of memory then I'd consider switching over. As is though, you'll have to pry my T480 ThinkPad from my cold dead hands. :-)


I’d love to switch to Linux - just to be able to work with a decent hardware laptop again. But can’t live without a few mac-only apps, like Sketch.

I find that iMac’s offer good value for money, but the Macbook Pro’s are horrible laptops.

I’m still convinced that Jobs was smart enough to build good machines for developers. Cook doesn’t care.

I still have an MBP 17”, still works great, battery is dead. I would’ve loved a new version of that machine under Jobs.

1500$ new iPhones, product lines not even being slightly updated... it’s a mess.

BUT: it’s nice to have your photos appear on your desktop and ipad and, it’s just easy.


Interesting that he's using suckless.org programs. I was reading through their codebase just to practice reading C, and was curious how much use they had "in the wild"


Sorry for off topic and I know it's not a complaint aggregator but 90% of the time when I reboot my mbp (2017) it does not recognize usb keyboard and mouse. That's so frustrating and my google-fu does not help me at all, resetting PRAM does however. I'm thinking about just rolling my favorite distribution on this machine. (Although not really sure how things are working now, last time I checked on my mb air 2011 everything was pretty smooth except battery life)


I need tiling window managers. Not negotiable at all.

I have the impression that there are no alternatives for Windows or Mac? If so that alone frees med from considering those..


I recently 'downgraded' from a 2017 MBP nonTB to a 2015 X1 Carbon Thinkpad with Manjaro Linux installed and i'm loving it. Only cost me 330 euros second hand.

Apple are dead to me after I spent thousands on a machine that has a broken keyboard.

In hindsight I wish I switched to Linux years ago for my professional computing. swdevs, sysadmins & security people who know the ins and outs of computing should switch.

I call it conscious computing.


Why the switch :)

Linux desktop has been my sole desktop for the last 15 years, it gets better and got the job done. I must admit that Ubuntu made a big difference.

On the other hand unless you're a PC game lover, the PC itself is more of a chromebook, i.e. nice hardware running a modern browser plus a few decent editors. The OS underneath is less irrelevant now.

Linux has space to improve though, for me it is the power management especially for laptops.


I think I feel the same disenchantment from Apple that the author does, and it really scares me. Because the responses to this piece are basically 220 reasons of why I’ll probably never switch.

Don’t get me wrong, I want to like Linux, I just don’t want to spend any time (as in any time) on configurations. I want to plug right into my 4K monitor and have things just work. I want a good trackpad, and so on.


Everyone wants a computer that does what they want it to out of the box. When we say we want something easy, that's what we mean. The problem with that is that everyone wants different things, so it is fundamentally impossible. I think Linux needs to stop trying to be easy, and start trying to be simple.

Throw out all the over-complicated garbage that has become the Linux Desktop and make something that is simple enough for people to build an accurate mental model of how it functions in a relatively short time, and with a set of simple composable tools. Then they can build the thing they want with a relative minimum and without writing any C. It already some composability thanks to the original UNIX commandline toolset, at least for text processing, but those have grown archaic over time and the concept was never properly extended to the GUI.

I doubt that will ever happen though. Instead the community will just keep piling on more and more complexity, keep creating more and more distros to try and cover that infinity of what people want in their effort to make it "easy", and tell anyone who doesn't want to do things the way they do that they're doing them wrong.


In my experience, the only frustration left is display scaling. Everything else "just works", while leaving configuration as an option for those who want it.

Unfortunately, display scaling is just impossible with Xorg, and Wayland is still not really usable.


What pulls me to linux over my MacBook is the package managers. The apt-get system is much better than homebrew in my experience.


See, I don’t get this. I know that from a technical perspective apt is much nicer because its ‘first party’ to the OS, but homebrew both feels much simpler in us and its packages are so fresh that it trails the stable branch of packages by a day or so. Apt packages are frozen in place, unless you go with extra PPAs. Or if you go with a rolling release like Arch, there’s small things breaking constantly.


When I switched from linux to mac it was just for the hardware, at time I bought a ibook g4 the most beautifull laptop that I have had, the battery in 2006 has a duration around 9 hours of coding. Recently when I think to back to linux the only my worries is the system update and the fact that I cannot test or compile any iOS app.


This type of report, and the comments here echoing it, should worry Apple.

Years of bad decisions and neglect for the Mac have added up. The bad keyboards, touch bars, unnecessary port removals, etc, it feels like the company forgot who the "Pro" Mac line is made for. I hope they course correct but fear they won't.


All of that said, what's with the bright manila color theme? There are plenty of people using i3 with a particularly awesome looking setup. Now macos and windows people are going to see this manila paper theme and think, that looks like 90's crap, fuck linux. So that's great :/


Well, I did warn people about this:

> You might not be impressed much with my environment—I pretty much just copied the acme colors—but some people have put a lot of work into making their setups look sexy.

https://www.reddit.com/r/unixporn


> Now macos and windows people are going to see this manila paper theme and think, that looks like 90's crap, fuck linux.

It's a nice change from the typical screenshots of green text on black terminals.


I actually really love this theme, and have been trying for an acme-ish theme on my laptop for some time. @rmavis, do you think you could share any of the setup with me? Especially your terminal colors.


I am also planning to migrate from macbook. I am tired of constant hardware failures, of my current macbook and previous one. OS on the other hand is not better than in any field if I compare it to Linux. The only valid reason for me to stay with macOS is support of MS office tools.


Since TFA talks a lot about i3 and dmenu, here are my scripts to have your most used commands on top in dmenu in i3: https://github.com/grothkopp/dmenu_run_favorites


My current setup is as follows. I found this to be the best way of not being distracted by other functions on the same machine. When I want to do one of those 3 tasks, I bootup the correct machine/drive.

MacOS(Hackintosh) - Daily driver, photo editing.

Windows 10 - Gaming

Mint Linux(Disk2 of Gaming PC) - Development


I find it depressing that (despite this post) there really are only two viable operating systems for 99% of the user base that needs ease of use and commercial software. Same in mobile devices. And there is absolutely nothing indicating a change to the status quo.


To be fair though, this is mostly a setup problem. There are a lot of people who only need a personal computer to use a browser. I've switched my father & stepfather over to Linux mint, and the amount of tech support is actually lower than when one was on Mac and one was on windows. I think the big issue is that Linux isn't pre-installed. That, and there are programs that won't work (my mother is still on win10 due to MS Office).

Remember, most people aren't software devs, and have very different concerns. And increasingly there are more and more people who don't even own a proper computer, since a smartphone will suffice for their needs.


Something I made while search for a replacement for my own macbook: http://nomoremacbook.com/

I have a macbook pro 2012 and still don't know what my next computer is going to be.


Dual-booting on my 2014 MBP. Works surprisingly wonderful, even has pixel-perfect scrolling in Chrome. Battery is great as well.

Only using it for development, and overall it was a great idea to switch from trying to set up macOS with Docker and other stuff.


Am I the only one that uses Linux in a virtual machine as their daily driver? I do this whether I'm on Windows or MacOS.

Linux with a lightweight window manager, like i3, works great in a virtual machine. Docker works flawleslly inside a VM as well.


From what I've seen of OP's setup, I'm surprised they every had a macbook in the first place.

Literally everything is textmode barring the browser. you might as well have a tty and a separate device for the browser.


I gave Ubuntu a solid shot for a few weeks in 2018. I came running back to Apple without hesitation. At the end of the day end-user experience on Linux just isn't as nice, cohesive, or friendly.


As far as I like about Linux but audio quality feel less bass despite a tweak to supposedly bring the best sound on ALSA didn’t help.

Piano timbres sound far better on macOS and Windows unless you could advice me.


What DAC are you using? And what audio applications? On MacOS and Windows, if your music player is not using CoreAudio or WASAPI “exclusive mode”, your audio is going to get res ampler and dithered by the OS mixer. This may be the difference that you’re hearing.


My phone is coupled with my laptop. All my settings are backed up. All my docs, pics, music, random files all are synced with “cloud”. If my laptop or my phone gets hit by a bus I will go to the nearest shop, get a new device and get it set up from backup within an hour.

I delegated the fine tuning and customization to a third party once I realized I don’t have time for it anymore.

I am fine with it although it is not ideal and there is room for improvement. There is always some. Everywhere.

Please ping me from future when Linux (or Fuchsia or whatever is there in the second half of 2020s) is capable of that as well and there are vendors/providers who are honest, dependable and trusted who I can allow to store my data, identity and privacy and have good sleep.

Cheers.


My decade of PowerMacs and Macbooks ended three years ago, sadly I started using it when iTunes still had m4p and I'm too lazy these days to go through the elaborate extraction processes.


Funny, I'm thinking of moving in the opposite direction due to the lack of support of hidpi in the latest LTS Ubuntu. There's some support in Kubuntu, but I don't like KDE.


Shouldn't it be "So Long, macOS. Hello again, Linux?" I have known people who has done the same, and are back again on macOS. Give it a bit, and it will pass.


16GB max? Unspecified max resolution on the display? storage is "configurable"? HDMI version (4k capable could be 1.4b or 2.0)?

For a tech laptop, the specs are very unspecific.


I built a computer the other day and installed Ubuntu on it. Worked pretty much flawlessly out of the box and I could see it being my main driver for years to come.


Personally have no issues with iTunes, it's nice and fast even on my non-ssd PC (hackintosh), and deals with my 300gb+ library with no problems.


Welcome back! macOS can't really beat Linux in productivity. Especially if you are using well configurable DE. I like KDE for that.


For some cool Linux desktop setups, checkout r/unixporn on reddit. Some of the desktop setups on there approach the level of art.


As a graphic designer, if I Adobe CC worked on GNU/Linux I would gladly switch. Alas my job is very depended on Adobe InDesign.


I'm currently on Ubuntu 18.04 and I love it but:

- Firefox takes literally 10 seconds to start unless I disable eth0

- Chromium isn't able to resolve DNS for local intranet sites

- Have not tried chrome as installing it means fiddling with apt repos, wget or gdebi

These issues are unresolved as of January 2019. I can't say that I ever had such issues on macOS. I have had DNS issues because of my specific ISP router after a major macOS upgrade but my ISP patched it within a week.


The first two issues both sound like you have misconfigured DNS and the first resolver in your list is invalid (and has to time out). The same misconfiguration under OSX would be likely to create the same issues.


Thank you for solving the first issue! I switched DNS from automatic to manual. Now I do have to adjust this every time I switch networks so perhaps I should write a script that does this automatically.


If your problem is over wifi, NetworkManager (the default in Ubuntu) should let you do this automatically.

Networkmanager defines a "connection" for every (stored) wifi, which you can view:

  nmcli connection show
Now, you can set the dns servers to use when any of these connections is activated. For instance, define google's servers by:

  nmcli conn mod <connection-name> ipv4.dns "8.8.8.8 8.8.4.4"
This will override the DNS settings (which come from DHCP by default) whenever you connect to this specific network :)


This never works for me... can't ever get it to stick, tried all kinds of ways to mod with nmcli or systemctl restart/reload network manager. Debating on just doing a cron job to rewrite resolv.conf.


I'm not an ubuntu user (debian testing here). I remember that various systemd-thingies were actually tweaking some network settings behind NetworkManager's back.

Getting NetworkManager to work properly was a matter of disabling all that systemd stuff and then setting it up using config files and nmcli (the gnome GUI just broke everything too easily).

My impression after all that was that NetworkManager is a very capable piece of software littered with bad interfaces and impenetrable documentation. You will emerge victorious if you fight those hard enough. In contrast, trying to setup the system using the various systemd-thingies got me to "xxx is planned but not working now" every time.

Btw, I do have a weird complicated network configuration because I'm switching between ethernet and wifi, and have multiple bridged and/or routed vms/containers (with all of kvm, lxc, and virtualbox).


In the server environment at least, Ubuntu 18.04 makes use of `systemd-resolve`, running a dns server locally. Have you looked at setting DNS with that?


Why are you manually configuring DNS? If you need it to switch between different networks, it sounds like you should let DHCP do its job instead of overriding it.


Funny how the main thing that keeps me away from Linux now was the main pain point over a decade ago: Adobe suite


Librem lacks HiDPI. Is there a Linux optimized laptop with HiDPI and a near-apple quality trackpad?


Pff, how many such posts I saw, and in few months later "I'm in Mac again".


I just recently (a couple months ago) updated my Linux desktop experience at home. I had been running an Ubuntu 14.04 LTS install, that was getting long-in-the-tooth, as well as being unstable.

Part of the instability had to do with various hacks and patches I had put in place, including a big one where I updated gcc to the latest version to support C11; this broke my update process horribly - so much so that when I went to update the NVidia drivers, my system became ultra-b0rked. I had been meaning to do an upgrade - now I was forced to.

What saved me a great amount of trouble was the fact that I had partitioned my system; that is, when I had installed Ubuntu, I had put it on an SSD (/tmp and a few others were on a RAM disk), and /home was on a separate drive. So all I had to do was pull the SSD, drop in a new one, and re-install something else.

Actually, I also used a different drive for my /home directory, because my old drive was getting old - plus my /home directory itself had a lot of old baggage. To that end, I migrated it to a new drive, created a new user with the new OS install, then migrated the files I needed across (moving from Chrome to Chromium wasn't as easy as it should have been, but it was doable). For the most part, it was painless.

I ended up sticking with Ubuntu - but this time I went with Ubuntu Budgie. What I had done was check several other live distros first (regular Ubuntu, BunsenLabs, Solus, Mint, and a few others) to see what was out there again. See, my old system I had built from 14.04 LTS - but I had started with "minimal" and built it up to look and work almost identical to CrunchBang (#!), because I liked it so much (and #! had died, but its descendents hadn't been in a finished state - which is why I looked at BunsenLabs).

I ultimately wanted something like the MBP setup I used for work; I thought I had found it with Solus. It seemed almost perfect - except for its package manager. While it had a lot of offerings, I worried about the ease of whether I could install third-party stuff. One thing I had "vowed" to never again do was to "compile and install from source" (that was part of what got my into this mess); if I ever needed to do that, it would be better for me to run it in a container, on a VM, or in some other manner - just not mangled into my main system with no "accountability" as to what was done and where.

Solus' package management was a custom system, that leaned heavily on app images; I liked that, it was something I had recently looked into (like a week before all this happened), so I wanted that option. But their library wasn't as extensive as the Ubuntu ecosystem, and I also wasn't sure what to do about third-party .deb files and the like - how would I install those. So I looked around for a viable alternative.

I found it with Ubuntu Budgie. I could be on the latest version of Ubuntu (I actually chose stability over latest - so I went with 18.04 LTS), but still have the Budgie desktop (with Plank and other goodness). I've found the best of both worlds, and I have a system now that I believe is as close to my MBP (well, OSX) as I can get with Linux; honestly, I consider it a bit superior.

I've decided, as alluded before, not to install anything from source, as tempting as it may be, and instead only stick within the confines of what is available via apt and (trusted) third-party PPAs. Otherwise, I'll consider using one of the various app image systems, a VirtualBox VM, or something similar - or look for something else. I just don't want to end up in the same boat down the line.

Is it perfect? No. But it certainly beats the pants off of what I had to do with Linux 10 years before, or 10 years before that.

I've been using Linux in one form or another since 1995 (my first "install" was MonkeyLinux, which runs on a DOS filesystem; my first "real" Linux distro was TurboLinux 2.0); back then it was a "nightmare" - a fun nightmare, to be honest. Nothing like recompiling your kernel to get the latest PCMCIA drivers working, among other things. But I'm pretty past that kind of thing today.

Not completely, of course, as b0rking my system with a custom manglement to get gcc/C11 working (took me a while to get all the dependencies just right, but I had it up and running - but the update system for 14.04 LTS did not like it at all).


Good bye hardware, hello software?

This is such a stupid title.


The Second Moribundity of Apple is nigh. First was the stagnation a few years after Jobs left.

Now that Jobs is gone, Cook is showing he has the logistics knowledge but not the other parts of product leadership needed.


I'm not sure that Apple cares though. At this point they don't really seem that interested in 'computers' (as per their own ads), and the iOS ecosystem is where they make their money.


been using ubuntu for the last 2 weeks. i cannot believe i hadnt thought to do this sooner. i miss nothing from mac or windows land, except easier drivers for some peripherals. i cannot believe how worthless windows terminal is. i cannot believe how bloated osx is. ububtu is a dream!


[flagged]


Please, enlighten me further about my aspirations and motivations.


Maybe macOS works well for you, and so for you to switch would only be 'out of some moronic desire to be different', but there are certainly lots of valid reasons a person might prefer being on Linux rather than macOS, from not trusting closed-source OSes to wanting tools that aren't out of date.


I've seen many refugees from macOS coming to Linux, so it's not surprising in the least. Good for them, it will increase their productivity. This was especially boosted by those interested in gaming, and Apple abandoning OpenGL and planning to ditch 32-bit support.


Fine there’s always movement between states and each person has their reasons for moving them it good or bad. That said I have tried the switch repeatedly after reading such posts/recommendations only to realise I’ve spent more time trying to get something really basic to work for no tangible benefit. For those who found the transition worthwhile then I tip my hat off to you


MacBook implies MacOS and the article is comparing that hardware+OS combination with just an OS. It would have been nice to hear what hardware solution the author ended up with, along with Linux, for a fuller comparison. Mostly because I'm in the same boat as the author and will be moving away from a Mac after 15 years to Linux, but am lost on the hardware front. Right now really wanting a Lenovo Yoga C930, maybe.


The article notes that the author is using a Purism Librem 13 laptop.


I must say that the whole desktop looks like something from the 90s. If you find it fine for your needs, that's great. But I don't think it's a general solution. Linux is so half-baked with respect to desktop, very often it's getting as problematic as a Windows system, especially on laptops.


Yes, on Linux you can make your desktop look like something from the 90s, if you so choose. The big DEs (Gnome Shell, KDE Plasma) don't generally look like this (though Plasma is configurable enough, you probably could configure it so to do), but rather explore different paradigms.

Amusingly, the macOS UI, on the other hand, is almost literally from the 90s (it dates from 2000, I think). And the Windows 10 UI isn't meaningfully different from the Win95 interface.

So it's really mainly on Linux that you actually have the option of modern UIs.


You do realize that the desktop shown there is a very, very non-standard setup and the author specifically chose it because it fits his needs better than mac os.

> Linux is so half-baked with respect to desktop

Considering the linked article does not show anything about a usual linux desktop, what are you basing your opinion on?


> I must say that the whole desktop looks like something from the 90s

I think any comments about the looks of a Linux desktop must be sure to talk about what Desktop Environment are you saying that about. I find KDE and Gnome to actually have a much more modern look and feel then anything from Apple and Microsoft.

Personally I have found Windows 10 to be much much better for me as a Linux user and I can run OpenSUSE on the command line a great help. Still I think Linux has been and will continue to be the platform that pushes Desktop Environments and features. There are other issues but this is not one of the problems.


> I think any comments about the looks of a Linux desktop must be sure to talk about what Desktop Environment are you saying that about.

"The whole desktop" -> I was talking EXPLICITLY about the exact setup of the desktop of the article, not about a "generic" Linux desktop. I don't know where you got that impression.


If you think that, try using the budgie ubuntu distro with the arc-dark theme. Way ahead of both macos and windows.


That sounds fantastic, I can Google but do you have a link? I love Ubuntu for my servers!


It's an official distro.

https://ubuntubudgie.org/

Go to "Budgie Themes" and you can set the theme from there. Things like the Pop theme from System76 are included in the list, as well as Arc etc. I personally like to install arc-dark manually from https://launchpad.net/~noobslab/+archive/ubuntu/themes

There are also some really good cursors in that PPA


You're not really planning on installing this version on linux on your servers because of how the GUI looks right?


I use Mint and Centos as much as my OSX system. This is a configured environment for development, not much else but it works fantastically.

My latest Linux build sits in my music studio and I record and edit audio for production.

I think your conclusion is invalid and specious, but it's an opinion.


If you still want to try a more polished Linux dist, try Elementary OS: https://elementary.io/


That was a choice he made based on personal preference. It isn’t typical to use text-based window managers in Linux. FTA:

But I have switched from Gnome to i3. Over the years I’ve migrated from graphical to text-based applications for most things


How is it half baked?


Some examples from my latest (Ubuntu 18.04) linux experience: - Does hidpi work? For ALL applications, and flawlessly? - Is the desktop responsive, or does it feel laggy? - File manager:Can I customize my favourites, including removing the builtin ones? - Can you use a lot of good desktop applications? Like MS Word, Adobe Photoshop, and similar? Or Google Drive, Pixelmator, Dash, Flux, tools in general that may have a small price but make your work considerably faster? - Does bluetooth audio work flawlessly, like, you can use a bt audio device, then stop, then start again? - does the system include a braindead, just-works backup-and-restore system?

Sure: if you know Linux well enough, AND YOU SPEND ENOUGH TIME ON YOUR SYSTEM, you can fix most of the above issues (I could not fix the Gnome DE latency with hidpi, btw). But I don't want to waste my time fixing my desktop; I want to pay, and my desktop should just work.

Then: if you like the Linux desktop, feel free to use it.


I agree with your statement that a desktop should Just Work, and the Linux desktop experience is not perfect, but you seem to have had a harder experience than most would.

I don't expect you to get back on Linux or anything, but paying for known supported hardware (e.g. Dell XPS 13) goes a long way to have a 'no-tinkering-needed' experience (pretty much like OSX run better on its own hardware).

For the record, HiDPI works flawlessly and responsively with a Dell Precision 5510, including when using projectors with different resolutions. Never had an issue with my Bluetooth headphones, and the system does include a braindead, just-works backup-and-restore system : deja-dup, which works with Google Drive out of the box after inputing your credentials.

Applications that don't have a Linux version can be a pain, but most have perfectly good alternative (Google Docs, Flux, Zeal for Dash).

Some of them don't really, or require a big change (typically, Photoshop/Gimp), and those can indeed require one to stay on a specific OS




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: