Let’s say you’ve got an old laptop that still works, but can’t run a modern web browser. Well, there’s this nifty old-school technology called X11 which allows the clever nerd to run a program on one machine and have it display on another. So, how about I run the most recent Firefox on my new computer, but have it display on my old computer!
In this case, I’ve got an old Apple Powerbook from 2000 which nobody is making new software for and I’ve also got a 2010 Macbook Pro which can run anything that runs on an Intel CPU. X11 is built into OSX from 10.4 on, but these same concepts will work for Windows once you locate an X Server package (see Google). X is generally built into any Unix/Linux.
So here’s how we go about running Firefox on one mac and having it appear on another. Starting with how to install this stuff.
- Start up the Terminal on your faster, newer mac. If you’re not comfortable doing some things in text in the terminal, this whole biznach isn’t for you.
- Install macports – http://www.macports.org/install.php Macports is a nifty tool that makes many unix applications available for your mac, which is actually unix under the surface.
- Install Firefox for X11. This will take a little while, depending on your network speed. In the terminal type:
-
sudo port install firefox-x11
- So! Now you’ve got Firefox! Take it for a test-ride! In your terminal, type:
-
firefox-x11
- Now, on your older mac. In OSX 10.4 you have to start X11 manually. It’s in applications -> utilities -> X11. In OSX 10.5 and later, X11 is built-in. So, double-click X11 if you’re in 10.4, otherwise just go back to your terminal. First we tell your older mac that it’s OK for someone else to send you a window over the network. Do this:
-
xhost +
- Now we connect from your older computer to your newer. This can be done with SSH. If you’ve made it this far, you’ve probably already heard of it. In the terminal window on the older machine follow these examples:
-
ssh username@ipaddress_of_the_newer_machine
-
ssh steve@10.0.2.1
- Now we tell the computers where to send the Firefox window. Follow these examples:
-
export DISPLAY=your_ip_address:0
-
export DISPLAY=10.0.2.3:0
- Boy, that’s a lot of work! Isn’t there a shortcut? Actually, yes there is. Back in your terminal window at Step 5, instead of the xhost command, use this:
-
ssh -Y username@ipaddress_of_the_newer_machine
- Now, at last, you can start Firefox. In your terminal on your older computer:
-
firefox-x11
- and there you go… Now you have the tools to run any X application on a *nix machine somewhere on another machine. You can do more reading on xhost and setting the display here: http://macdevcenter.com/pub/a/mac/2003/03/14/install_x11.html?page=2. Let’s say you want your terminal window back for more commands after starting Firefox? Here’s whatcha do:
-
firefox-x11 &
Enjoy the cool feeling of making something nifty happen!
Note:experienced computer nerds will note that “xhost +” allows anyone on your network to open windows on your machine. If you’re concerned about this, you can restrict this to just the ip address of the machine that’s running Firefox for you. Example:
xhost +10.0.2.1