Rootless X Free on MacOSX

All I want to be able to do is telnet to a remote host, set the DISPLAY variable back and run a unix app and have it display on my screen.

Has anyone got this working?
 
Yes. I got this working some time ago - but not rootless. I have XonX (Xdarwin) working. It takes over the whole desktop - so no Aqua applications running side-by-side ... but it works.

I ssh to my Linux box, set the DISPLAY variable, and everything just works - I can even run KDE and Enlightenment. In fact, I just run my .xstartup script so I get a bunch of xterms and other things as well

Another thing that I often do (because I use Windows machines as well) is to use VNC. I have a VNC server running on Linux, and I run the OS X VNC viewer to connect to it - giving me my X desktop in an Aqua window.
 
Originally posted by majortom


Actually, NXHost'ing went away with DPS. Since there is no longer a DPS server to NXHost to, it can't be done under Quartz.

Actually, I think that porting something like GTK+ to use Quartz would be the best of both worlds. Basically, what I'd rather have is an X-11 equivalent of Carbon -- meaning that you could recompile X-11 apps with this toolkit and have Aqua apps although they wouldn't be as well integrated as native Cocoa apps.

/carmi

Of course it can be done with Quartz! Geez, it's not like you have to use postscript, it would use remote PDF display.

GTK+ sucks and is the worst idea I have ever heard in my life. GTK+ is for X11 only, it's a toolkit for X11 programmers who don't want to make their own tables. It would be utterly POINTLESS to run GTK without X11. GTK apps running without X11 would behave the same as GTK apps running with X11 so you may as well run X11 to run GTK apps in all their glory.

If you want X11 apps run X11.

It's bad enough that some apps with an Aqua facade do not follow the Aqua HI Guidleines, but your suggestion would bring the pure chaos that is X11 to OS X.

Worst idea ever
 
A lot of the people who would like rootless X windows running on MacOS X is that it provides a low barrier of entry to get a lot of useful Unix tools running on MacOS X.

There are a lot of systems administators out there right now who typically have two machines, a Unix workstation for doing Unix stuff, and a Mac or a PC for doing office productivity stuff. Or they have a single machine that is dual boot to a Unix system and a consumer market operating system.


MacOS X with a decent X Windows server gives these people the possibility of a single machine on their desk that can do everything they need, without ever rebooting into a different OS. The apps
they need under Unix will either run immediately, because they are running from a remote machine and merely displayingon the Mac as an X Server, or will run with a recompile, which to most of this crowd is not a big deal.

Re-writing all these Apps in Cocoa is a much higher barrier to entry, and whilst it would result in a much higher quality product as far as the interface went, would lower the sell rate into this market. These typically are not mass market applications.

The other area where a good local X Server is advantageous is in a lot of scientific applications where access to Altivec, on multi-CPU machines, is potentially again, a low barrier to entry, but high pay off choice.

None of these are mass market apps and their users will tolerate some sharp edges in the user interface. Having X will mean we get many many more of these sorts of people moving to the mac platform, and generally, I think thats not such a bad thing.

 
Originally posted by uroshnor
The other area where a good local X Server is advantageous is in a lot of scientific applications where access to Altivec, on multi-CPU machines, is potentially again, a low barrier to entry, but high pay off choice.

That's exactly the point. Earlier in this thread someone stated that X apps are more or less (interface) crap and should be rewritten. But that won't work for some of the scientific UNIX frameworks that I know and use, simply because they have to support a wide range of architectures. Of course, it would be nice to have an Aqua version of this. But having an X version that compiles and runs with minimal changes to Makefiles/source code is a huge step for the platform.

I'm absolutely thrilled by the fact that within a couple of months we have TeX, X11R6, and a whole lot of other unix tools on MacOS X. Gone are the days of dual booting LinuxPPC and MacOS 9 and the fiddling with MacOnLinux. My daily work on MacOS X would not be possible without XonX and if MacOS wants to survive in higher education and science it has to be able to cooperate with UNIX - and for me that includes "talking" X11R6.

Sven
 
I agree with the previous posting. I've got the GIMP, and molecular modeling program molmol, and other applications running only because someone bothered to port them to OSX via the X11 route. User interfaces and pretty window dressing are less important to scientists who want to use specific applications in their work then they are to casual users of an operating system.

Richard M. Gronostajski
Assoc. Staff
Lerner Research Institute, Cleveland Clinic Foundation
Dept. of Cancer Biology, NB40, 9500 Euclid Ave. Cleveland, OH. 44195
Assoc. Prof., Case Western Reserve Univ., Dept. of Biochemistry

Phone:216-445-6629 Fax:216-445-6269
Lab Webpage http://elegans.swmed.edu/Worm_labs/Gronostajski/
CCF homepage http://www.lerner.ccf.org/pi/gronosta.html
CWRU homepage http://www.cwru.edu/med/biochemistry/faculty/gronostajski.html
 
Revised instructions:

Install the OS X Developer Tools

XFree86
XFree86 runs on Darwin, but not in Aqua. Just installing this, you can run it if you exit aqua (login as >console at the OS X login screen) and login to Darwin as root. Also, you need to create a .cshrc file in root's home that includes the XFree86 binary directory in the path <example: set path=(/bin /usr/bin /sbin /usr/sbin /usr/local/bin /usr/local/sbin /usr/X11R6/bin/) >
Homepage
www.xfree86.org
Source (for patching)
ftp://ftp.sourceforge.net/pub/mirrors/XFree86/4.0.2/source/
Binaries for Darwin
ftp://ftp.sourceforge.net/pub/mirrors/XFree86/4.0.2/binaries/Darwin
Instructions for XFree86 binaries
ftp://ftp.sourceforge.net/pub/mirrors/XFree86/4.0.2/binaries/Darwin/Install
Download these files (binaries):
1. Xinstall.sh The installer script
2. extract The utility for extracting tarballs
3. Xbin.tgz X clients/utilities and run-time libraries
4. Xlib.tgz Some data files required at run-time
5. Xman.tgz Manual pages
6. Xdoc.tgz XFree86 documentation
7. Xfnts.tgz Base set of fonts
8. Xfenc.tgz Base set of font encoding data
9. Xetc.tgz Run-time configuration files
10. Xxserv.tgz XFree86 X server
The following thirteen (13) tarballs are optional. You should download the ones you want to install.
(note: I don't know if any of these are required)

1. Xfsrv.tgz Font server
2. Xnest.tgz Nested X server
3. Xprog.tgz X header files, config files and compile-time libs
4. Xprt.tgz X Print server
5. Xvfb.tgz Virtual framebuffer X server
6. Xf100.tgz 100dpi fonts
7. Xfcyr.tgz Cyrillic fonts
8. Xflat2.tgz Latin-2 fonts
9. Xfnon.tgz Some large bitmap fonts
10. Xfscl.tgz Scalable fonts (Speedo and Type1)
11. Xhtml.tgz HTML version of the documentation
12. Xps.tgz PostScript version of the documentation
13. Xjdoc.tgz Documentation in Japanese
Then, from the terminal
1) 'sudo tcsh'
2) From directory that X*.tgz where downloaded to
'sh Xinstall.sh'

Rootless XFree86 in Aqua
Patch method
This patch is designed to be ran again the XFree86 source code & then recomplied.
1) render.patch (& instructions) that must be patched to the XFree86 source before the rootless.patch
http://sourceforge.net/tracker/index.php?func=detail&aid=421267&group_id=18034&atid=318034
2) patch to make X run in Aqua (& instructions)
http://sourceforge.net/tracker/index.php?func=detail&aid=421300&group_id=18034&atid=318034

Binary Method (the one I used)
Download these bad boys. The first one is a binary
http://www.sealiesoftware.com/XDarwin.dmg
http://www.sealiesoftware.com/XDarwinIOKit
http://www.sealiesoftware.com/XDarwinStartup
Here's how to install the binary:

1. Open XDarwin.dmg. It's a self mounting image.
2. Copy XDarwin from the disk image to /Applications
3. `sudo tcsh`
4. `mv -f XDarwinIOKit XDarwinStartup /usr/X11R6/bin`
5. `cd /usr/X11R6/bin`
6. `ln -s /Applications/XDarwin.app/Contents/MacOS/XDarwin XDarwinQuartz`
7. `rm -f X ; ln -s XDarwinStartup X`
8. `chmod -R a+rx XDarwinStartup XDarwinIOKit`
note: you still must have a .cshrc in your home directory that contains the path to /usr/X11R6/bin/
example: set path=(/bin /usr/bin /sbin /usr/sbin /usr/local/bin /usr/local/sbin /usr/X11R6/bin/)
9. To launch, type 'startx -- -rootless' from the terminal.

A word of warning: xeyes crashes rarely and AfterStep crashes
repeatably. Most likely there are other crash cases too.
 
Get XFree86 installed (see above). Be sure to include the Xprog.tgz in your install.

Fink
Used to download, compile & install GIMP
From the website:
"Fink is an attempt to bring the full world of GNU and other Open Source software to Darwin and Mac OS X. Think of it as an add-on distribution (in the Linux sense) for these systems. Once it is more mature, I want Fink to evolve into a general package manager suitable for all Unix variants. Fink wants to be simple, functional and fully automated. GNU stow is used to manage a separate directory tree. The fink package manager downloads, configures, compiles and installs software from the internet."
http://fink.sourceforge.net
http://sourceforge.net/projects/fink
Using Fink through a proxy
http://fink.sourceforge.net/faq/general.php#proxy
Download Fink
http://prdownloads.sourceforge.net/fink/fink-0.2.1-full.tar.gz

From Terminal
1) 'sudo tcsh'
2) 'cp fink-0.2.1-full.tar.gz /'
3) 'tar xvzf fink-0.2.1-full.tar.gz'
4) 'rm fink-0.2.1-full.tar.gz'
5) 'cd fink-0.2.1-full'
6) './bootstrap.sh'
7) Choose method of having fink run as root (I chose sudo)
8) Enter directory to install Fink (default /sw)
9) Enter directory to look for extra tar balls (default none)
10) Set display verbose (default N for No)
11) Pick continent (I picked North America)
12) Pick country (I picked United States)
13) Select GNU mirror (I picked 10 - wuarchive.wustl.edu)
14) Select GNOME mirror (I picked 1)
15) Select GIMP mirror (I picked 1)
note: If the install fails (example: mirror site is down)
rm -rf /sw
before trying to re-run ./bootstrap.sh

GIMP
http://www.macgimp.com
Instructions on installing GIMP w/ Fink
http://www.macgimp.org/zizban/Gimp-1.2.1.html
"There are two things to keep in mind when using Fink. First, before every download you must su to root. Second, you must type this command into the Terminal before starting a download:
source /sw/bin/init.csh

This just tells the installer where to look for dependencies.

Now you are ready to rock. Now do this:

cd /sw/bin
./fink install gimp

This will download everything you need to run the gimp. It will take a while. Go read a book or surf the web.

Once everything is done type this:

./gimp

Make sure you execute the ./gimp command from with X Windows or Xtools. You will get a gdk error but this is normal and the Gimp should still start up fine. The error wont affect the operation of the Gimp.

This starts up the Gimp. You'll be guided through an install then you are done. Easy, huh? "
 
Back
Top