WineBottler, WineHQ, Holy Crap!

For Our Few Windows Apps

I’ve been running my last remaining Windows apps, or any new ones I have to run for whatever reason, either on my one real Windows machine, or under Parallels or, more recently, VirtualBox.

We keep the battered old EMachines ET6212 with a whopping 2GB of memory and Windows XP around mostly to run QuickBooks since the Mac version of QuickBooks sucks, can’t convert our old data, etc. I do have one SEO program that I’m still using on that Windows machine, mostly because it keeps the Windows annoyance off my main Mac and it mostly runs scheduled SEO check jobs anyway.

Any time we do have to run a Windows program, I go back to my trusty old Windows 2000 disks and fire up a new Virtual Machine under Parallels or VirtualBox. Fortunately, there have been few programs that won’t run on that now 10 year old (!) OS.

Wine, WineBottler

Today, I was looking for an SQL query building GUI and came across a post that said that SQLyog was still the best MySQL application out there and gave instructions for running it under Wine.

The link from that page was broken but eventually lead me to WineBottler which is apparently the latest greatest effort to make a seamless bundle of Windows apps to run on OS X without a full emulator like Parallels or VirtualBox.

I downloaded WineBottler, opened the DMG, and dragged Wine.app and WineBottler.app to my Applications folder. Go Mac installation.

SQLyog Community Edition

Downloaded the SQLyog Community Edition (what the hell is up with that name?) from this page, then Opened With Wine. This started the automatic bundling process and eventually, after opening and closing a bunch of windows that I didn’t keep much track of, I told it to save SQLyog821CommunityEdition.app to my Desktop, which it did. In the course of all this, it also opened the Windows program!

So there it was, a Mac Application bundle that contained a Windows program, and a Windows program I’d never seen before running on my desktop with no big Windows VM hogging up CPU and memory.

After clearing the nag screens that are part of the SQLyog Community Edition Experience, I poked around, and damn if it didn’t actually seem to work.

Now, to see if it’s actually a better tool than the two Mac ones I’ve been exploring: Sequel Pro, and Querious.

Ubuntu, new dhcp lease, please

So…I just fired up a new virtual server, and wanted to have my router assign a fixed IP address to it.

Got it all setup in my router and tried:

	# ifconfig eth0 dhcp status

	dhcp: unknown host
	ifconfig: `--help' gives usage information.

I tried all variations and eventually just ended up doing a:

	# sudo /etc/init.d/networking restart

And all was well..

This definitely comes under the “things I’m just going to forget” category of blogging reasons.

Installing Parallels Tools on Ubuntu

I’ve just downloaded the latest Parallels for OS X and am firing up a couple of Ubuntus for local development.

After an absolute nightmare with OS X Python support (trying to get 2.6.2 to build virtual machines and having everything go completely, unusably out to lunch), I’m switching to doing all my development on an Ubuntu virtual machine.

Since I can map an Ubuntu drive through Expandrive to look just like a local drive, and use iTerm to connect to it to run things and a local terminal to connect to have all my OS X tools available, this works very, very well.

Unfortunately, the instructions for setting up Parallels Tools are very vague and in a dialog that has to be dismissed before you can actually do what it says, I’m writing this post.

  • Start by starting the VM, and choosing Virtual Machine -> Install Parallels Tools from the menu
  • Go to a terminal prompt on the machine and run:
    	# sudo mount /dev/cdrom /media/cdrom
  • In the same terminal, run:
    	# sudo /media/cdrom/install
  • Restart the system with:
    	# sudo shutdown -r now

Follow the instructions, restart the virtual machine, and Parallels Tools will be running.

Unfortunately, far as I can tell, it still doesn’t support cut & paste or automatic mouse capture/uncapture so I’m not sure what, exactly, it is supposed to do…

Cloning in Parallels Gives Bad ETH0

So, I finally got to the point where I was pretty happy with my Ubuntu Server 8.1 image up to the point where I was going to start firing up Python virtenvs and add stuff to them.

The idea is to have a canonical ref, set up to just before the point of doing the actual Python stuff.

First step, obviously, is to clone off the reference VM to a new one and start mucking about with that.

So I cloned, and checked ifconfig and there was no ‘eth0′ interface. Which meant I couldn’t actually do anything with the clone.

Restarted, checked Parallels configuration etc. ad naseum, searched Google a hundred times, etc. etc.

Finally, I found the magic search term:

parallels cloned vm no eth0

First article mentioned exactly the problem I was experiencing. So I went and looked at my /etc/udev/rules.d/70-persistent-net.rules and sure as shit, the entry for eth0 on both VMs were identical. IOW, they were using the same MAC address and everything.

It’s a Debian thing. Here are the relevant articles:

http://forum.parallels.com/showthread.php?t=22204
http://communities.vmware.com/thread/83063

I edited the persistent-net.rules file a couple of times following the instructions but couldn’t get it to work. Since it’s a generated file anyway, I just deleted it, restarted the VM, and it picked up a new MAC address etc. and all was well.

Since I can’t do this easily in a startup file because it only has to be done the first time a VM is booted, it’ll just have to go into the checklist of things to do when cloning off a new VM until I either file a detailed bug report with Parallels and they fix it (never) or I script around it (equally unlikely).