Edit on Wednesday , August 26 2009. As of the release of Jaunty Jackalope , you dont really require this guide anymore because there's been SO MUCH improvement in Virtualbox , it just makes me do the happy dance.You just have to install Virtualbox , Install the guest additions inside it and select the Seamless Mode from the File Menu. Dont forget to allocate enough RAM.
I'm sorry to all the people i couldnt help out with their problems regarding this thread. Ive been too busy and rarely online.
If you're still interested in reading (or using an ancient version of vbox) , be my guest 
^**HOWTO FOLLOWS***
It was quite a number of days before that i read the great howto for doing the same thing in Edgy.You can visit the great howto by Mikeytag here : http://ubuntuforums.org/showthread.php?t=433359
When i upgraded to Hardy , i wasnt able to do it as effectively as i was in Edgy , but with patience and help from numerous places, it is perfect now (Almost). I wont write everything on my own but copy/paste and make amendments from the already mentioned thread.
*-*--*-*-*-*--*-*-*-*--*-*-*-*--*-*-*-*--*-*-*-*--*-*-*-*--*-*-*-*--*-*-
Step 1: Install and Configure Virtualbox
*-*--*-*-*-*--*-*-*-*--*-*-*-*--*-*-*-*--*-*-*-*--*-*-*-*--*-*-*-*--*-*-
VirtualBox is one of the best virtualization apps I have ever seen. I put it right up there against VMWare Workstation, and it tends to perform better in my opinion. For installing VirtualBox , i recommend downloading it from their website : Download Link. Just Select Ubuntu 8.04 from the dropdown list and you can download it.
*-*--*-*-*-*--*-*-*-*--*-*-*-*--*-*-*-*--*-*-*-*--*-*-*-*--*-*-*-*--*-*-
Step 1a: Setting Up a Virtual Machine
*-*--*-*-*-*--*-*-*-*--*-*-*-*--*-*-*-*--*-*-*-*--*-*-*-*--*-*-*-*--*-*-
* Open up the VirtualBox app by selecting it from Applications->System Tools->InnoTek VirtualBox.
* Click the “New” button at the top to bring up the New Virtual Machine Wizard.
* Click Next
* Type in a name for your Windows installation. I labeled mine: Windows XP Professional, but you can name yours whatever you feel like.
* Choose your Os Type from the dropdown. (Important note: this seamless setup will only work with a version of Windows that can act as a Terminal Server that means XP Pro NOT Home, and Vista Business or Ultimate, Windows Server 2003, and/or Windows 2000 Professional)
* Next adjust your base memory size. VirtualBox recommends 192MB for Windows XP, but I personally find that XP runs a bit slow at this level. I have 1GB of RAM on my machine so I gave XP 400 MB. Choose whatever amount you are comfortable with, and this can always be adjusted later.
* Next we will choose our “hard disk” to boot into. Click the “New” button unless you already have a VirtualBox image ready, then click the “Existing” button.
* After clicking New, you will be greeted by the Virtual Disk Wizard, click Next
* Choose whether or not you want a Dynamically expanding image. I personally like using it because I am not entirely sure how much space I will use, but that it is up to you. After choosing, click Next.
* Pick a name for your image file and adjust the size to the amount of space you would like to offer for your drive. Then click Next.
* To finish the new drive creation click Finish
* Your new disk you just created should be selected, click Next.
* Click Finish to complete setting up your new Virtual Machine
*-*--*-*-*-*--*-*-*-*--*-*-*-*--*-*-*-*--*-*-*-*--*-*-*-*--*-*-*-*--*-*-
Step 1b: Configuring Your Virtual Machine
*-*--*-*-*-*--*-*-*-*--*-*-*-*--*-*-*-*--*-*-*-*--*-*-*-*--*-*-*-*--*-*-
* Select your new machine from the list of machines on the left and click the Settings button at the top of VirtualBox.
* Select CD/DVD-ROM and click Mount CD/DVD Drive, then choose whether or not you would like to mount your physical CD drive or an iso file. ( I personally ripped my XP Install CD to an ISO file because I think the install goes faster than off the physical CD).
* Now, select Network , put a tick in the Enable Network Adapter and Select Adapter Type as Intel Pro 1000/MT Desktop and from the “Attached to” dropdown box select Not Attached. .
* Now, select Remote Display and check Enable VRDP Server.
* Finally, click the OK button to save all of these settings.
Ok, we now have our VirtualBox Machine ready to boot up and install windows, however we are going to configure a few things on the Ubuntu side first.
*-*--*-*-*-*--*-*-*-*--*-*-*-*--*-*-*-*--*-*-*-*--*-*-*-*--*-*-*-*--*-*-
Step 2: Setup Ubuntu Networking
*-*--*-*-*-*--*-*-*-*--*-*-*-*--*-*-*-*--*-*-*-*--*-*-*-*--*-*-*-*--*-*-
Before I go down this road with you there are a few things I need to make known. First, I have only tested this setup on a desktop with a physical, wired network connection. It may work wirelessly, but I have not tested it. Also if you make use of Network Manager, you will need to make sure it doesn't run anymore. You can do that easily, without uninstalling it, by simply creating two files with the word: exit as the only thing in them. Use your favorite editor, mine is pico, and create these files like this:
(Quick pico reference: to exit a file and choose whether or not to save it use: Ctrl+x)
Code:
sudo pico /etc/default/NetworkManager
sudo pico /etc/default/NetworkManagerDispatcher
If you had to add those two files then you can reboot to see that Network Manager will not start up anymore. To turn it back on simply remove those files. If you are sitting there and are thinking “But I HAVE to use Network Manager, my <insert wireless card here> is only supported by it!” Then my friend, I apologize but you may be SOL. Start digging through the forums to see if there is an alternative way to run your connection. My guess is there probably is.
Ok, now that that's out of the way let's move on.
# We first need to install some important packages:
Code:
sudo apt-get install bridge-utils uml-utilities alsa-oss
# Next we are going to setup our /etc/rc.local file.
Code:
sudo gedit /etc/rc.local
Append the following information directly above the line that says “exit 0”
Code:
tunctl -t tap0 -u <username>
chmod 0666 /dev/net/tun
/usr/sbin/brctl addbr br0
/sbin/ifconfig eth0 0.0.0.0 promisc
/usr/sbin/brctl addif br0 eth0
/sbin/dhclient br0
/usr/sbin/brctl addif br0 tap0
ifconfig tap0 <vbox_ip> up
bash -c 'echo 1 > /proc/sys/net/ipv4/conf/tap0/proxy_arp'
route add -host <main_ip> dev tap0
arp -Ds <main_ip> eth0 pub
# Ok, there are some EXTREMELY important things to note here.
First off replace <username> with the username you use to login to your Ubuntu desktop. (Mine is michael).
Next, you need to replace <vbox_ip> with an IP that is within your subnet. It doesn't matter what it is, I use 192.168.1.161 simply because it was open. The only requirement is that there isn't another device on your network with this IP. This IP will come in handy when your Windows install is not accessible over the network. Confusing I know, but it will make more sense later.
Next, you need to replace <main_ip> with the IP of your Ubuntu installation on your network. If you use DHCP be careful. I do, but I setup my router to always give me the IP of 192.168.1.160. Static or DHCP, you need to put your IP here.
Lastly, take a look at all the places where I have eth0. For many installations this will probably be your main network device, but it could be something else like ath0,eth1,etc. Make sure you change eth0 to whatever your primary network interface is. (The device that you access the network with)
# Ok, if you feel up to it you can parse out all the lines we just put in the /etc/rc.local file and run them one by one. Or you can easily activate these settings by simply rebooting.
*-*--*-*-*-*--*-*-*-*--*-*-*-*--*-*-*-*--*-*-*-*--*-*-*-*--*-*-*-*--*-*-
Step 3: Configure your Windows Virtual Machine
*-*--*-*-*-*--*-*-*-*--*-*-*-*--*-*-*-*--*-*-*-*--*-*-*-*--*-*-*-*--*-*-
Ok, now we are going to boot up our Windows Virtual Machine. Go ahead and boot up your VM by opening up Applications->System Tools->Sun xVm VirtualBox and then selecting your virtual machine and clicking the “Start” button.
I am not going to walk you through installing Windows, because it is mind numbingly boring and I am betting, that if you are reading this guide, chances are you have wasted many hours of your life reinstalling Windows. When you are done installing it come back to this guide to continue.
Welcome back! I hope you had a fun time. Now there are several Windows settings we will need to do. (Note: These settings worked for me in Windows XP Pro, if you are using another edition of Windows they may be the same, i.e. registry keys and such, or not. However I can personally confirm that they work flawlessly in Windows XP Pro.)
*-*--*-*-*-*--*-*-*-*--*-*-*-*--*-*-*-*--*-*-*-*--*-*-*-*--*-*-*-*--*-*-
Get Sound Working !!
*-*--*-*-*-*--*-*-*-*--*-*-*-*--*-*-*-*--*-*-*-*--*-*-*-*--*-*-*-*--*-*-
Before Starting up the newly Installed XP VM , you would want to enable Sound , so Click on Sound put a tick in Enable Sound
Host Driver : ALSA
Controller : AC97
ALSA and AC97 worked for me , so did OSS , but i prefer ALSA. You are free to experiment.
First and Foremostly , you would want to Install the Guest Additions for the VirtualMachine. To do this , Run your XP Virtual Machine and let it reach the Desktop. After that click on Devices in the top bar menu and Select Install Guest Additions , Keep Clicking Next and it will be done.
*-*--*-*-*-*--*-*-*-*--*-*-*-*--*-*-*-*--*-*-*-*--*-*-*-*--*-*-*-*--*-*-
* Now what you have to do in Windows is enable Remote Connections and set a password for your user.
* Go to Start -> Control Panel -> Sytem and click the Remote tab.
* Check the box that says “Allow users to connect remotely to this computer” and click OK
* In the Control Panel click “User Accounts”
* Click the user that you would like to login as and then click “Create a password”
* Type your password in the boxes provided and then click the “Create Password” button.
If you are thinking to yourself, “Well. it would just be easier to not have a password.” Stop right there and set one anyway. It is not an issue of security. If you don't setup a password then you will not be able to login to your Windows VM seamlessly.
*-*--*-*-*-*--*-*-*-*--*-*-*-*--*-*-*-*--*-*-*-*--*-*-*-*--*-*-*-*--*-*-
Step 3b : Configuring a Shared Folder
*-*--*-*-*-*--*-*-*-*--*-*-*-*--*-*-*-*--*-*-*-*--*-*-*-*--*-*-*-*--*-*-
Look on the top bar menus of the Virtual Machine , click "Devices" then Shared Folders.In the new window that opens , click on Machine Folders and then Add (The folder with a + Sign). Now give the path to any of your drives ( I gave the whole /media as i wanted all drives to be accessible).
For Instance :
Folder Path : /media
Folder Name : drives
Make Permanent : Yes (Put a tick)
Read Only : (This one is really up to you , I chose no).
Make a note of the name you give to your shared folder. In Windows XP now , click the Start Menu , click Run and type : cmd in the Run Dialog to open the command prompt.In here , type :
Code:
net use x: \\vboxsvr\share
Where X: is the drive letter you want the folder to take and share is the name of the Shared folder you made. I chose the name as drives , So i would type :
Code:
net use g: \\vboxsvr\drives
Shared Folders will serve us much in the later steps.
*-*--*-*-*-*--*-*-*-*--*-*-*-*--*-*-*-*--*-*-*-*--*-*-*-*--*-*-*-*--*-*-
Step 3c : Configuring XP with Networking
*-*--*-*-*-*--*-*-*-*--*-*-*-*--*-*-*-*--*-*-*-*--*-*-*-*--*-*-*-*--*-*-
We are going to need some files for complete configuration of the Virtual Machine, so lets get all of them while we are at it.
Remember to save both these files in the same place for which you have made a shared folder in the previous steps.(I used /media as the example , remember ? )
File #1 :
Files needed for Seamless Remote Desktop
http://howtoforums.net/downloads/seamlessrdp.zip
File #2 :
The Driver for Intel PRO 1000 MT needed for using Network in the XP VM.
Intel Download Centre
You will need to press accept at the bottom of the page.
Note : This Driver is for Windows XP Professional.
After the downloads complete , open up your XP virtual Machine , go to My Computer and then the shared folder you made.
Extract the seamlessrdp.zip to C:\seamlessrdp.
Execute the PRO2KXP.exe to install the Network Driver.
After installing the driver , shut down your XP Virtual Machine. Now click your Virtual Machine and go to Settings > Network.In the attached to drop box , select Host Interface and in the Interface Name field type in: tap0 .You must now be able to browse the web if you followed all the steps correctly.
*-*--*-*-*-*--*-*-*-*--*-*-*-*--*-*-*-*--*-*-*-*--*-*-*-*--*-*-*-*--*-*-
Step 4 : Configuring the registry and Accounts in XP.
*-*--*-*-*-*--*-*-*-*--*-*-*-*--*-*-*-*--*-*-*-*--*-*-*-*--*-*-*-*--*-*-
Now we are going to adjust a couple registry keys that drove me up the wall. By default XP Pro comes configured to only allow remote access at 16 bit color. Well, frankly this looks like butt on your desktop especially when you have a slick Beryl interface. So we are going to change that.
* Go to Start and select Run, in the box type regedit and hit OK
* In the registry editor navigate to the following key: HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Contro l\Terminal Server\WinStations\RDP-Tcp
* In the right hand pane, highlight the ColorDepth key and right-click. Select Modify and change the “Value Data” field to 4
Next, we need to set it up so that your Windows install only displays the Task bar and not the desktop on login.
* In the registry editor navigate to the following key: HKEY_CURRENT_USER\Software\Microsoft\Windows\Curre nt Version\Policies\Explorer
* Create a new DWORD value that you'll call NoDesktop and set its value to 1
Now, we need to set our Windows install up so that it logs in your specified user in automatically.
* Go to Start -> Run. type control userpasswords2 into the box and click OK
* Uncheck “Users must enter a user name and password to use this computer” and click Apply
* A box will come up asking what user name and password you would like to have logged in automatically. Fill this out with whatever user/pass info you have setup.
*-*--*-*-*-*--*-*-*-*--*-*-*-*--*-*-*-*--*-*-*-*--*-*-*-*--*-*-*-*--*-*-
Our last step is to read the network IP that Windows is using
* Go to Start -> Control Panel -> Network Connections
* Right click Local Area Connection and click Status
* Click the Support tab and record the IP Address, it will become important later
Note: This IP address has to be DIFFERENT than the Virtual Box IP that you put in the /etc/rc.local file. If it is not different then configure windows to use a different IP or configure your router to give your Windows install a different IP.
* Finally, go to Start and shut down your Windows installation. Not Reboot, Shut Down.
*-*--*-*-*-*--*-*-*-*--*-*-*-*--*-*-*-*--*-*-*-*--*-*-*-*--*-*-*-*--*-*-
Step 4: Configure your VirtualBox install to run headless and automatically
*-*--*-*-*-*--*-*-*-*--*-*-*-*--*-*-*-*--*-*-*-*--*-*-*-*--*-*-*-*--*-*-
VirtualBox has this awesome feature where you can run your Virtual Machines headless. Meaning you can start and stop them from the command line and they simply run in the background. Remember when I had you check the box to Enable VRDP? Well, that's what that does. It enables your virtual machine to run headless.
* First we are going to run your machine from the command line, so in a terminal window type this:
Code:
VBoxManage startvm "Windows XP Professional" -type vrdp
Replace “Windows XP Professional” with the name of your virtual machine if it's different.
* Now we are going to setup Ubuntu to start our Windows installation automatically for us upon login.
* Go to System->Preferences->Sessions and click the Startup Programs tab
* Click the Add button and type the command above into the text field and click OK
*-*--*-*-*-*--*-*-*-*--*-*-*-*--*-*-*-*--*-*-*-*--*-*-*-*--*-*-*-*--*-*-
Step 5: Integrate into your Ubuntu panel
Ok, the next step is to run your whole Windows seamless setup. First run the following commands from a terminal window to make sure they work, and then I recommend making a Custom Application Launcher in your Ubuntu Panel. I use this icon if you are looking for a nice one:

(I will assume that most readers know how to do this, right click your top panel and you are on your way )
First we need to make sure that our bottom panel is hideable, so that we can get to our start bar if we want to. You will notice from my screenshot that I have a dual monitor setup and the Windows bar is across the entire bottom of my screen. That is because I moved my bottom panel up to the top of my right monitor so it is out of the way. However, if you don't want to do that, or you only have one monitor then do this:
* Right click a blank area in your bottom panel and click Properties
* Check the box that says “Show hide buttons” and click OK
* You will now have a left arrow button on the left and a right arrow button on the right of your panel that will allow you to hide your bottom panel by clicking one of them
* Next, let's make sure you have rdesktop installed, it should be by default I think:
Code:
sudo apt-get install rdesktop
Now, let's run our Windows install seamlessly for the first time!
OK , now listen up , if you are using ALSA as your sound driver on your Ubuntu Machine but you would still like to have sound in Rdesktop, we will make use of aoss (Alsa-Oss).
* Open a terminal window and type this:
Code:
aoss rdesktop -rsound -A -s "c:\seamlessrdp\seamlessrdpshell.exe C:\Windows\explorer.exe" <IP recorded from Windows>:3389 -u "<Your Windows Username>" -p <Your Windows Password>
# Replace <IP recorded from Windows> with the IP you recorded from Windows earlier. (Gosh, did I even need to type that). Also replace <Your Windows Username> and <Your Windows Password> with your Windows username and Windows password respectively.
# You should have seamless.......OH CRAP the whole desktop is viewable and you are not seamlessly integrated. That is because your Windows install has to be logged off first before seamless ability will work. You may be thinking, “Michael, you are an idiot.(Oh yeah [
] , Blame Michael alrite [
] ) You told me to make my Windows install login automatically!” Hold your horses. If you didn't do that then you wouldn't get anything to show up at all. For reasons unbeknownst to me, Windows XP will not listen for Remote Connections until you have actually logged in once.
# Simply hold down your alt key and click anywhere on the Windows desktop and move it up so that you can see the Start button.
# Click the Start button and choose Log off.
# Ok, run that command one more time and hope that you followed all the instructions correctly.
Woohoo! You should have seen the desktop flash and you will be presented with a lovely blue Windows taskbar at the bottom of your screen. If your bottom panel is in the way, then just click one of the hide arrows to see your new Windows taskbar.
That's it! Easy huh. Well, it's not too difficult it is just time consuming to setup and get running. Good news is that now you can run it at will by clicking your panel launcher or running the rdesktop command again. Only downside, is that the first time you run it you will have to Log Off once before seamlessness will be in effect. Maybe someone can whip up a VB app that will log out the Windows user only on first login so this is done automatically.
Have fun enjoying your new setup.
P.S. Here are some important things to know about your new setup
1. If for any reason you cannot get the rdesktop command to actually do anything you can login to your Windows VM by doing this:
rdesktop -rsound -A -s “c:\seamlessrdp\seamlessrdpshell.exe c:\windows\explorer.exe” <your vbox_ip from /etc/rc.local>:3389 -u <Your Windows Username> -p <Your Windows Password>
2.If you want to make your XP Windows wobbly as well , hold down ALT when moving them.
*-*--*-*-*-*--*-*-*-*--*-*-*-*--*-*-*-*--*-*-*-*--*-*-*-*--*-*-*-*--*-*-
Error :No Route to Host
If everything was running correctly and all of a sudden you start to get No Route To Host errors when trying to connect with rdesktop ,it is probably because the IP in use by your Windows XP machine has been assigned to be the same as the <host_ip> you entered in the rc.local file. To fix it , we must consider changing the IP address of the Windows XP VM by :
# Open the Virtual Box ( Applications > System Tools > Sun xVm Virtualbox)
# Fire up your Windows XP VM by clicking Start.
# Go to Control Panel > Network Connections
# Right click Local Area Connection and click Properties.Click Internet Protocol (TCP/IP) and then Click Properties.
# In the window that opens , Click Use the Following IP Address :
IP Address : Must be in the same range as your <main_ip>.For example,my main ip is 192.168.1.3 so i can enter 192.168.1.10 or 192.168.1.15 or 192.168.1.* where * is any number less than 255 ( I think ! ).
Subnet Mask : XP will fill it up on its own.
Default Gateway : Remember the part where you noted the IP Address of the XP VM (By going into Status of the Connection). There it showed you the default gateway as well. Use that same info to fill this.
DNS Servers :
Primary DNS Server :
Alternate DNS Server :
Both of these will be provided by your ISP.
Once you have done this , use the same rdesktop command but this time use the new IP Address (the one u gave just now) instead of the old one and things should go just fine.
*-*--*-*-*-*--*-*-*-*--*-*-*-*--*-*-*-*--*-*-*-*--*-*-*-*--*-*-*-*--*-*-
Bookmarks