Just another data point: I've used Linux as my main desktop from about 1999 to 2008. I'm familiar with installing it from 80 floppies (before anyone points it out, that was before 1999, more like 1994) and recompiling <1.0 kernels to get the drivers I want installed. I actually make money off customizing embedded linux-es (arm boards) and writing software for them. I prefer the command line to mouse clicks and "wizards".
I moved to OS X because I want a desktop that actually works. I have several Linux VMs - one per project - which I use mostly from the command line.
At the moment, OS X and iOS are the least annoying desktop and mobile operating systems. Note that I said least annoying. They all suck in different ways and I wouldn't use OS X as a server. I also think Apple has no idea how to do online services; for example I don't use iCloud for anything. Still, the operating systems beat the alternatives.
Only problem is, you have to use OS X for a few months to realize how much invisible polish has been put in. I first bought a MacBook, and it took me a year or more to decide to switch my desktop to a Hackintosh as well.
Hello, unrelated to the OP but, concerning the Linux and Floppy experience. I had installed Slackware 3.6 (with a 2.0.36 Linux kernel) from floppies in 1998. This was a great experience because Slackware at this time was actually distributed in floppies (!)
Notice that I had downloaded these floppies through a 55.6 kbps dialup line (!!) from the Slackware ftp server (!!!)
The great thing about the Slackware distribution was that it was separated in "subsystems" each one being more or less standalone and being able to download and install separately. So there was the "base" subsystem which was on N floppies (I can't remember probably around 6) that contained the Linux kernel, libraries, bash and a couple of other useful utilities which could be downloaded, installed and with this you could start using Linux! And then there were various extra subsystems, for example the "development" subsystem that contained gcc, the "X" subsystem (with the FVWM window manager IIRC) etc. This made it really great to be downloaded through a dialup line.
I can remember various great stories from my installation and configuration process, for example becoming an expert in how disk partitioning works, configuring the modem by giving it AT commands (to dial my ISP's phone I needed to issue the ATX3DT command followed by the number), to make my (ISA) sound card work I needed to boot on windows (95) so that it's IRQ and memory address was configured properly and only then then (cold) reboot on Linux so it would work (!), using autoconfigure/make/gcc to compile stuff (this actually is needed and in 2017), configuring X by editing text files and playing with my monitor resolution and refresh rate etc.
Very interesting! My question is, how did you find a solution for a problem when you got stuck? Ask a friend? Trial and error? But what about things like needing a specific command for partitioning disks a certain way? Books?
I had a dialup connection so I could search the internet! There was a bunch of mailing lists back then where you could ask questions, also sometimes I checked the USENET (alt.os.linux.*) and there were some excellent how-tos... It seems there still are some how-tos (I'm not sure if they are the same as they were back then):
I still remember installing Slack around the year 2000 and completely borking Xorg.
Luckily I had ethernet and a cable modem - Lynx to the rescue!!! A lot of the linux forums were very 'text' friendly in those days - I dread to think what it would be like nowadays trying to navigate a forum from the cli.
I left slackware about 5 years ago for Xubuntu, mainly because I needed to use my laptop for work and not just having fun tweaking and learning.
The whole "Apt get into it!" just really works for me now. I think the final straw for me was last minute trying to compile a video editing suite (Cinelerra?) on slack, getting frustrated and then finding out it was much quicker for me to nuke the HDD, install Ubuntu Studio and an hour or so later I was happily video editing.
Now nostalgia is knocking at the door so maybe I will make a new partition and see how slackware has developed in the last few years...
man and the Internet. Yes the internet was around in 1998 :) . News groups, IRC, mailing lists... all existed.
Trial and error as well of course.
Being from that time period myself (18 years old) and installing Slackware as well RedHat (and even Caldera ... anyone remember that?) there was plenty of documentation.
However unlike the parent poster I got a bunch of Linux distributions by either mail ordering or going to conference. In fact I went to Linux conference in Atlanta circa 1997 and meet Linus himself... but more importantly picked up some distribution CDs/disks.
Oh man, the days of needing to go to a conference to pick up Linux CDs. Yes, I definitely remember Caldera. Only thing from that list I haven't done is meet Linus though I guess I will get around to it at some point.
Actually come to think of it, Ubuntu really hit the CD nail on the head with Shipit, those of you with 28.8 modems will know this feeling. I still have my 7.04 CD.
This is a single datapoint and I am a senior systems engineer using a lot of Linux at work but its desktop experience is not even remotely close to be as good as MacOS. It reached the level that I can give it to people who do not work in IT though.
Depends. In some regards I like Gnome 3 UI as it comes with Fedora more, than Finder. With some details under the cover (doesn't have trouble browsing samba shares after connecting to another network, or per-network interface DNS, so you can resolve hostnames on internal network even when connected to VPN) are something, you get used to really fast.
I'm sorry people keep recommending vanilla Ubuntu to you. Unity is awful, and Ubuntu will be rid of it soon anyway. Until then, use Kubuntu, or Ubuntu GNOME.
> OS X and iOS are the least annoying desktop and mobile operating systems
I assume you're not including Windows Phone in that, because its surely less annoying than either iOS or Android (apart from lack of apps, which I consider to be a blessing in disguise)
No, I'm afraid I stopped caring about what Microsoft does long ago. I have a Windows 7 install on my desktop, but it only has games on it and I almost never boot it any more.
Unfortunately I am cursed with a long memory and I keep grudges forever, and I'm old enough to remember the old Microsoft with the patent threats against Linux and the illegal monopoly abuse practices.
I think that most people would answer your question by saying "because I need Mac app XYZ and Linux doesn't have a nice equivalent yet". I used to have a MacbookPro. I'm now 100% Linux (Debian). In my particular case, the only reason I would go back to using a Mac is for Logic Pro X (music creation software). I've used Ardour and Bitwig on Linux, but Logic is still superior in many ways. Having said that, it's not enough to drag me back to Mac, and there's no way in hell I'll ever use Windows again on any of my own systems. Generally speaking, I'm now 100% FOSS, and plan to be so for the rest of my tech days.
Yes, LibreOffice in Ubuntu or Fedora are good enough technically, and there are same problems when exchanging documents with Office for Mac as there are with LibreOffice.
However, deflecting blame works. When exchanging files with someone and something is broken in LO, it is automatically fault of LO. When something is broken in Office for Mac, it is an uh-oh moment, as obviously it is the latest product from the same company, so the effort to resolve the issue is much more constructive.
Another reason is, that both Mail.app and Outlook are usable as Exchange clients (yes, I'm stuck with that, with IMAP disabled there :(). Evolution is a trainwreck. There is a plugin for Thunderbird, but it is a no-go, as it is a yearly subscription. One time price would be fine, but no way I'm going to pay yearly for using Exchange mail in Thunderbird.
Context: Linux user since 1994, also uses Windows often, software developer (anything from low-level embedded to Clojure and ClojureScript).
It's all about Mac OS. It lets me get things done without dealing with silly things.
Let's quickly list what I sorely miss when switching to my Linux machine:
* Multiple monitor support: connect any number of monitors, any time, and have them Just Work. HiDPI or not, doesn't matter. The OS even remembers which of your windows where placed on which monitor at which size, and will do its best to move them when you connect a monitor. No other OS even comes close.
* Consistent keybindings (Emacs-style) in all windows and dialogs. Control-a always gets me to the beginning of the line, whether in a text editor or in a file-open dialog box.
* Reasonably consistent keybindings in apps. Can expect Cmd-q to quit every app.
* Flawlessly working suspend/resume on laptops.
* Full-screen any app and it works fine.
* Apps like LaunchBar (I think quicksilver used to be a free alternative).
* Spotlight, which finds everything.
* Ability to remap any key to whatever I want and have it work everywhere.
* Drag & drop everywhere. And if you laugh at this, consider that this is coming from a command-line guy with 25 years experience with computers. The way Mac does drag & drop is faster and more convenient than fiddling with command line. For example, did you know you can drop a file or a directory from anywhere into any file/open dialog box?
* Apps like Simplenote, Bear, Ulysses: excellent tools for specific purposes.
* TextExpander.
* Predictable ubuquitous working clipboard.
For me, switching over to my Ubuntu machine is an exercise in frustration. I can't redefine my keys, there is nothing like TextExpander, multiple monitors just don't work unless stars align just right and you have all the monitors in just the right order at boot time and you better not mix hidpi with normal. Drag and drop is nonexisting. Copy/paste is a free-for-all where each app does things differently and you have multiple clipboards (Ctrl-V vs middle mouse click).
Basically, in order to get things done, I'd much rather work on a Mac.
A side note: to really understand why the Mac is so good, you have to work on it for a while, with someone showing you things (like dragging files into file/open dialogs). People seem to think this is about superficial things like aesthetics, or Adobe software. It's not.
Great response. Did you manage to post any/all of this to the feedback-request thread by the guy from Ubuntu about 3 weeks ago? If not, I think you should. I might even do so on your behalf as I've definitely felt some of these pain-points myself.
Ubuntu tried to make a decent desktop with Unity and failed. Unity was the trigger for me for switching to OS X.
The problem was, they need to put a LOT of polish in to reach OS X levels of usability, and they didn't look like they were doing that, they had some nebulous dreams of making a unified mobile/desktop interface instead.
There isn't anything in particular I'd suggest to them, because they need improvements just about everywhere. Say, is the network manager actually usable these days? When I switched it was easier to just disable it and move along.
And the main elephant in the Linux room right now is systemd. Low level Linux is basically being taken over by an incompetent developer who doesn't understand the Unix philosophy of software design and can't deliver working software anyway. He's the author of the abomination called pulseaudio - back then it was required to uninstall/disable it to have sound again. Now, software written by him is becoming a dependency of almost everything - he is trying to replace all the Linux infrastructure layer with his ideas. Sorry, I see no reason to take a look at Linux on the desktop again.
Pulseaudio in Linux has the same role, as Core Audio in macOS.
Systemd in Linux has the same role, as Launchd in macOS. Some aspects of systemd were inspired by launchd and SMF.
Interestingly, it is a good, useful thing that contributes to polished experience when it comes to macOS, but for some reason, when someone does equivalent for Linux, it is suddenly a bad thing, just because it is different than in the past and moves the polish and experience with Linux to a higher level?
Ubuntu took Linux from relative obscurity to being a relevant player on the computer desktop.
Before Ubuntu, if you expected to get a build of a typical popular Windows program/game you would get laughed at. Now it's virtually expected. That's not failure.
systemd is not as much a matter of controversy as people want it to be. If it was, you would see people like Linus rejecting it, but they haven't because it's not a major factor right now.
I know, I've used Ubuntu since it was out. I was very happy that I get a polished Debian. Until they dropped KDE from the mainline and started putting all their resources in Unity...
I'm not interested in your appeal to authority, especially as it claims comparing systemd with init is pointless (why?) and contains massive flaws like "Proponents (of systemd) are usually part of the modern Desktop Linux bandwagon"
I agree. I've run Linux at home for ages, just not on the desktop. Recently I dabbled with switching over to it on the desktop again to see how far it's come along and was shocked to see the state of multi-monitor and HiDPI support in Ubuntu. I couldn't care less about whether it's using systemd or what format the logs are in. How can we still be struggling with multiple monitors and getting the size of text and mouse cursors wrong?
Don't forget that CMD-C, CMD-X, and CMD-V, the system clipboard shortcuts, work in both desktop apps and the terminal. Whenever I'm using Linux it drives me mad that terminals have different shortcuts. Yes, I know it's mostly for historical reasons, but that doesn't make any less annoying.
Really, consistency is something that macOS holds over other desktop operating systems in a lot of ways, and that holds true even for third party apps for the platform. After having used macOS for many years, using other operating systems where most never gave much thought to or saw any value in getting on the same page and following a set of conventions is jarring.
Just be wary when drag & dropping a folder onto an existing folder, as the destination folder and all contents will be nuked before starting the copy! This is IMHO unexpected, especially if you're coming from Linux/Windows, where folders/files are appended (with subsequent pop-up dialogs asking whether to overwrite).
A dialog pops up with 2 choices: Stop or Replace. Replace will delete everything in the destination folder before copying over the source. If you hold the Option key while drag&dropping, you can get one of multiple different pop-up dialogs, depending on the circumstances... and the results are not very predictable.
We use ubuntu at work and I was VERY worried about this. But autokey is actually good enough. The UI is not quite as slick but the rest of it is a little better. The exception is the little pop up form fill things which are cool but I found I did not really miss. https://github.com/autokey-py3/autokey
Well... This actually reinforces my point. I tried it. Installed, ran it, saw the weird warning from gtk. Then tried to use the ",gd" example shortcut in the terminal. This did not work, then froze my keyboard, and after some frantic desktop switching using the mouse, autokey finally crashed.
I'm describing this experience because it's a common one: it's symptomatic of the "Linux desktop" experience and is the reason why I would much rather use Mac OS. It's not that I can't make things work -- I probably could, but I want to spend my time on other things.
I had an MBP for a little over a year, and after it was stolen I switched back to Linux - Xubuntu to be precise, I never liked unity, and I tend to go for a more minimal desktop on any system and XFCE has more than enough customization for my needs.
The 2 major issues for me with osX were:
1: Selecting icons to copy. I don't know if this has been fixed, but if you have a file browser window open and you want to click then shift-click to select a range of files, it would always just make a rectangle (graphically) between the 2 click points, not run left to right through the window and select everything in-between, (I don't know if I am explaining this clearly)
To select the range you wanted you would have to either switch to list view or cmd click any files which got left out. I really though it was a bug until I found this forum post https://forums.macrumors.com/threads/shift-doesnt-select-ran... where they defend the behavior.
2: And kind of a silly one, but when you plug in an hdmi monitor, you can only control the volume on the monitor itself. And as with the previous issue, I was surprised at the responses I found in the forums. Complete finger-in-ears-lalalalala "It's better this way, and impossible the way you say even though linux and windows can do it that way"
Anyway, for my personal use case, linux trumps both Windows and Apple, and, in opposition to most comments I see on this thread, I run Win7 and osX in VMs if I need specific software (SketchUp on Win and nothing really on osX, I just have the VM set up in case I need something)
And for recent apps consistently rename the file in place from that same title bar.
And the far decried HFS+ file system had a feature I hope they will maintain in APFS. When you moved or renamed a file around, most of the time even third party app managed to figure out the new location of the file when seeking for it instead of just displaying a broken path dialog.
And this replacement only occurred if the resource was not present at the search path. Meaning that moving and replacing by a similarly named file result in similar file being used, while moving result in suggesting new location.
Don't know what's the behavior is as of today, and maybe by now Linux also provide this reliably, but first time I've seen this was even pre OSX I believe. And maybe there is a simple trick, but it looked like black magic for the 20 years me.
I'll mix it in with my other favourite feature so it's more fun. Say you can't be bothered navigating to find & open a file in App B you already have open in some other app (A).
Get to the Open dialog, activate App A, click-hold on the little file icon next to the file name on the top bar of App A and drag it onto the Open dialog over at B. Suddenly, the dialog has the appropriate file selected, wherever it happens to reside on your file system. Magic!
Final Cut Pro, encode/decode videos in ProRes, Sketch app, Xcode, Photshop & Lightroom (don't even mention Gimp for Linux, i don't know any professional who'd touch it), and generally a much less frustrating and more productive UI (better support of external monitors, better system fonts, etc )
Exactly. I actually switched off from Mac to Windows last year and I do miss Sketch App and Xcode. I image in Linux also Adobe tools would be something that many would miss.
A whole bunch of things for me. Many already listed here, but I'd add two: 1) macOS's high quality text rendering. I keep checking in on Linux and despite installing all manner of weird hacks over the years, I've never got text looking as good as on the Mac in every app. 2) I've not found anything vaguely as good as Screenflow on Linux either for recording the screen and audio live and editing all in one app.
Because Linux (regardless which one) does not provide you the same desktop experience as MacOS. This is a subjective topic, all I am saying the experiences are different.
Personally I prefer MacOS over Linux because it just works from the UX point of view and I can run Linux on it pretty easily with Vagrant.
I ran Linux on the desktop from ~1996 until about 2008 when I switched to OS X. The things that keep me from going back is a much shorter list now than it was back then, but for me it boils down to:
1: Lightroom/Photoshop. I'm a hobbyist photographer, and the tools just aren't as good in Linux. Gimp, Darktable etc are interesting, but they just aren't up to par yet with Adobe's offerings. And basically everyone in photography seems to be using Lightroom + Photoshop.
2: iMessage - being able to have my SMS and iMessage messages on the desktop (and synced back and forth from my iphone) is just way too useful every single day. Yes there are apps that provide similar functionality, but the beauty of iMessage is that nobody has to use an app. They just send texts like normal. Maybe there is a solution to this that works in Linux but I haven't seen it.
Mostly for those with iOS/macOS development & the creative suite of software from Adobe & Apple.
There rest might do it for the heck of it too, slick UX & benefit of doing ML/DL from one single OS & machine instead of context switching between Linux machine & a macOS based laptop for the above reason.
I triple boot my i7-4770K+GTX780 with Windows 10, MacOS and Ubuntu. While I alternate between MacOS and Windows 10 every couple of months I rarely jump into Ubuntu unless it is to repair/recover something.
I've tried using it more. I recall using Ubuntu full time for about 2 months a couple of years ago.
But I'm a designer and use various CAD apps which are mostly available in Windows, some in MacOS and none in Ubuntu. I also recall breaking a lot of things when tinkering with Ubuntu.
So while I constantly have this drive to try Linux and open-source workflow I just never manage to make it work. I break things too easily and many trivial tasks are too much of an "hassle" (like getting proper CUDA support to use in Blender) meaning the chances of breaking things while tinkering is higher.
The two main things I haven't found viable alternatives for under linux are ITerm2, and reliable+configurable touchpad gestures (with features comparable to bettertouchtool + controllermate).
It's slightly amusing to me that by far and away the best terminal emulator that I've ever encountered is OSX-only, and it's embedded in my workflow enough that it would be a real pain to do without. I was going to note that FinalTerm inspired some of those features but was now dead, but going by [1] it appears it may be resurrected.
Xcode (and by extension iOS development) is one of those things that makes you wonder if it ultimately does more damage to Apple in the long run than good in keeping it Mac-only. What is the purpose in limiting the number of possible developers of apps/programs for your ecosystem by their brand loyalty?
- Apps that I've grown used to that are macOS only like 1Password, Photoshop, and Quiver
- Integration with iMessage - I really enjoy being able to send messages from my laptop
- Avoiding weird edge cases where shit just doesn't plain work on Linux. I have a lot of issues with a HiDPI display on Linux that I don't ever have to deal with on Mac.
I know Linux is about configurability, and that's why I'm running Elementary OS at home, but these are the reasons why I would consider a Hackintosh now.
This is the only reason I have considered a Hackintosh in the past, actually got one but didn't get around to writing code for it because I got busy with other things. I wish it was less of a closed garden. I'm not sure how it helps their cause by setting the entry bar tied to hardware costs.
Just adding to the other responses, one thing I miss whenever I am not on mac is quicklook/preview.
Finder can preview most files you browse instantly. be it music, images (including photoshop and raw camera files) video, text, pdf, spreadsheets, docs, etc.
Preview is a really amazing and simple app.
On top of my head of apps I use more or less daily. Xcode, Hazel, DragonDrop, 1Password, DayOne, Alfred, KeyboardMaestro, LINE, DaisyDisk, Sketch, Hopper, Fantastical 2, SnappyApp, BetterTouchTool and so on.
Some may have equivalents (but I'm sure nothing as polished) or will run under Wine but I have bad experiences with both.
There are also workflows that take advantage of macOS features (e.g. location service) that wouldn't work on Linux I guess.
I would miss Xcode for sure. Linux unfortunately has nothing that compares, unless you think a bunch of xterms running vi is a development environment. Don't even get me started on Eclipse (yuck!)
Visual Studio Code is available for Linux. I've never used it, but I'd think it would compare favorably to Xcode (especially since everyone seems to complain loudly about Xcode).
Thanks, I'll have to give it a shot. Always thought VS Code was more geared toward .JS but it looks like they have cobbled together extensions to support C++ [1].
I used Visual C++ long ago, in a past life when I used to develop on Windows, and it was pretty good. Played around with more recent versions of it (2010 - 2015) and boy has it gone downhill! Very slow and clunky compared to what I remember.
Install git without requiring root privileges... Also git is a 3rd party application, yet somehow all distros treat git as part of base system/OS bundle/whatever, so Fedora 25 has set version of 2.9, 24 of 2.7, etc. WHY. WHY. It's third party software, not part of your god damn OS - there should be only one version of git in the repos for ALL FEDORA VERSIONS - and that would be the latest... Come the fuck on.
Replace "git" with every other package....
Linux is so amateur hour with all plainly stupid decisions, I'd rather pay good money for proper unix.
If you want the latest and greatest of everything, you could use Arch Linux.
Git today in many ways could be seen as fundamental component of many tools. Many packaging and build tools use it to fetch data. (like homebrew, plugin systems for many text editors etc.)
Also, the git version of your distribution IS relevant because other packages depend on it. For example, on my Ubuntu system the git package is a dependency of over 170 other packages. If you could install a newer version, a lot of these other packages might break.
The recommended way of installing git on macOS is via Apples git variant by installing Xcode which also requires root privileges btw.
If you grab git from Homebrew, it doesn't overwrite the Xcode one, so if you depend on that you're good. How hard could this possibly be for apt-get and the like?
to be fair, there is LinuxBrew[1]; also, apparently you can use nix to the same effect.
I do believe that Linux-based desktop OSs should separate base system from user software, kind of like *BSDs have been doing; actually, I'd really distros to embrace something like homebrew, where packages are installed per-user
What can you do with Hackintosh that you still can't with a Linux distro?
Edit: Possibly a bit late to ask, but I should have asked if you had ever seriously tried Linux and if so what your experiences were like?