prospective_user asks:
"I
am a heavy user of Unix, spend most of my time running Linux and am
considering getting myself an iBook, after seeing a considerable
amount of exposure Macs/Apple have in both Slashdot and the O'Reilly
Network. Given that MacOS X is based on FreeBSD/Mach, I suppose that the usual
Unix libraries and environments (like ncurses and tcl/tk) are
available in MacOS X (which I hope is true, for text-based
applications). In fact, I'm concerned about the Unix side of MacOS X
and also plan on running Debian/PPC on it, but I plan to primarily use
MacOS X. So, before having an (uncertain) investment in a new platform, it
would be reasonable to have a bit more of background on it and thus,
the questions: how well does MacOS X support traditional Unix
applications? For instance, how do the following applications run
under MacOS X (which I use the most): teTeX, GNU Emacs, mutt and
fetchmail?" Note that the submittor isn't asking if OSX is or is
not a Unix; we've
fielded
that question already. No, the question here is where does OSX
differ from the other unicies.
"Also regarding the investment in a new platform and coming from the
x86 world, I'm a bit interested about the PowerPC performance in
comparison to what I could get with a x86 notebook. I've read some
articles and pages that suggest that PowerPCs may not be fast (or, in
fact, may be quite slower than their x86 counterparts):
Some of the sources I've read are:
these
pages, from
D. J. Bernsteins's website, and
this article on
processor performance from the
GMP website.
Also, as some later questions, can the portable Macs be plugged to
non-mac monitors? And does MacOS X feature a packet filter like Linux
or other BSDs do?
Any comments and experiences with these machines are welcome.
Thanks."
But as I dug deeper, the initial euphoria wore off. While MacOS X gives the impression of being a Unix, as one digs deeper into the system, it becomes more and more clear that it is anything but Unix:
- No
/etc. Well, technically, there is a /etc, but it is incredibly empty compared to what you may be used to in FreeBSD or Linux. None of the system's configuration is included in standard POSIX text files; Apple has opted to move everything into what they call a "NetInfo" registry. This is awful, to say the least. Obviously, Apple has failed to learn anything from the problems Microsoft's reliance on a central registry have propagated, and it wasn't long before I ended up having to reinstall MacOS X due to a corruption of the NetInfo database.
- Not everything is a file. MacOS X violates this essential tenet of the Unix interface by hiding the implementation of several core functions such as keyboard and mouse I/O behind a "CoreGraphics" ObjC library. There is no
/dev/mouse or /dev/kbd or any of the easy-to-use device nodes I've grown accustomed to coding for on Linux.
- Everything above the Unix layer is proprietary. The Unix world on MacOS X is completely separate from the GUI world. The Unix directories are completely hidden from the Finder, and likewise one cannot start GUI apps from the console. There is none of the tight CLI-GUI integration seen in AmigaOS or BeOS or even Windows.
If you're looking for Unix, I suggest you make room on your iBook's drive for Linux, which runs very well on Mac hardware, and is much faster than MacOS X to boot. I'm afraid all of MacOS X's vaunted Unixness is little more than FUD.Loneliness is a power that we possess to give or take away forever