个人工具

UbuntuHelp:SeamlessVirtualization

来自Ubuntu中文

Wikibot讨论 | 贡献2007年12月5日 (三) 12:27的版本

跳转至: 导航, 搜索

Seamless Virtualization

Rather than have an entire separate Windows desktop, you can run virtualized programs directly on your Linux desktop using the latest (version 1.5.0) rdesktop package that comes with Ubuntu 7.04, and Windows XP Professional's Terminal Services feature.

  • You do not however need a whole Windows installation (and therefore not need a virtualization at all) to:
    • run Windows applications in general. This can be done with the open source project [Wine]
    • use Internet Explorer. See InstallingInternetExplorer
    • edit video, develop web applications, etc... There are very many open source alternatives to your old Windows application. See http://www.osalt.com/

SeamlessVirtualization?action=AttachFile&do=get&target=OpenSourceSeamlessVirtualizationResized.png

qemu -m 384 -redir tcp:3389::3389 windows.img

This makes any connections to the localhost port 3389 be directed to the QEmu VM on port 3389, where Windows Terminal Services will run.

  • In the VM, log in as Administrator. Open the Control Panel (click StartControl Panel)
  • Enable Terminal Services: in the control panel, click User Accounts. Ensure that Use the Welcome Screen and Fast User Switching are both checked. Click OK.
  • Allow remote connections: in the control panel, click System. On the Remote tab, tick Allow users to connect remotely to this computer. Click OK.
  • In the VM, download [1]. Extract to C:\seamlessrdp. Then log out of the VM.
  • Install rdesktop on the host. See InstallingSoftware.
  • Test running an application seamlessly.
rdesktop -A -s "c:\seamlessrdp\seamlessrdpshell.exe C:\Program Files\Internet Explorer\iexplore.exe" <IP of VM>:3389 -u administrator -p password

For QEmu, use 'localhost' for <IP of VM>. For VMWare and for VirtualBox, use the IP address noted down earlier. A large window will pop up briefly with the Windows login screen, then your application should start in its own window. You can now create a desktop launcher to run the command above in future, when the VM has been started. High-resolution .PNG icons for Windows applications are available from DeviantArt.

Making Windows Apps Look at Home in Ubuntu

To help Windows apps look at home in Ubuntu, you may configure Windows to use the Ubuntu Human theme. SeamlessVirtualization?action=AttachFile&do=get&target=SeamlessVirtualizationWithThemingResized.png

  • In the VM, download the Human for Windows theme from http://www.deviantart.com/download/37743373/. Extract the file to C:\windows\resources\Themes.
  • In the VM, specify the theme to be used for Terminal Services in\the Group Policy Object Editor.
    • Click StartRun. Then type gpedit.msc.
    • In the Group Policy Object Editor, navigate to User Configuration/Administrative Templates/Control Panel/Display/Desktop Themes.
    • Open the Load a specific visual style file or force Windows Classic setting. Enable the setting, and enter %windir%\Resources\Themes\Human\Human.msstyles as the style.
  • Note: Windows 2003 only must also enable the Theme Service under services.msc.
  • Log out of Windows
  • Test your application from the host:
rdesktop -A -s "c:\seamlessrdp\seamlessrdpshell.exe C:\Program Files\Internet Explorer\iexplore.exe" <IP of VM>:3389 -u administrator -p password

If using QEmu, use 'localhost' rather than the IP of the VM. The new theme will take effect after the login screen. Some themes that are larger or smaller than default might show a few lines of the Windows wallpaper color.

Shortcomings

  • Due to limitations in Windows XP clients, only one user can be logged in remotely at a time. The way the current solution is designed, this translates to one program running at a time.
    • I find that the best application to start is "C:\WINDOWS\SYSTEM32\taskmgr.exe". It lets you start more applications and got options for logging out (which you should do when done with Windows. Or else I've found that you're not able to log back in) Wikibot 2007年12月5日 (三) 12:27 (CST)
    • Not necessarily. I've found that if you launch a program that can launch other programs (ex: my computer or cmd.exe), you can use it to open other programs, which then also show up as windows. I've tried it, and I was able to run Internet Explorer and Adobe Acrobat at the same time. The limitation seems to be in the windows program, not anything in rdp. -- JoeTerranova
    • However, RDP 6.0 (since Windows Server 2003 SP1) supports running individual programs, so no need for seamless desktop. Does rdesktop support 6.0 features yet? -- MarkReitblatt
    • There's an unofficial patch for XP Service Pack 2 that allows you to run unlimited concurrent remote user sessions to get around this limitation (it uses a terminal services library from a beta of SP2 that accidentally removed the limitation). It's probably OK for home users although I wouldn't recommend it for a business. http://www.kood.org/terminal-server-patch/
  • The Human theme does not work in Windows XP x64.
  • There is an unoficial rdesktop version with seamless support made by Fontis IT Consulting. It's provide some interesting feature like loading multiple application in a Master Slave mode. So you can call rdesktop several time to open more application in the same user session. https://www.fontis.com.au/rdesktop