Advanced Remote Desktop Tricks

I recently wrote an article for MacEnterprise.org on a technique I developed to allow our users to access multiple Windows applications from a Microsoft Terminal Server using Microsoft’s Remote Desktop Connection client.

Normally, this is difficult because the RDC client only allows a single open connection at a time. This technique gets around this limitation and provides some other interface niceties.

See the article here.

Advanced Remote Desktop Tricks

More on CrossOver Mac

I was asked for more detail on how I cleaned up my Tcl/Tk libraries so that CrossOver would run:

I just removed the extra Tcl/Tk libraries we had installed, leaving me with the libraries that ship with 10.4.x for Intel (radmind made this easy to do) and that worked. I did not need to actually _install_ any TclTkAqua libraries. We had installed these older libraries back with Panther for a Tcl/Tk app we deployed; it appears they are no longer needed in Tiger, as Tiger ships with its own Tcl/Tk libraries.

Looking at what radmind changed, it looks like

sudo rm -rf /Library/Frameworks/Tcl.framework
and
sudo rm -rf /Library/Tcl

will produce the same result.
The OS-supplied Tcl libraries are in /System/Library/Framworks/Tcl.framework and /System/Library/Tcl and should be left alone. If you use any other apps that rely on Tcl/Tk, you’ll probably want to test them after you make this change…

More on CrossOver Mac

CrossOver Mac Beta 1

I’ve been playing with the beta released yesterday. Some first impressions:

  • It works. I installed MS Project 2003, ran it, printed to a printer defined in the OS X print system, and saved a file to my home directory, all without too much effort.
  • Not very enterprise/multiuser friendly out of the box – lots of stuff gets installed by default in your home dir; specifically ~/Library/Application Support/CrossOver/. There seems to be an ability to “publish” a “bottle” (VirtualMachine-equivilent) so that all users of a Mac can access it — making a copy of the bottle in Library/Application Support/CrossOver/, but I had trouble making it work across users. CrossOver wanted to crash a lot in this scenario. Even when it did work, the drive mapping/folder redirection still wanted to access the original user’s home dir. I’m sure all of this can be overcome with proper config, but the configuration tools are immature.
  • I initially had some trouble running CrossOver the first time because I had some third-party Tcl libraries installed in /Library/Tcl; once those were removed, CrossOver ran.
  • The Windows, uh, windows run inside a X11 window manager – as a side-effect, this means that if you have a multiple monitor setup, any window that wants to open in the center of the screen will likely end up split half on one monitor and half on another.
  • The X11-based windows look pretty good, though, and toolbars look right, without the X11 ‘wrapper’ around them.
  • I noted some oddities when moving and resizing windows – where the window would suddenly jump away from the cursor.
  • You don’t get the Windows “resize-from-any-side” behavior; you have to use the resize widget in the lower right corner.

If they get this right, this could work very well in my environment: I could package up a Windows app via CrossOver and use my existing tools (radmind) to push it out to an Intel Mac. It’s unlikely that I’d be able to do the same with Parallels or VMware, with their disk images. For a Mac user that needs access to just one or two Windows apps (like MS Project or Visio), this might be nearly ideal.

CrossOver Mac Beta 1

Stupid Tricks with Network Time

I normally point my machines to sync time with a server inside our company firewall. For desktop machines, this works fine. For laptops, it’s an issue because when the machine is off the company network, it can’t see the time server. Most of the time this is no big deal because the time is right (or almost right). But two things I’ve seen can cause the time to get set to the wrong value: 1) the battery goes dead and the system loses the time, and 2) a MacBook Pro gets booted into Windows and has its time updated while in Windows. (This, of course, is caused by the fact that OS X and Windows read the system clock in two different ways.) I’m sure there are other scenarios.

This is a problem because (once back in Mac OS X) the user cannot fix the time without an admin password. And even with the admin password, they have to either turn off network time sync, or point the network time sync to a server reachable on the network they are on. Once they return to the corporate network, either they now can’t reach the external time server because of firewall issues, or they have to remember to undo their changes, or some managment system in place (like radmind) undoes their changes for them, but then they have to redo them when they leave the office again!

I thought computers were supposed to make our life easier!

It would be so much easier if you could just specify multiple time servers – one inside the company network, and one outside. That way the time sync could happen no matter where you were.

Fortunately, you can do exactly that. There’s an undocumented feature of the Date & Time preferences pane: in the “Set date & time automatically” field, you can enter multiple servers seperated by a space. In the following image, you can see I’ve entered both “time” and “time.apple.com”:

date-time.png

This setting gets written to /private/etc/ntpd.conf, so you can also just manage this file:


rhapsody:~ gneagle$ cat /private/etc/ntp.conf
server time minpoll 12 maxpoll 17
server time.apple.com minpoll 12 maxpoll 17

You can add more than two servers if you want.

Stupid Tricks with Network Time

It’s exciting

redhatlogo.jpgYesterday, I installed Windows XP on two Intel Macs using Apple’s Boot Camp. Today, I used the Beta release of Parallels Workstation to install Windows XP and Red Hat Enterprise Linux 4 on an Intel iMac.

Boot Camp makes installing Windows XP on a Mac as simple as can be imagined. (If installing an OS could ever really be called simple.) Parallels Workstation is definitely more techie-oriented: a novice would quickly give up, I think. But it does work. Some key shortcomings of the Parallels solution:

1) No sound (yet).
2) Full-screen mode doesn’t work (yet).
3) No support for USB (yet).
4) Networking support is more primitive – it looks like you can use Ethernet or Wireless, but not both.
5) No support for CD or DVD burning
6) No mounting of actual volumes – only drive images are supported.
7) Graphics performance is less than when booted directly into WinXP.

Several of these limitations are supposed to be addressed before the final (non-beta) release.

But the advantages are nice, too:
1) No need to reboot just to run one Windows app.
2) Support for Windows 3.1 through Windows 2003 Server.
3) Support for multiple flavors of Linux, FreeBSD, Solaris, etc.
4) The drive image for the virtual machine can be anywhere – on an existing partition or on a FireWire or USB drive. The Boot Camp solution can only boot Windows XP from a partition on the primary internal drive.

An appealing option would be a way to use the same Windows XP partition to either boot directly into XP, or to boot a VM. This way you could get top performance when you needed it, or maximum convienence when in OS X. You can do that now by using both Boot Camp and Parallels, but you have to maintain two seperate Windows installations: one on an actual drive partition, and one in a virtual drive image. Double the disk space and double the work!

One the other hand, since the VM and the actual hardware look like two different pieces of hardware to Windows, it might be problematic to use the same OS image for both modes. Other operating systems might not have these issues, though.

But these are exciting and interesting times to work with Macs – new possibilities seem to appear every day.

It’s exciting

Boot Camp shenanigans

Windows logoApple’s new Boot Camp Assistant pulls a neat trick: if you have a single Mac OS X partition on your startup drive – it allows you to non-destructively repartition it and add a partition to install Windows XP.

But what if you’ve already partitioned your drive? Boot Camp Assistant refuses to run and tells you you must have a single partition. Do you really need to reformat to play with Apple’s new toy?

No.

I’ve since installed XP on a MacBook Pro that had already been set up with three partitions without having to repartition. Here’s how I did it:

1) Started up the MacBook Pro in Target Disk Mode.
2) Connected it via FireWire to an Intel iMac.
3) Used Disk Utility (on the Intel iMac) to reformat one of the unused partitions as FAT32
4) Unmounted the MacBook Pro and shut it down
5) Booted the MacBook Pro and held down the option key, and inserted the XP install CD.
6) The XP install CD showed up in the boot picker; I selected it and booted from it.
7) Installed XP as normal.

I imagine that steps 1 and 2 could be replaced with booting from the OS X install CD – the key is that you can’t reformat a partition to a different disk format on the startup disk when you are booted from it, since the entire disk must be unmounted. I haven’t tested this theory (yet).

Boot Camp shenanigans