Run Windows Apps from your Existing Windows Partition in Linux
I saw a post this morning showing you can run Windows applications from a virtual Windows install on your Linux Desktop. Although this may seem like it’s not that big of a deal, anyone who virtualizes another OS such as Windows from within VMware knows it can sometimes be a hassle to switch between your Linux desktop and the Windows one since you only have access to application windows within each OS and your Guest OS is limited to running within the VMware window. The advantage of integrating the guest OS into your existing desktop allows you to easily switch between different applications and use applications side by side regardless of what OS they are on. As you can see in the pic above (click to enlarge), this method gives you access to the StartMenu from your Linux desktop as well as placing guest OS applications in the Gnome panel. The original website provided a method that needed some modification to work for me. Additionally, the following guide will show you how to safely set this up on an existing Windows partition.
- If you already have a dual boot machine with an existing install of Windows XP, follow the guide here on how to run it in VMware.
- Once you have VMware setup properly, boot into Windows from VMware and go in and create a new user for Windows in Control Panel>>Users. I assigned the username “Linux” for this user. Make sure you also assign a password for security purposes. The reason you should create a new user is that you will be disabling the desktop for this user rather than the user that you normally log into Windows with.
- Now go to Start>>Control Panel>>System>>Remote Tab and enable “Allow users to connect remotely to this computer”.
- Now go to Start>>Run and type”regedit” to bring up the registry editor. Navigate to HKEY_CURRENT_USER/Software/Microsoft/Windows/Current Version/Policies/Explorer and right click to create a new DWORD value. Name the DWORD value NoDesktop and give it a value of 1.
- Download SeamlessRDP and extract it to C:\seamlessrdp.
- Go to Start>>Run and type in in “cmd”. In the command prompt, type ipconfig and note the first IP it reports, this is the IP of your virtual machine.
- Now you can log out of Windows.
- Whenever you want to run the virtual machine and enable Windows applications on your desktop, you will need to type the following command in the terminal:
rdesktop -A -s "c:\seamlessrdp\seamlessrdpshell.exe c:\windows\explorer.exe" IPAddress -u username -p password
Remember to replace IPAddress with the virtual machine’s IP and the username and password with the username and password of the new Windows user you just created. Note that VMware must be running and the virtual machine needs to be booted and at the Windows login screen when you run this command.
That’s all you need to get it working. You will see the start menu at the bottom of the screen. Right click and deselect “Lock the Taskbar” and move it somewhere else (i.e. left of screen).
To make the process easier, you can create the following script and place an icon in the gnome panel or your desktop instead of typing out the command each time:
- Paste the following code in a text editor (change IPAddress & username but not password, for obvious security reasons) and save it as rdesktop.sh:
read -s -p "Enter Password: " mypassword
rdesktop -A -s "c:\seamlessrdp\seamlessrdpshell.exe c:\windows\explorer.exe" IPAddress -u username -p $mypassword
- Make the script executable by typing the following code in the terminal:
chmod -x rdesktop.sh
- Run VMware and boot Windows. Once you are at the login screen, run this script and you will be prompted for the password. You should now see the Windows start menu.
Filed under: desktop, dual boot, linux, ubuntu, virtualization, vmware, windows | 17 Comments