oreilly.comSafari Books Online.Conferences.


AddThis Social Bookmark Button Mac Dev News Roundup

Rootless X Server on Mac OS X

by Chris Coleman

Based on the feedback I received from my overview of X on X, I thought I'd tackle how to install rootless X Server.

The term "rootless X Server" can be misleading. In this case, "root" doesn't refer to "super-user" as it is often used. Its meaning in this article is that you can run a program with an X Windows interface directly over the desktop in Mac OS X without the application being tied to the computer's original desktop (in other words, Aqua). It runs "rootless."

Rootless X Server is available right now. The folks at are selling binaries of XFree86 4.0.3 with a patch to make it run rootless. Rootless X Server broke in the latest version because of some changes in other areas of the code, and work hasn't finished to get it going again. I checked the project status on, and the task to finish the rootless X Server shows it is 85 percent done. But I'm not sure how accurate that status is. I do know that rootless X Server didn't make it into the latest release of XFree86 4.1.0.

While reading the X on X forums, I came across a recent patch to XFree86 4.1.0 that re-implements rootless functionality. I debated applying that patch and compiling XFree86 from source. According to the message accompanying the patch, it reverts back to the previous versions of some code in order to work around the stuff that broke the previous rootless X Server patch. I also noticed a message that suggested compiling the current CVS source for XFree86 and starting X with the -rootless option. CVS sounds like the way I'd like to start.

Obtaining XFree86 via CVS

The easiest way to obtain XFree86 is to download the precompiled binaries for your OS. However, binaries are only available when a new release comes out. To get the most up-to-date code, we need to use CVS. CVS is a tool for managing source code and is used by a lot of open-source projects. CVS is already installed on Mac OS X.

Getting the code via CVS is quite easy and if the download gets cut off, it will restart right where it left off.

Instructions on how to obtain XFree86 through CVS are located on the XFree86 CVS web page. It lists several ways that you can get the code. I'll show you the easiest way.

Open up a terminal window and type this:

cvs -d login

This will ask you for a password, which is anoncvs. That logs us into the CVS pserver and from there we can execute regular CVS commands. To get the code, we want to use checkout.

cvs -d checkout xc

Comment on this articleThe default window manager for this install of rootless X on X is less than perfect. Have you tested other window managers with this configuration?
Post your comments

The above command will start a large download process that will place several thousand files and directories on your hard drive. This is the source code for XFree86, and depending on your connection speed, the download may take a while.

I was downloading via a modem and got disconnected several times. After more than two days of trying to download, I finally had all the files. I did a du -ks xc and found out that I was the proud owner of 300MBs of source code.

The next step was to compile all the code I just downloaded.

cd xc
make World > world.log &
tail -f world.log

The build process took several hours on my tangerine iBook, and in the end I had 520MBs of files, including the source code. The next step was to install what I had just compiled.

sudo make install > install.log &
tail -f install.log

By preceding the command with sudo, we invoke our rootly powers. You'll be asked for your password. When you type it, it won't echo to the screen, so you won't see what you've entered.

Pages: 1, 2

Next Pagearrow