特殊:Badtitle/NS100:SeamlessVirtualization
文章出处: |
{{#if: | {{{2}}} | https://help.ubuntu.com/community/SeamlessVirtualization }} |
点击翻译: |
English {{#ifexist: {{#if: php5 | php5 | {{#if: | :}}SeamlessVirtualization}}/af | • {{#if: php5|Afrikaans| [[::SeamlessVirtualization/af|Afrikaans]]}}|}} {{#ifexist: {{#if: php5 | php5 | {{#if: | :}}SeamlessVirtualization}}/ar | • {{#if: php5|العربية| [[::SeamlessVirtualization/ar|العربية]]}}|}} {{#ifexist: {{#if: php5 | php5 | {{#if: | :}}SeamlessVirtualization}}/az | • {{#if: php5|azərbaycanca| [[::SeamlessVirtualization/az|azərbaycanca]]}}|}} {{#ifexist: {{#if: php5 | php5 | {{#if: | :}}SeamlessVirtualization}}/bcc | • {{#if: php5|جهلسری بلوچی| [[::SeamlessVirtualization/bcc|جهلسری بلوچی]]}}|}} {{#ifexist: {{#if: php5 | php5 | {{#if: | :}}SeamlessVirtualization}}/bg | • {{#if: php5|български| [[::SeamlessVirtualization/bg|български]]}}|}} {{#ifexist: {{#if: php5 | php5 | {{#if: | :}}SeamlessVirtualization}}/br | • {{#if: php5|brezhoneg| [[::SeamlessVirtualization/br|brezhoneg]]}}|}} {{#ifexist: {{#if: php5 | php5 | {{#if: | :}}SeamlessVirtualization}}/ca | • {{#if: php5|català| [[::SeamlessVirtualization/ca|català]]}}|}} {{#ifexist: {{#if: php5 | php5 | {{#if: | :}}SeamlessVirtualization}}/cs | • {{#if: php5|čeština| [[::SeamlessVirtualization/cs|čeština]]}}|}} {{#ifexist: {{#if: php5 | php5 | {{#if: | :}}SeamlessVirtualization}}/de | • {{#if: php5|Deutsch| [[::SeamlessVirtualization/de|Deutsch]]}}|}} {{#ifexist: {{#if: php5 | php5 | {{#if: | :}}SeamlessVirtualization}}/el | • {{#if: php5|Ελληνικά| [[::SeamlessVirtualization/el|Ελληνικά]]}}|}} {{#ifexist: {{#if: php5 | php5 | {{#if: | :}}SeamlessVirtualization}}/es | • {{#if: php5|español| [[::SeamlessVirtualization/es|español]]}}|}} {{#ifexist: {{#if: php5 | php5 | {{#if: | :}}SeamlessVirtualization}}/fa | • {{#if: php5|فارسی| [[::SeamlessVirtualization/fa|فارسی]]}}|}} {{#ifexist: {{#if: php5 | php5 | {{#if: | :}}SeamlessVirtualization}}/fi | • {{#if: php5|suomi| [[::SeamlessVirtualization/fi|suomi]]}}|}} {{#ifexist: {{#if: php5 | php5 | {{#if: | :}}SeamlessVirtualization}}/fr | • {{#if: php5|français| [[::SeamlessVirtualization/fr|français]]}}|}} {{#ifexist: {{#if: php5 | php5 | {{#if: | :}}SeamlessVirtualization}}/gu | • {{#if: php5|ગુજરાતી| [[::SeamlessVirtualization/gu|ગુજરાતી]]}}|}} {{#ifexist: {{#if: php5 | php5 | {{#if: | :}}SeamlessVirtualization}}/he | • {{#if: php5|עברית| [[::SeamlessVirtualization/he|עברית]]}}|}} {{#ifexist: {{#if: php5 | php5 | {{#if: | :}}SeamlessVirtualization}}/hu | • {{#if: php5|magyar| [[::SeamlessVirtualization/hu|magyar]]}}|}} {{#ifexist: {{#if: php5 | php5 | {{#if: | :}}SeamlessVirtualization}}/id | • {{#if: php5|Bahasa Indonesia| [[::SeamlessVirtualization/id|Bahasa Indonesia]]}}|}} {{#ifexist: {{#if: php5 | php5 | {{#if: | :}}SeamlessVirtualization}}/it | • {{#if: php5|italiano| [[::SeamlessVirtualization/it|italiano]]}}|}} {{#ifexist: {{#if: php5 | php5 | {{#if: | :}}SeamlessVirtualization}}/ja | • {{#if: php5|日本語| [[::SeamlessVirtualization/ja|日本語]]}}|}} {{#ifexist: {{#if: php5 | php5 | {{#if: | :}}SeamlessVirtualization}}/ko | • {{#if: php5|한국어| [[::SeamlessVirtualization/ko|한국어]]}}|}} {{#ifexist: {{#if: php5 | php5 | {{#if: | :}}SeamlessVirtualization}}/ksh | • {{#if: php5|Ripoarisch| [[::SeamlessVirtualization/ksh|Ripoarisch]]}}|}} {{#ifexist: {{#if: php5 | php5 | {{#if: | :}}SeamlessVirtualization}}/mr | • {{#if: php5|मराठी| [[::SeamlessVirtualization/mr|मराठी]]}}|}} {{#ifexist: {{#if: php5 | php5 | {{#if: | :}}SeamlessVirtualization}}/ms | • {{#if: php5|Bahasa Melayu| [[::SeamlessVirtualization/ms|Bahasa Melayu]]}}|}} {{#ifexist: {{#if: php5 | php5 | {{#if: | :}}SeamlessVirtualization}}/nl | • {{#if: php5|Nederlands| [[::SeamlessVirtualization/nl|Nederlands]]}}|}} {{#ifexist: {{#if: php5 | php5 | {{#if: | :}}SeamlessVirtualization}}/no | • {{#if: php5|norsk| [[::SeamlessVirtualization/no|norsk]]}}|}} {{#ifexist: {{#if: php5 | php5 | {{#if: | :}}SeamlessVirtualization}}/oc | • {{#if: php5|occitan| [[::SeamlessVirtualization/oc|occitan]]}}|}} {{#ifexist: {{#if: php5 | php5 | {{#if: | :}}SeamlessVirtualization}}/pl | • {{#if: php5|polski| [[::SeamlessVirtualization/pl|polski]]}}|}} {{#ifexist: {{#if: php5 | php5 | {{#if: | :}}SeamlessVirtualization}}/pt | • {{#if: php5|português| [[::SeamlessVirtualization/pt|português]]}}|}} {{#ifexist: {{#if: php5 | php5 | {{#if: | :}}SeamlessVirtualization}}/ro | • {{#if: php5|română| [[::SeamlessVirtualization/ro|română]]}}|}} {{#ifexist: {{#if: php5 | php5 | {{#if: | :}}SeamlessVirtualization}}/ru | • {{#if: php5|русский| [[::SeamlessVirtualization/ru|русский]]}}|}} {{#ifexist: {{#if: php5 | php5 | {{#if: | :}}SeamlessVirtualization}}/si | • {{#if: php5|සිංහල| [[::SeamlessVirtualization/si|සිංහල]]}}|}} {{#ifexist: {{#if: php5 | php5 | {{#if: | :}}SeamlessVirtualization}}/sq | • {{#if: php5|shqip| [[::SeamlessVirtualization/sq|shqip]]}}|}} {{#ifexist: {{#if: php5 | php5 | {{#if: | :}}SeamlessVirtualization}}/sr | • {{#if: php5|српски / srpski| [[::SeamlessVirtualization/sr|српски / srpski]]}}|}} {{#ifexist: {{#if: php5 | php5 | {{#if: | :}}SeamlessVirtualization}}/sv | • {{#if: php5|svenska| [[::SeamlessVirtualization/sv|svenska]]}}|}} {{#ifexist: {{#if: php5 | php5 | {{#if: | :}}SeamlessVirtualization}}/th | • {{#if: php5|ไทย| [[::SeamlessVirtualization/th|ไทย]]}}|}} {{#ifexist: {{#if: php5 | php5 | {{#if: | :}}SeamlessVirtualization}}/tr | • {{#if: php5|Türkçe| [[::SeamlessVirtualization/tr|Türkçe]]}}|}} {{#ifexist: {{#if: php5 | php5 | {{#if: | :}}SeamlessVirtualization}}/vi | • {{#if: php5|Tiếng Việt| [[::SeamlessVirtualization/vi|Tiếng Việt]]}}|}} {{#ifexist: {{#if: php5 | php5 | {{#if: | :}}SeamlessVirtualization}}/yue | • {{#if: php5|粵語| [[::SeamlessVirtualization/yue|粵語]]}}|}} {{#ifexist: {{#if: php5 | php5 | {{#if: | :}}SeamlessVirtualization}}/zh | • {{#if: php5|中文| [[::SeamlessVirtualization/zh|中文]]}}|}} {{#ifexist: {{#if: php5 | php5 | {{#if: | :}}SeamlessVirtualization}}/zh-hans | • {{#if: php5|中文(简体)| [[::SeamlessVirtualization/zh-hans|中文(简体)]]}}|}} {{#ifexist: {{#if: php5 | php5 | {{#if: | :}}SeamlessVirtualization}}/zh-hant | • {{#if: php5|中文(繁體)| [[::SeamlessVirtualization/zh-hant|中文(繁體)]]}}|}} |
{{#ifeq:php5|:SeamlessVirtualization|请不要直接编辑翻译本页,本页将定期与来源同步。}} |
{{#ifexist: :SeamlessVirtualization/zh | | {{#ifexist: SeamlessVirtualization/zh | | {{#ifeq: {{#titleparts:SeamlessVirtualization|1|-1|}} | zh | | }} }} }} {{#ifeq: {{#titleparts:SeamlessVirtualization|1|-1|}} | zh | | }}
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.
attachment:OpenSourceSeamlessVirtualizationResized.png
- Start a Windows XP pro VM.
- If using VMware, configure host-only networking, and note the VMs IP address for later.
- If using QEmu, use the following command
- This also works with VirtualBox, similarly easy as in VmWare. The only "tricky" part is configuring a host-only network in VirtualBox. Check these links for more information:http://ubuntuforums.org/showthread.php?p=2062234#post2062234 and http://www.happyassassin.net/2007/02/06/vmware-to-virtualbox/
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. Then click Start → Control Panel → 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. attachment:SeamlessVirtualizationWithThemingResized.png * In the VM, download the Ubuntu Human 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 Start → Run. Then type mmc. ** In the application that pops up, click File → Add/Remove Snap In. Click Add. Select Group Policy Object Editor and click Add again. ** 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 C:\windows\resources\Themes\Human\Human.msstyles as the style. * 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. ** 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.