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."
Actually, you can open up GUI apps from the console.
try "man open" at the command prompt.
and from what the guy was asking originally, i've had no problems running GNU software. I got BASH to compile and set it up as default shell, i've gotten VI to compile, and GNU Emacs seems to run just fine (even m-x tetris is available).
The CLI is a different world from the GUI, but you can turn on all most options to allow the finder to see hidden directories, the whole nine yards. Check out some Mac tip and trick sites...Admittedly it's not default in the OS and you have to peek around, but come on, y'all like UNIX, so why get lazy about learning the tricks of this system.
I'm afraid all of MacOS X's vaunted Unixness is little more than FUD.
OS X is based on Darwin, which is a full-fledged Unix kernel that complies with every relevant standard: POSIX, XPG, you name it. Because of this fact, software written within those standards compiles and runs with no problems.
Just this morning I wanted to download some big ISOs to my iMac at home while I was away; why waste that expensive DSL line just 'cause I'm not at home? So I logged in to my iMac with SSH and used NcFTP to download the source code for GNU Screen from the GNU FTP site. Then it was "configure && make && sudo make install." At that point, I was able to run "screen" and use a detached terminal session from the office to download my ISOs.
If that's not pretty damn Unix-like, I don't know what is.
Of course, that doesn't mean OS X is just like Solaris, or HP-UX, or IRIX, or FreeBSD, or Linux any more than those OSs are all like each other. The definition of "Unix-like" is defined by a set of standards, and OS X meets 'em.
You're talking about how different OS X is from your expectations, not how it fits the definition of "Unix." They're not the same thing.
Also, I don't think "FUD" means what you think it means.
It runs nearly all of my favorite open source unix apps, including the X applications. I am personally using mutt, gvim (that's vim with the GTK frontend), nethack and a few others. I like the new operating system very much, and even though bits of it don't look like unix, that's usually because they're NeXTish instead.
It's also probably reelevant to mention that the GNUstep libraries are mostly source-compatible with Apple's Cocoa API, so you can compile GNUstep apps and they'll work just like "native" OS X apps. Plus the development tools are all completely free (unlike the other major commercial desktop OS).
The Unix directories are completely hidden from the Finder
/etc, all I can say is THANK GOD! OS X is great for one reason only - they took Unix, dumped all the crap, and kept all the good stuff. It's Unix, how it was meant to be done. No more worrying about hundreds of apps, each with their own configuration mechanism - it all goes through Apple's (NeXT's) APIs and is stored as XML.
No they're not. There's an option - it MAY be "Show hidden files" or something to that effect, but I'm pretty sure it's not. I'm not at my OS X box right now so I can't check. It can be done, though.
Now, as for your gripes about
and likewise one cannot start GUI apps from the console.
Try the "open" command.
These are the exact same complaints aired in 1988 when the first NeXT machines shipped with NeXTstep 1.0. I agree with everything you've said. But keep in mind, Mac OS X is its own funky flavor of unix for a reason. I just wish NetInfo was optional. NI is a dream on a large NI network (I used to help admin 320 NeXTstations across our Math department), but it's a pain for someone that doesn't need its offerings.
Ignorance or Evolution? It's hard to say. But I can tell you I've been happy with Mac OS X thus far. Final Cut Pro 3.0 works perfectly. My digital cameras (USB still photo and FireWire MiniDV) integrate fine. OmniWeb 4.1 is looking to be a great new browser (plans for 4.2/5.0 are sounding awesome). And yet I can still run all of the goodies I'm accustom to on my Sun and my Linux box.
That said, OS X is not for someone who wants Linux in the first place. If you want the X Window System, if you want GTK or Qt, if you want GNOME/KDE/etc... do yourself a favor and build a Linux box. Running these under OS X is possible, but a kluge.
Mac OS X is a whole new world. Learn its ways and tools, compute with peace.
Hope this helps.
Whether you call it Unix at all depends on your definition. Depending
/bin, /sbin, and /usr are
/etc/passwd is essentially a stub. There is
/etc/inittab. There are few useful things in /usr/lib, /usr/share,
/etc, but /Library and /System/Library are full of goodies
/System/Library/Perl and /System/Library/OpenSSL). There is no
/Users (which through some automount magic
/Network/Users with the local /Users) Again, this system is
/System/Library and build your own
on whether you look at OSX from a kernel perspective, as a development
platform, a unix user, or a unix administrator, it can vary between
being a "true unix" to something very foreign.
It most looks like unix if look at a system call interface (aka
section 2 of the man pages. Things like open, read, write, close,
fork, and exec). The user commands (section 1 of the man pages. Things
like ls,cp, and rm) exist but all of
entirely hidden from the GUI. For actual user commands, they are in
some ways rather spartan (traditional BSD versions, not all-singing,
all-dancing GNU versions.) but there are some rather interesting
additions (emacs, tcsh, pico, gcc, autoconf, and gnu tar.)
Standard Unix system libraries (section 3 of the man pages
fopen,fread,printf,system,and popen) exist as a "non-preferred"
interface. The command line utilities are built against them, but
building an arbitrary tarball developed under linux might show some
compatiblity quirks. (those same quirks might exist trying to port to
FreeBSD) Most of the file and process oriented tasks can be done in
the OS X specific libraries with an API entirely unlike the POSIX ones
in libc. (This isn't anything new really, these OS X libraries are the
updated versions of what came with the first NextStations in 1987.)
Shared libraries are somewhat different than what probably currently
exists in FreeBSD. I bet it started because NeXT implemented shared
libraries before the became standard in BSD, but they need to continue
their own system because it hooks into the object oriented IPC
framework that is much of what the makes the system interesting.
From a system administrators standpoint (I guess to keep my analogies,
section 4 (device files) and section 5 (configuration files)) things
are radically different.
no
/var, or
(like
/home, instead there is
merges
inherited from NeXT.
As a user, its a modern mouse and windows type of system. Its slightly
more interapplication oriented, less monolithic application oriented.
Like my friends who used NeXT systems in the past, there seem to be
two ways to deal with the system peculiarities. The first is to assume
that the system is a very stripped down Unix system, ignore whats in
/Library and
/usr/local/{bin,lib,share}. The other way is to buy into its
weirdness.
(Score:-1, Offtopic)
The titanium powerbook is an awesome piece of kit. Shame on those that don't have one.
Yes, the Ti PowerBook has a lot going for it. Yup, it's thinner than thin. Uh-huh, beautiful screen. Ooh, built-in Gigabit Ethernet. Pretty fast, too, and it comes with a combo DVD-ROM/CD-RW. Hard to beat.
But it's not perfect. To install an AirPort card, you have to skin it completely. And the sexy titanium skin is so thin, it scratches and dents very easily. And titanium is one of the most conductive metals on the periodic table; after an hour, the bottom of the laptop gets hot enough to make your thighs and the palms of your hands really uncomfortable. The joke going around the office after we bought ours was that Apple was planning to make the next one out of copper.
It's an awesome laptop, but in my opinion it's just a little bit too delicate. I love my iBook. I throw it in my backpack and hit the road. Over $1,000 cheaper, too.