« Barbie's Boy Toy Gets Makeover | Main | Dell Laptop For Sale!! »
The Browser Appliance Virtual Machine
I've been using the VMWare Player a fair amount lately. It's great for running Linux without using a dedicated machine. The performance is really quite good -- in fact, if there isn't much running on the host system I hardly even notice that I'm running inside a virtual machine.
I recently decided to install the VMWare Player onto my main machine. I also decided to try out this Browser Appliance I've been hearing so much about. It's been relatively fun to both try out Ubuntu and other Firefox extensions and settings.
The first problem I had was that the BAVM (Browser Appliance Virtual Machine) was only running Firefox 1.0.7. So, I had to upgrade that, which was relatively easy. Just download the package from getfirefox.com, copy the directory into /usr/lib/firefox-1.5.0.1 (the version I installed), copy the "firefox" file into /usr/bin and edit it to point to the install directory. The next step was to change the default login stuff to launch the new version (the browser button in GNOME already had the right one). All of the user settings are kept, which is nice.
The next step was to figure out how to run the thing in a higher resolution. By default, the BAVM runs at 1024x768 and can't go any higher. Running that teeny resolution on a 1920x1200 screen was just completely unacceptable. After some Googling, I decided that trying to reconfigure the VM and the installed version of Ubuntu to support a higher resolution was going to be more work than it was worth -- especially since I had a backup solution.
As a developer, I have Cygwin installed on my system as well as PuTTY. My Cygwin has an X-Server available. What this allows me to do is configure PuTTY to login over SSH, directly launch Firefox exporting it's window to the main computer. The way the Cygwin works with it's X server is excellent, too. In fact, the windows come up in a native Windows window. Even popups and dialogs come up this way. About the only way you could tell that I was running Firefox remotely (well, remote to a virtual machine, at least -- this can worked just as easily to a real remote machine, too, offloading the processing) is that the font is slightly different. This means the window can be resized to whatever your desktop can support. This is a much smoother experience that running a browser window inside a GNOME desktop inside a VMWare window anyway. Cutting and pasting works perfectly between them as you would expect it to work between native applications.
Now, to get all of this working I had to fix a few other things that were wrong with BAVM. First was that the updater was set to use VMWare's internal proxy. Off that went. Next was that I had to install a text editor (emacs, of course). And lastly, I had to install an ssh server. Curiously, BAVM already had a client installed. In fact, it had a few other things installed that were odd for a browser appliance and a few things not installed that were equally odd.
Now, you might wonder why I bothered to use SSH instead of just telnet. Well, with PuTTY I can configure it to use a private key against the public key that I configured inside BAVM to auto-login without a password. I then configure it to run a single command, firefox. This means I can launch PuTTY and double click on my "Firefox on BAVM" to launch the browser.
You might also wonder if it uses up much more memory than Firefox would normally use. Well, on my system I usually find Firefox using upwords of 200 megabytes of RAM. This can continue to grow as more tabs get opened, etc. With BAVM running, it takes up about 300 megabytes of RAM, total, with the default settings of the virtual machine getting 256MB. However, this amount won't go up or down. However, I think I can clean up the installation, remove some services, and drop the memory down to 128MB, which would mean it would never use more than what I typically see. I don't know if this is really worth it, though. I have plenty of RAM to go around. Now, I also have to run the X server and PuTTY (which is usually running anyway).
As a safe browsing solution, it works great. As an everyday browsing solution, it works alright. As a browser that'll popup when links are clicked in other applications, it won't work at all -- at least not without a bunch of custom stuff to send off that URL to the VM and have Firefox launch it. It also won't do some other stuff, especially media related, due to some other limitations of the VM. So, it won't be the 100% browser. But then, even Firefox isn't my 100% browser. I still end up using IE7 for a variety of things, including selling on ebay (this is ebay's fault, actually).
The default font setup on the BAVM was very poor for my LCD monitor. I switched it around to using sub-pixel smoothing and some other things that started to make it look MUCH better (and much more like my normal font in Windows). It's still not quite as good, but I can live with it.
This also gives me a Linux available to do things in, I want or need to. That's relatively minor, though, for me since I can always log in to my dedicated server and do something under Linux. ;)
Maybe this will help some use the Browser Appliance Virtual Machine to more of it's potential. Maybe this will give someone some ideas on the fun of X servers and clients across VMs. Maybe you won't have read this because I already bored you away. Regardless, this whole post was done with Firefox running inside BAVW in a Cygwin X server window.
Posted by Shane on February 18, 2006 3:34 PM | Permalink
TrackBacks
http://www.kf6nvr.net/mt/kf6nvr-tb.cgi/667
