Apple Explains How to Run X11 on Mac OS X
tuc writes "In this document posted on its Developer Connection, Apple explains how to install X11R6 on Mac OS X, details of the default quartz-wm window manager, how to compile X11 code on Mac OS X, how to install OpenOffice, and the like."
I think I'll wait to RTFA until after I've tried everything on my own first. Nothing like thrashing randomly to help you learn about a system :-)
Do they pronounce it 10-11?
Step 2: There is no step 2!
"Nobody owns the fucking words man." - James Dean
It won't be long before windows does this too...ow wait.
GETPKG - Package Management for Slackware
Believe me, you do not want to see what the Makefiles for a piece of software like that look like. We're talking about the era before GNU-style "configure" scripts and Makefile modularity. It's hideous. But it works. And it makes the differences between the various UNIX platforms as clear as day.
Right now, I'm in the middle of porting our main project to run on OS X, so this article is very timely. To be honest, I anticipate that the majority of the difficulty will be in getting the make system to run correctly, and possibly fixing a number of linker issues. I expect that the code itself will work almost unmodified.
I don't think Apple is embracing it. They're providing compatibility to a clunkier interface but that opens them up to the zillions of unix/linux apps available. Most of the software that runs in X11 wouldn't be considered competing packages.
Trolling is a art,
Isn't X-11 already available either on the mac-install disk and as part fo fink. Or are these just X-11 servers instead of being real cleints (using the bass-ackward X-11 speak)?
Some drink at the fountain of knowledge. Others just gargle.
IMHO this is a reaction to the announcement that no aquafied OpenOffice is planned.
Apple doesn't want people to think they are locked into MS Office (hope it continues to support Mac OS X).
This way, Apple can say commercial grade alternatives do exist.
Apple's products aren't bad... but lets face it, they target home and educational use. Not a business person who wants to occasionally work from home. Microsoft does have powerful software, despite being buggy and insecure.
IMHO Open Office rocks. Wish Apple would invest in an aquafied port.
It's worth remembering that an X application doesn't have to run on the same system as the terminal. So even if you can't get the source code, you might be able to run the software, provided you're willing to spring for a Unix box the software supports. That might be useful for people who need commercial applications (such as FrameMaker) which are no longer available for the Mac, but is still supported for Solaris.
It's much less work than, say, porting a UNIX project to run on Windows, but it's definitely much more complicated than just copying the source code to the Mac and typing "make."
X11 isn't installed by default. You have to do a custom Panther install.
"The objective of securing the safety of Americans from crime and terror has been achieved." -- John Ashcroft
X11 is the protocol. XFree86 is the implementation that nobody likes anymore due to the change in license. X.org is the implementation that everyone is moving to. There are a number of other implementations.
Apple committed to XFree86 long before they changed the license. They may move to X.org as that implementation gets better features.
I rarely criticize things I don't care about.
We have been doing this via fink for quite some time now. http://fink.sourceforge.net/
Apple's X11 implementation is based on the widely-used XFree86 project
Is apple going to switch to X.org, since most everyone else has already? or are they sticking with XFree86 for the long run? What kinds of compatibility issues will develop as a result of that?
X.org is an implementation of the X11 protocol. X11R6 is the 6th revision of the X11 protocol. There was supposedly an X10 protocol before X11. What people have begun abandoning is XFree86, and not everyone is leaving it. I think NetBSD still uses it.
I rather like how the instructions talk about how to run X11 remotely, and the first thing they do is tell how to do it over ssh, with simple, easy to understand directions on how to do it. That is how "how to" manuals should be written.
2 points to Apple for doing that, and making my coworkers jobs a little harder (they're penetration testers).
52 Weeks, 52 Religions with John Hummel
and their X11 is OpenGL native. So, rendering is fast as hell.
X11R6 is the protocol used, not the implementation. The XFree86 project was a popular project to implement the X11 protocol on 8086 machines. Because of politics, the X client/server was branched by x.org (as the source code was open), so a different development style could be done (and from what I understand many of the people from the XFree86 project switched to x.org as well). There do exist other implementations of X11 that cost money, but at least in the past advertised better performance.
Horrible makefiles haunt my dreams. I've had nightmares about them...
http://www.abisource.com/
I could never get OO to work on OS X, though I use it on my Windows Machine.
"MIT betrayed all of its basic principles."
Do they really need a step by step..
Why shouldn't they? Macs appealed to all different types of users including the lowly n00b that didn't want to know anything about their machines.
A step by step guide (including how to do it all over SSH) is a great way to bring the information to ALL their users.
OS X has been running X11 for quite some time. It's just now that there might be a need for all their users to get access to it.
Disclaimer: I am a developer for Mac OS X OpenOffice.org and a founder of the NeoOffice project.
:)
I happily noticed this myself earlier on in the week and was impressed to find the OpenOffice.org related section. Unfortunately there are some inaccuracies in the section, but I couldn't find any address to which corrections should be submitted.
Perhaps the most major omission is that the OpenOffice.org Mac OS X (X11) installer is not limited to 10.3 only. In fact, it supports both 10.2 and 10.3. For 10.2 users it also will automatically install XFree86 and a window manager if the system does not have XFree86 on it. Since Apple X11 is not redistributable under its license, 10.3 users are required ot manually install Apple X11. Ironically, that makes installation on 10.3 more inconvenient then 10.2!
On the trinity forums Smokey also noticed the file format "incompatibility" line in the article. It isn't actually true since OpenOffice.org is 100% compatible with StarOffice which, last I checked, is a commercial office suite even if it doesn't run on Mac OS X
Even with the little foibles, it's great to see support from Apple for X11 applications in general as well as a basic introduction that can help open up the entire world of X11 OSS applications for users, not just OpenOffice.org.
ed
In the section "Which Machine Is the Client?", they completely mess up the explanation. What is wrong with just saying "The X server is a display server. X applications are clients (running on your machine or another machine) which request the server (which may be running on your machine) to do something ("draw a line", etc)."
Hey now, that didn't deserve an offtopic. I bet I'm not the only one that misunderstood the difference between a protocol and an implementation of that protocol. Anyway it's still relevant because Apple may use XFree86 or X.org, and that was kinda my original question.
But seriously, thanks for clearing that up. All 12 of you.
Disclaimer: I am a developer for Mac OS X OpenOffice.org and a founder of the NeoOffice project.
/. comments in that thread.
Well, as it turns out my update to the timeline was grossly misquoted in a couple of places. The update was really just to put things in perspective as to what was really going on in the various projects as well as to reinforce the importance of the X11 work. It was never intended to "cancel" anything since, well, there wasn't really anything to cancel. The update was just stating how things really are within the project.
Today's article on eWeek has some much better reporting on the progress towards 2.0 X11 and other issues that had been raised by my update. I highly recommend giving it a read as it's a bit more informative then the old
ed
Disclaimer: I am a developer of Mac OS X OpenOffice.org and a founder of the NeoOffice project.
If the X11 server was preloaded onto all Apple systems, it would also solve quite a number of distribution problems for OpenOffice.org and other X11 applications. The license for Apple X11 doesn't allow third parties to bundle it and redistribute it. That makes it really frustrating from an installation perspective. Instead of being able to automatically install the X11 server (like we do using XFree86 for 10.2) we have to prompt the user to either go out and find where the X11User.pkg is on their Panther CDs or Software Restore CDs or even go and download it from Apple to install. Our installers can automatically install all of the other 6 applications OOo requires to run, but we just can't get Apple X11 so it kind of puts a dent in the installation experience. I'm sure that other commerical appliactions like MATLAB would like to be able to auto-install X11 as well.
Preloading X11 onto all shipping systems would allow us to not have to worry about users getting confused by the additional steps of the process. Traditionally, Mac installers are very simple and it's rare they require other software to be installed first.
Another solution which would be equally good IMHO is if Apple could come up with some type of distribution clause in their license to allow X11User.pkg to be bundled with installers for other applications. I don't think the problem is the underlying XFree86 based stuff, but rather quartz-wm and maybe other components. Last I knew quartz-wm wasn't open sourced, only the XFree86 derived stuff under the MIT license.
ed
If you want OpenOffice on OS X, help make one of the NATIVE ports more popular by using it. NeoOffice/J It's a totally native client that uses Java to render the UI. (Native Java? These are strange days.) Please help keep X11 apps off OS X.
I realize we're stuck with X11 on Unix, but if you're sitting on top of Quartz, might as well use it, no?
this sig limit is too small to put anything good h
The Apple article was helpful and all but there are guys who have been working on the XFree86 port for a long time, like since 2002 or something, so if you need a place to get answers to running X apps on OSX, keep an eye on www.xdarwin.org/forum
http://tinyurl.com/4ny52
No. OS X is Unix, and Apple's X11 implementation is fine. X apps don't 'behave' as well as native applications, but all the stuff you love about X, e.g. network transparency, works great.
What they need to do is write a simple extension to their version of X11 that allows X11 applications on the Mac to have their own Dock icons. Even if it weren't backward-compatible, a lot of projects like OO.o would quickly move to implement this. If they made a standard to embed X11 programs in .app form, it would be great for many applications. Obviously you wouldn't want everything this way, but many applications would benefit. Combined with quartz-wm, such a system would allow such a completely transparent integration that less advanced users would find it unnecessary to distinguish between Cocoa/Carbon and X11 apps. This and a little bit of polish could make certain projects like OO.o take off on the Mac IMHO.
English is easier said than done.
What X11 applications look like is beyond Apple's control. If you don't like their looks, just don't use them. Most users don't give a damn in my experience.
That's everything that's wrong with OpenOffice (and most other UNIX GUI) software in a nutshell, folks.
Developers generally don't care about Look & Feel, and when you're developing a package that primarily targets Linux, an OS whose desktop use is primarily confined to tinkerers, devs, or people making an ideological statement, most of the people you interact with aren't going to care, either. They've got bigger things on their mind.
But, and this is a big but, there is a reason that people who only use Windows or MacOS feel that OpenOffice is a clunky, user-unfriendly piece of software. It's because for the vast majority of GUI users (who overwhelmingly use Windows or the Mac), being able to use their software, and use it easily is much more important than whether or not it's interface cruftiness allows it to be ported to some developer's NetBSD toaster. Regularity of interface and ease of use matters to ordinary users.
Sure, the people you interact with on a daily basis don't share these concerns, but guess what: These people are not typical. As long as the OpenOffice developers basic attitude it "Hey, just install X11 and run OpenOffice with it. Users can either put up with it's idiosyncracies or fuck off", it's destined to be a distant also ran in most people's minds.
Great, I was just thinking the other day, "Ok, having UNIX underpinnings is great, but I miss the clunky, inefficient, bloated, ugly and outdated graphical interface that I used to have with linux and solaris."
I think you're over-estimating the animosity between MS and Apple, if indeed there's much at all.
Of course, they compete with eachother, but what you describe doesn't sound like my interpretation of Apple and MS's behaviour.
The Macintosh Business Unit at Microsoft have a very close relationship with Apple. They're not just some MS developers who've been told to bash out some Mac knock-offs of Windows software. They're all long-time Mac developers who want to make the best Mac software they can. The spin-off of the MacBU to a separate division meant that they could work on making Mac software, not Windows ports. As this article explains, before the creation of the MacBU, the Win & Mac versions of Office shared 80% of the same technology. The result? Shoddy, un-Maclike software which no-one liked and few bought. The MacBU now works every bit as closely with Apple's technologies as it does with MS's.
Office:Mac (both v.X and 2004) are very nice programs. They're not perfect, but they bring a very usable, feature-rich, Mac-specific Office suite to the platform.
Apple would not benefit one single bit from making the MacBU's software unprofitable for Microsoft. iWork is not a replacement for Office. Keynote's a very nice alternative to PowerPoint, sure. But one app does not an Office-suite make. Pages is clearly not in the same space as Word. If you need Word, you won't buy/use Pages. If you don't need Word or can't afford Office, Pages is a sensible choice. If Pages is aimed at those who don't need or won't buy Office, it's hardly a competitor, is it?
Just as Pages is not a drop-in replacement for those who need Word, any rumoured spreadsheet app will not be a drop-in replacement for those who need Excel.
Apple aren't in the business of making 'temporary, difficult alternatives'. They're about fulfilling user's needs (with the caveat that, like all corps., they don't always get that right!).
What's the frequency, Kenneth?
Some compilers require an explicit "-ansi" switch to properly compile ANSI code. HP7v8 requires the magical compiler flags "+DA1.0 +DS1.0". On Solaris, we need to add a "-Xc" flag.
The situation is complicated by the fact that we do two Solaris builds. One build is done with the native compiler, the other uses GCC. As you might expect, these require slightly different flags.
Some platforms need a "ranlib" program to build the library indexes in the .a files. Some platforms have this functionality built into the ar utility.
On Solaris, we need to link against libsunmath.a instead of the traditional libm.a. Solaris also required linker flags "-lw -lresolv -lsocket -lnsl -ldl", other platforms do not.
Don't even get me started on the difficulty of doing static/dynamic builds (we do both types) on each of the various platforms. Some of the platforms have GNU binutils. Some do not. Some are remote. Some of the platforms we compile on don't even BELONG to us (we build on the customer's system).
Did I mention that this thing works on VMS and OS/390 also? And that it depends on Motif?
The main reason I can see for Apple not doing such a thing is that it might make things seem a bit weird to people who are accustomed to thinking of each computer as a separate device, and not a big cloud of computation/storage/etc., and would rather do the "cloud" functionality via more traditional (to Windows/Mac users, anyway) file-sharing conduits such as AFP, WebDAV, etc.
Incidentally, Cocoa is the API, while Aqua is the equivalent of the window manager. Cocoa is to X11 as Aqua is to, say, fvwm, twm, pwm, etc.; it's not Aqua which would be made network-transparent.
There are 10 kinds of people: ones who understand ternary, ones who don't, and ones who think this joke is about binary
Bah, silly developer. This is good- any true MacOS X developer who actually tries out OpenOffice under X11 will, after his or her face has stopped twitching enough that they can see again, look for some alternative and find NeoOffice and start helping purely out of motivation to let OpenOffice under X11 die a fast death :-)
Please help metamoderate.
Hey!
That's it!
Funny thing is I had enabled the Windows Sharing in that same dialog earlier to get samba working, and i hadn't noticed that ssh was in there.
Actually I didn't expect something as arcane as ssh to be so simple, but that's Mac for you.
I just received this machine (A G5 Powermac, the 64 bit one with dual processors) and I can see I still have a bit of "unlearning" to do.
Thanks thesman, very kind of you.
I don't know the meaning of the word 'don't' - J
I've done this sort of thing before - had to have things that run under linux, Irix, SunOS, and windows. It's not really hard as long as you start out with the idea that things are going to be system-dependent. I had directories with Makefiles in that called directories (some ours, some 3rd-party) Makefiles etc. etc. You just need to put the thought in ahead of time.
/. these days leads me to believe I've become an old fart. Oh well. Happens to the best of us [grin]
My solution was to have the top-level Makefile set a variable based on running the 'uname' command, and then 'include' the definitions that worked for the platform, based on the variable name (we were running gcc and gmake on all the platforms, although the windows one was cross-compiled under Linux. Believe it or not, this was easier!)
So, CC, CXX, JAVA, LD, RM, AR, RANLIB
etc. etc were all defined within the platform-specific file, and the main Makefile looked pretty clean. All you have then are the #ifdef statements in the source code. It did get to the point where for one project we simply had different source code for the Windows variant, and the platform-specific Makefiles copied the correct file into place before trying to compile the module in question...
Looking back at the posts I'm making on
Simon.
Physicists get Hadrons!
To expand upon what canon006 said, by default the "root" account is disabled in OS X. For security reasons, it's not recommended that you enable it unless you really, really need it. If you need to run a command as root, you can type "sudo [command name]", and when it asks for a password, type in your own password, assuming your account is considered an Admin account in the system preferences.
.deb package format, even). If you're a long-time Linux user, there are probably a lot of little programs in there that you'll find useful.
By the way, if you're new to OS X, I'd recommend checking out Fink. It's basically a package manager for UNIX software that is known to compile on OS X; it works somewhat like Debian's apt-get (it uses the
Karma: Terrifying (mostly affected by atrocities you've committed)