
What OS should I used daily (Linux or OS X)? - airswimmer
I had been using Linux for decades. 
And I am used to the software and packages on GNU&#x2F;Linux(Debian). 
But recently I got a Mac, preparing to develop iOS apps on it. But I found that gradually I had to migrate&#x2F;port some other Linux tools for OS X. It really costs time to do so when you replace the development environment. 
GNU&#x2F;Linux has great tools for developing most things in console. But it doesn&#x27;t come along with some elegant DE (I am a KDE fun) as OS X has.<p>I am obsessed with the UI&#x2F;Easiness of OS X. But I still want the convenience&#x2F;productivity of GNU&#x2F;Linux.<p>Do you have some ideas?<p>(P.S. The `homebrew`(unofficial OS X package manager) stuff is cool but it can never compare with `apt-get` or `pacman` or `emerge` or `yum` or `gg my friend` )<p>Have you ever experienced this? 
How did you live with it?
======
informatimago
I would advice MacPorts.org instead of homebrew.

With package managers such as macport and homebrew, you can run on Darwin
freedom/open source programs, including a lot of GNU software that you also
find on Linux. You can also compile those freedom/open source programs
yourself, or get binaries produced from them (eg.
[http://emacsformacosx.com](http://emacsformacosx.com)).

The alternative, is to run Linux binaries on a Linux system, with two choices
here: have a linux box on the network, or use a virtual machine in your MacOSX
system. I'd advice Virtual Box, which is a freedom/open source x86 virtual
machine provided by Oracle.

In terms of user interface, you have coarsely three classes of programs: CLI,
X11 and native GUI (Cocoa).

For all the CLI commands, there will be no difference of user experience
between a Linux binary and a Darwin binary of the same program (apart from the
differences of feature in the host OS, it may be significant for some system
tools).

Some freedom/open source applications have multiple backends, including a
native Cocoa one, and in this case, it is indeed a very good idea to compile
it on the MacOSX system to use the native Cocoa user interface. emacs is such
an example, with [http://emacsformacosx.com](http://emacsformacosx.com).

But the best is to use a X11 server on MacOSX.
[https://www.xquartz.org/](https://www.xquartz.org/) Then you can run both the
freedom/open source programs compiled on MacOSX and Linux programs running
either in a virtual machine or on another machine on the network, with all
user interface inside X11 on the MacOSX screen. Of course, you can run all the
KDE programs here or there. And you can also change the window manager, if you
don't like quartz-wm which decorates the X11 windows like Cocoa windows.

Notice that virtual machines provide a (graphical) screen emulation too, but
in general I find it slower and more inconvenient to use, than running the X11
server on MacOSX.

~~~
airswimmer
Thank you. I have dig a bit into xquart and found it to be a nice X11 tool.

Firstly, so did you refer that you work on Linux and connect to your MacOS
which is running a X11 server using xquarts?

Secondly, how do you manage the files on your Linux machine if you use your
Mac as the main machine? Do you use SSHFS to mount your Linux drives on your
MacOS? (I'm used to the environment that Linux gives me, and try to work on
Mac without giving up Linux tools)

------
ankurdhama
Why do you think homebrew can't be compared with apt-get or etc?

~~~
airswimmer
Homebrew depends on git when fetching sources. Sometimes it fails at compiling
or so. Not like the binary fetched directly from `apt-get` or others.

For other GNU/Linux package managers, they have package distribution standard
(testing). Homebrew maybe give us latest package but I can't be sure whether
it's stable and reliable for production.

`apt-get` or others are backed by companies or major communities.

\---- But words in short, I really don't want to carry 2 computers (ThinkPad &
MacBook) to work, travel or anything. Do you have some suggestions?

------
moondev
docker for mac will allow you to run anything you want inside a container. I
like to use temp containers to build things without the pain of setting up
tools

~~~
airswimmer
Yeah. But docker is a just a container. Not only do I sometimes develop things
in console ( for services) but also develop tools in DE (such as PyCharm,
IDEA, QT creator, android studio).

What's the difference if you install GNU/Linux on a Mac, will you regret it?

~~~
shams93
Yeah docker won't get you GUI software like QT Creator to use those on my mac
(when I had a mac) I used a regular virutal box vm with a full xubuntu
install.

~~~
andreicon
check out [https://hub.docker.com/r/zachdeibert/qt-
creator/](https://hub.docker.com/r/zachdeibert/qt-creator/)

desktop apps in docker are just a matter of mounting relevant drivers and
files in the container

~~~
airswimmer
Okay. So basically this guy uses docker to set up a X11 server with qt creator
and other development environment in a server. Meaning while, the user can use
a local X11 client to connect to the X11 server which do the real computing.

But this highly depends on the quality of Internet. Every PC can do it with a
X11 client.

This is a good try, but not very practical.

