Build Your Own 23-inch MacBook
A couple of weeks ago I began sporting a new laptop: 3 GB of RAM, 200 GB hard drive, dual optical burners, 4 USB and 3 FireWire ports. But the best thing about it is the 23-inch monitor.
Yes, it’s a Mac. Why do you ask?
Let’s start this story at the beginning. A few weeks ago my beloved 17-inch PowerBook died on me. Although I was able to fix it later, I needed a working Mac immediately, so I picked up a new MacBook. (The fix included refrigerating my apartment to 50 degrees and suspending the PowerBook over a tray of ice cubes. But I digress.) The MacBook, as most of you know, is a fantastic computer – blazingly fast compared to my 1 GHz PowerBook G4.
But the transition to the smaller monitor really threw me. You wouldn’t think that the switch from 1440 by 900 to 1280 by 800 would be that big a deal; at least, I didn’t think the loss of 21 percent of my screen resolution would bother me. But it was as disruptive as trying to type with only eight fingers. I do Web and database development, and most of the time I have 50 different windows open. My productivity took a huge hit on the smaller screen – or maybe it didn’t, it’s hard to tell objectively. Subjectively, though, the reduced screen real estate drove me up the wall.
Perhaps more importantly, I was starting to experience eyestrain after only 8 or 10 hours on the MacBook. (Yes, I need to get out more often.) The dot pitch on the MacBook – that is, the physical size of the pixels – is smaller than on the 17-inch model I was used to, and it made my eyes work harder. Like your mother said, keep doing that and you’ll go blind.
I began shopping for an external monitor to give myself more display real estate, but two thoughts kept nagging at me. Frugal me noted that I already had a perfectly good 17-inch monitor in my PowerBook. Practical me noted that my home office pretty much serves as a place to keep my backup drives and books – between client sites and Starbucks, I’m usually on the metaphorical road. An external monitor tethers me to a particular desk, which is something I’ve avoided for a long time.
The perfect answer would be to come up with a way to use the PowerBook as an external monitor for the MacBook; with that accomplished, I’d have two screens to work from, plus the system would remain portable (if not exactly, strictly speaking, a laptop). Turns out, not only is this possible, it’s actually fairly easy.
Setting Up Your Laptops — The software that performs this magic is ScreenRecycler, currently available in pre-release stage from the German company Jinx; for now, it’s a free download. There are two components to ScreenRecycler: a video driver and an application. You’ll also need a VNC screen-sharing client; links to several utilities for Mac or Windows are available on the ScreenRecycler download page. Yes, Virginia, if you have a Windows laptop, you can use it as a Mac monitor.
Install the ScreenRecycler software on the primary Mac; in my case, that’s the MacBook. The driver installation requires a reboot. Pre-release drivers are sometimes a cause for worry, but in my testing the only problem is that the machine now takes an extra 15 seconds or so to reboot.
Your next step doesn’t involve the ScreenRecycler application; instead, you want to set up a secondary network between the two laptops. You might have done this already, as there are many useful reasons to have one. The secondary network allows you to send IP traffic across one connection (e.g., an Ethernet or FireWire cable to your other laptop), while remaining connected to the Internet over any other connection.
Open your Network preference pane, and choose a port over which to connect your laptops; I recommend Ethernet, especially if both computers have gigabit Ethernet. Your alternative is FireWire, which might be preferable if you frequently connect with Ethernet to an office or home network; it’s easier to use more ports than to create multiple network locations. If either Ethernet or FireWire isn’t in your Network Status view, choose Network Port Configurations to enable them.
In order to create your secondary network, double-click your preferred port in Network Status on the primary laptop. Enter the following settings:
- Configure IPv4: Manually
- IP Address: 192.168.2.1
- Subnet Mask: 255.255.255.0
- Router: 192.168.2.1
There is one tricky part here: you need to be sure that this address doesn’t conflict with other networks you might use. For example, my Linksys router at home uses 192.168.1.1 – the important difference being that the third number in this address is different than the one we’re using in the secondary network. You can choose any number “nnn” you like between 0 and 255 to make a 192.168.nnn.1 address.
On the other laptop, open the Network preference pane, and enter the above settings, but change the IP address to 192.168.2.2 (or whichever nnn you chose). The router address, however, must be the same as what you entered on the first laptop.
Both computers will now be available on two different networks. Your first network can still connect to the Internet, over whichever port is your usual mode of access. And now you’ve got your own private intranet between the laptops.
By the way, if you’re wondering why you can’t just use Bonjour for all this, the answer is that you can…but you might not always connect over the fastest available connection. By using IP addressing, you can be certain that your ScreenRecycler traffic is directed over the right cable.
Whew. Time for the final installation step: install a VNC client on the secondary computer. VNCThing is much faster, but doesn’t work on Intel-based Mac laptops; for those you need Chicken of the VNC.
Recycle Your PowerBook — Now you’re (finally!) ready to rock out on two portable monitors. Fire up the ScreenRecycler application. On the second laptop, open the VNC client and connect to the address you created for the secondary network. (The ScreenRecycler window tells you all of your available network addresses, so you don’t have to memorize it.)
Two things will happen: your primary laptop monitor will change just as if you had connected an external monitor, and your secondary laptop will show a window with the contents of that external monitor. Go ahead and use full screen mode, and you’ve got yourself a dual-display MacBook. Sure, it’s not a true 23-inch monitor, but add up the pixels on a 13-inch and a 17-inch screen, and that’s darn close to the pixels on a 23-inch monitor.
If you want to change the resolution on the external monitor (i.e., if you’re not filling up the entire screen of the second laptop), go ahead and do so in the Displays preference pane. Changing the resolution causes ScreenRecycler to disconnect, but you can reactivate it by reopening the connection in your VNC client.
Of course, there are a few caveats to this method. The first is that you’re sending video traffic over a network, which isn’t nearly as fast as a direct hardware connection to a real monitor. Any moving graphics, such as dragging a window, cause the image to fuzz out to Atari 2600-style graphics until it becomes stationary again. Surprisingly, this isn’t really a problem; I’m using my external monitor to view several Safari windows right now, and they’re all crisp and legible. But the text window I’m using to write this article is on my primary monitor; on the secondary, there’s a short lag between typing and seeing what I’ve typed, which is annoying. Some graphic applications, though, such as my online poker game, look just fine on the secondary monitor. Go ahead and try out your applications to see which ones are ScreenRecycler-eligible.
If you like, you can open your Displays preference pane and drag your menu bar over to the second monitor, as you can with a hardware monitor. I recommend one caution, though: if you shut down ScreenRecycler without first dragging it back, the external monitor window gets fritzed out the next time you use it. This window is where the Displays preferences will be shown the next time, so the method to get your setup restored isn’t obvious. You can use F7 to force screen mirroring to be turned on. (Or Function-F7 if “Use function keys to control software features” is turned on in your Keyboard preference pane.) That will bring back your internal display, where you can modify your settings to restore the external monitor. Or just don’t move your menu bar in the first place.
When you’re finished, simply quit the ScreenRecycler application. The connection to the other laptop will drop, and your Mac will reconfigure as if a monitor was detached, with your external windows moving back to the primary screen. Note that if you click the ScreenRecycler “stop” button, or quit VNC on the second computer, your windows will remain on the now-invisible second screen, and your mouse pointer can get lost there. If you’re stuck, try using Command-Tab to activate ScreenRecycler, then hit Command-Q to set things aright.
Incidentally, it’s worth mentioning that you can still use your second laptop normally; the view of the second monitor is simply a full-screen window over there, so you can switch applications and do whatever you like, then switch to VNC to bring your dual setup back.
But Wait, There’s One More Thing… Okay, Several — Now that you have two monitors, it’s time to pimp your ride. You might notice that when using ScreenRecycler, you annoyingly have two keyboards in front of you but only the one on the primary Mac works. Seems kind of silly, especially if you ignored my warning and moved your menu bar to the second Mac. (Like I did.)
Turns out that ScreenRecycler works just fine with the Teleport utility. Teleport is a nifty preference pane that lets you control one Mac using another’s keyboard and mouse; it’s similar in function to a software KVM switch. In this case, you’re sending your keystrokes from your second Mac to your first Mac, which then appears on your second Mac when you’re working with the external screen. If that sounds confusing, think of it this way: you type and use the trackpad on either Mac, and it just works.
(Incidentally, you will probably want to turn off the bezel display that lets you know that Teleport is activated, as it appears smack dab in the middle of your external monitor. To do this, make sure Teleport is not running, open a Terminal window on your second computer, and paste the following at the prompt.)
defaults write com.abyssoft.teleport hideControlBezel YES
Finally, let’s say that for you, the discriminating Mac user, 23 inches of screen real estate is not enough. You want more. Your MacBook can drive an external monitor at 1920 by 1200, so why limit yourself to the paltry native size of the external display?
In fact, there’s a Quartz hack that’s been around for a while, called AppleDisplayScaleFactor. You can use it to set the relative size of any application on your Mac; the downside is that most applications really can’t deal with this and all sorts of bizarre things start to happen, like having your clicks register as if they were three inches away. As it happens, though, VNCThing works perfectly with this hack, and bypasses all of the quirks that happen in other applications. In other words, you can scale to your heart’s delight.
To make this magic happen, you first need to determine a scale factor. I want to fit a 1920 by 1200 screen on a 1440 by 900 monitor, so that’s exactly 75 percent. If your scale factor is the same, make sure VNCThing is not running, and again open a Terminal window on your second laptop. Paste the following:
defaults write VNCThing AppleDisplayScaleFactor 0.75
Fire up VNCThing again, and you’ll see as much display real estate as your primary laptop can pump out. With this hack in place, you’ll effectively have a 23-inch monitor and a 13-inch monitor, with a total pixel count of 3.3 million. Compare that to 4.1 million on a 30-inch Apple Cinema display; yes, it’s a bit smaller, but it’s also $2,000 cheaper.
And if that’s still not enough, this all works fine with VirtueDesktops, so you can run as many virtual desktops as you like to go with your 3.3 million pixels.
The Human Factor — I’ll answer the question that I’m sure many of you have been pondering: yes, this setup is entirely portable. I toss both laptops into my Brenthaven backpack and I’m good to go. My guess is that the total weight I’m carrying is in the ballpark of 25 pounds; in any case, the bag doesn’t feel any heavier than it usually used to when I was just carrying around my 17-inch PowerBook (and maybe a book or two). The first day I tried out this trick, I took a two-mile hike on a park trail to breakfast, and arrived slightly winded but without feeling like I had just deliberately exercised. I’d think twice about trying this with a shoulder bag, though.
I’ve added two things to my usual pile of gizmos I carry around: a small power extension cord so I can plug two laptops into a single jack, and an Ethernet cable.
As you might suspect, two laptops take up a bit of table space. If you’re familiar with the Kinko’s laptop kiosks, I’m pretty much filling one up right now. When I wrote this during dinner at a restaurant, I asked for a table for four and barely had enough room for my food along the nearest edge. This setup doesn’t work at a standard Starbucks round table. I’ll stick to one laptop when I’m in any busy location, as you really don’t want to annoy the people around you when they’re busily carrying hot beverages next to $5,000 worth of your equipment.
And of course, some of the less geeky members of the general public might find it a bit… odd that any one person needs to use two laptops simultaneously. They might laugh, or point and stare, or shake their heads sadly. Luckily, you’ll have your headphones on and will be staring intently at two screens, so you probably won’t notice.
[Jeff Porten is more thrilled with his new multiple monitor setup than he probably should be.]
PayBITS: Did Jeff help you increase your screen space?
Show your appreciation via a PayBITS donation!
Read more about PayBITS: <http://www.tidbits.com/paybits/>