特殊:Badtitle/NS100:SeamlessVirtualization:修订间差异
小无编辑摘要 |
小无编辑摘要 |
||
(未显示同一用户的16个中间版本) | |||
第1行: | 第1行: | ||
{{From|https://help.ubuntu.com/community/SeamlessVirtualization}} | {{From|https://help.ubuntu.com/community/SeamlessVirtualization}} | ||
{{Languages|UbuntuHelp:SeamlessVirtualization}} | {{Languages|UbuntuHelp:SeamlessVirtualization}} | ||
#title 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. | 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: | * 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 [[UbuntuHelp:InstallingInternetExplorer|InstallingInternetExplorer]] | |||
* edit video, develop web applications, etc... There are very many open source alternatives to your old Windows application. See http://www.osalt.com/ | |||
https://help.ubuntu.com/community/ | https://help.ubuntu.com/community/SeamlessVirtualization?action=AttachFile&do=get&target=OpenSourceSeamlessVirtualizationResized.png | ||
* Start a Windows XP pro VM. | * Start a Windows XP pro VM. | ||
* If using [[UbuntuHelp:VMware|VMware]], configure host-only networking, and note the VMs IP address for later. | |||
* You do not '''have''' to use host-only networking. Worked for me with "Custom: Specific visual network" [Ramvi] | |||
* If using QEmu, use the following command | |||
<pre><nowiki> | <pre><nowiki> | ||
qemu -m 384 -redir tcp:3389::3389 windows.img | qemu -m 384 -redir tcp:3389::3389 windows.img | ||
</nowiki></pre> | </nowiki></pre> | ||
* This also works with [[UbuntuHelp:VirtualBox|VirtualBox]], similarly easy as in [[UbuntuHelp:VmWare|VmWare]]. The only "tricky" part is configuring a host-only network in [[UbuntuHelp:VirtualBox|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/ | |||
This makes any connections to the localhost port 3389 be directed to the QEmu VM on port 3389, where Windows Terminal Services will run. | 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 '''Start''' → '''Control Panel''') | * In the VM, log in as Administrator. Open the Control Panel (click '''Start''' → '''Control 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'''. | * 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'''. Note: Fast User Switching is not available to computers that are part of a network domain. | ||
* Allow remote connections: in the control panel, click '''System'''. On the '''Remote''' tab, tick '''Allow users to connect remotely to this computer'''. Click '''OK'''. | * Allow remote connections: in the control panel, click '''System'''. On the '''Remote''' tab, tick '''Allow users to connect remotely to this computer'''. If you want to connect to a limited account, click 'Select Remote Users' and make sure the user account is in the list. Click '''OK'''. | ||
* In the VM, download [http://www.cendio. | * In the VM, download [http://www.cendio.com/seamlessrdp/seamlessrdp.zip]. Extract to '''C:\seamlessrdp'''. Ensure that the user account that you want to access has permissions to access this folder. Then log out of the VM. | ||
* | * If you don't have 'Internet > Remote Desktop Viewer' then install '''rdesktop''' on the host. See [[UbuntuHelp:InstallingSoftware|InstallingSoftware]]. | ||
* Test running an application seamlessly. | * Test running an application seamlessly. | ||
<pre><nowiki> | <pre><nowiki> | ||
第34行: | 第34行: | ||
* In the VM, download the [http://www.deviantart.com/deviation/37743373/ Human for Windows theme] from http://www.deviantart.com/download/37743373/. Extract the file to '''C:\windows\resources\Themes'''. | * In the VM, download the [http://www.deviantart.com/deviation/37743373/ 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. | * In the VM, specify the theme to be used for Terminal Services in\the Group Policy Object Editor. | ||
* Click '''Start''' → '''Run'''. 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'''. | * Note: Windows 2003 only must also enable the Theme Service under '''services.msc'''. | ||
* Log out of Windows | * Log out of Windows (you '''must''' log out of '''all''' accounts) | ||
* Test your application from the host: | * Test your application from the host: | ||
<pre><nowiki> | <pre><nowiki> | ||
第46行: | 第46行: | ||
The new theme will take effect after the login screen. | 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. | Some themes that are larger or smaller than default might show a few lines of the Windows wallpaper color. | ||
==== Shortcomings ==== | ==== Shortcomings/Notes ==== | ||
* 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. | * 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) [[User:Wikibot|Wikibot]] 2010年5月20日 (四) 00:09 (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 | * I don't mind running one program at a time, but I've noticed that if you run a single program via seamlessrdp that cannot be used to log out (notepad for example), the user remains logged in after closing the program window, and attempting to launch the application again fails (it hangs during login). I have to login via VMWare console and manually log out before the rdp method will work again. The best workaround for my money is to create a simple batch file on the windows machine that runs the program I want and then logs off after the program exits. For example: | ||
** 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/ | <pre><nowiki> | ||
c: | |||
cd \Program Files\Internet Explorer | |||
iexplore.exe | |||
logoff | |||
</nowiki></pre> | |||
Save that batch file, and call it via your rdesktop command. IE will run, and when you close the window you'll be automatically logged off. | |||
* 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 | |||
* Not yet. Ideally needs Microsoft need to release the protocol documentation. --ChrisRose4 | |||
* 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/ | |||
* If you add a registry DWORD called NoDesktop to HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\Explorer and set it to 1 then log out and log in, you can start explorer in your rdesktop command line and get just a Windows taskbar. Of course, then you can't see your desktop if e.g. you log in using VNC. see http://www.linux.com/feature/124908?theme=print | |||
* The Human theme does not work in Windows XP x64. | * The Human theme does not work in Windows XP x64. | ||
* There is an | * There is an unofficial 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. http://www.fontis.com.au/rdesktop | ||
* There is a freely available utility that launches a launchpad from which you can configure and run several applications from one seamlessrdp session. http://www.miguelfurtado.com/srdp.aspx | |||
* The Windows classic theme has glitches on the taskbar - use the hideous Luna theme or Human theme instead :) | |||
* XP Pro SP3 with the Hardy and Intrepid alpha 6 versions of rdesktop caused segmentation faults all over the place for me - I found that the 1.5.0 version from Debian doesn't have this problem - see https://bugs.launchpad.net/ubuntu/+source/rdesktop/+bug/275545 - fubarbundy | |||
* The 1.6 version of rdesktop in Intrepid seems to not hide window decorations - Hardy's 1.5 version or Debian's 1.5 and 1.6 versions don't have this problem - see https://bugs.launchpad.net/ubuntu/+source/rdesktop/+bug/275528 - fubarbundy | |||
* At least for XP Pro SP3, you can improve the appearance of Windows by enabling 24 bit colour and font smoothing. In Windows, run regedit, change HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Terminal Server\WinStations\RDP-Tcp\ColorDepth to 4, under HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Terminal Server\WinStations add a DWORD called AllowFontAntiAlias and set its value to 1, and under HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Terminal Server\WinStations\RDP-Tcp add an identical key (AllowFontAntiAlias 1). Restart Windows and Robert's your mother's brother. - fubarbundy | |||
---- | ---- | ||
[[category: | [[category:CategoryVirtualization]] | ||
[[category:UbuntuHelp]] | [[category:UbuntuHelp]] |
2010年5月20日 (四) 00:09的最新版本
![]() |
文章出处: |
{{#if: | {{{2}}} | https://help.ubuntu.com/community/SeamlessVirtualization }} |
![]() |
点击翻译: |
English {{#ifexist: {{#if: UbuntuHelp:SeamlessVirtualization | UbuntuHelp:SeamlessVirtualization | {{#if: | :}}SeamlessVirtualization}}/af | • {{#if: UbuntuHelp:SeamlessVirtualization|Afrikaans| [[::SeamlessVirtualization/af|Afrikaans]]}}|}} {{#ifexist: {{#if: UbuntuHelp:SeamlessVirtualization | UbuntuHelp:SeamlessVirtualization | {{#if: | :}}SeamlessVirtualization}}/ar | • {{#if: UbuntuHelp:SeamlessVirtualization|العربية| [[::SeamlessVirtualization/ar|العربية]]}}|}} {{#ifexist: {{#if: UbuntuHelp:SeamlessVirtualization | UbuntuHelp:SeamlessVirtualization | {{#if: | :}}SeamlessVirtualization}}/az | • {{#if: UbuntuHelp:SeamlessVirtualization|azərbaycanca| [[::SeamlessVirtualization/az|azərbaycanca]]}}|}} {{#ifexist: {{#if: UbuntuHelp:SeamlessVirtualization | UbuntuHelp:SeamlessVirtualization | {{#if: | :}}SeamlessVirtualization}}/bcc | • {{#if: UbuntuHelp:SeamlessVirtualization|جهلسری بلوچی| [[::SeamlessVirtualization/bcc|جهلسری بلوچی]]}}|}} {{#ifexist: {{#if: UbuntuHelp:SeamlessVirtualization | UbuntuHelp:SeamlessVirtualization | {{#if: | :}}SeamlessVirtualization}}/bg | • {{#if: UbuntuHelp:SeamlessVirtualization|български| [[::SeamlessVirtualization/bg|български]]}}|}} {{#ifexist: {{#if: UbuntuHelp:SeamlessVirtualization | UbuntuHelp:SeamlessVirtualization | {{#if: | :}}SeamlessVirtualization}}/br | • {{#if: UbuntuHelp:SeamlessVirtualization|brezhoneg| [[::SeamlessVirtualization/br|brezhoneg]]}}|}} {{#ifexist: {{#if: UbuntuHelp:SeamlessVirtualization | UbuntuHelp:SeamlessVirtualization | {{#if: | :}}SeamlessVirtualization}}/ca | • {{#if: UbuntuHelp:SeamlessVirtualization|català| [[::SeamlessVirtualization/ca|català]]}}|}} {{#ifexist: {{#if: UbuntuHelp:SeamlessVirtualization | UbuntuHelp:SeamlessVirtualization | {{#if: | :}}SeamlessVirtualization}}/cs | • {{#if: UbuntuHelp:SeamlessVirtualization|čeština| [[::SeamlessVirtualization/cs|čeština]]}}|}} {{#ifexist: {{#if: UbuntuHelp:SeamlessVirtualization | UbuntuHelp:SeamlessVirtualization | {{#if: | :}}SeamlessVirtualization}}/de | • {{#if: UbuntuHelp:SeamlessVirtualization|Deutsch| [[::SeamlessVirtualization/de|Deutsch]]}}|}} {{#ifexist: {{#if: UbuntuHelp:SeamlessVirtualization | UbuntuHelp:SeamlessVirtualization | {{#if: | :}}SeamlessVirtualization}}/el | • {{#if: UbuntuHelp:SeamlessVirtualization|Ελληνικά| [[::SeamlessVirtualization/el|Ελληνικά]]}}|}} {{#ifexist: {{#if: UbuntuHelp:SeamlessVirtualization | UbuntuHelp:SeamlessVirtualization | {{#if: | :}}SeamlessVirtualization}}/es | • {{#if: UbuntuHelp:SeamlessVirtualization|español| [[::SeamlessVirtualization/es|español]]}}|}} {{#ifexist: {{#if: UbuntuHelp:SeamlessVirtualization | UbuntuHelp:SeamlessVirtualization | {{#if: | :}}SeamlessVirtualization}}/fa | • {{#if: UbuntuHelp:SeamlessVirtualization|فارسی| [[::SeamlessVirtualization/fa|فارسی]]}}|}} {{#ifexist: {{#if: UbuntuHelp:SeamlessVirtualization | UbuntuHelp:SeamlessVirtualization | {{#if: | :}}SeamlessVirtualization}}/fi | • {{#if: UbuntuHelp:SeamlessVirtualization|suomi| [[::SeamlessVirtualization/fi|suomi]]}}|}} {{#ifexist: {{#if: UbuntuHelp:SeamlessVirtualization | UbuntuHelp:SeamlessVirtualization | {{#if: | :}}SeamlessVirtualization}}/fr | • {{#if: UbuntuHelp:SeamlessVirtualization|français| [[::SeamlessVirtualization/fr|français]]}}|}} {{#ifexist: {{#if: UbuntuHelp:SeamlessVirtualization | UbuntuHelp:SeamlessVirtualization | {{#if: | :}}SeamlessVirtualization}}/gu | • {{#if: UbuntuHelp:SeamlessVirtualization|ગુજરાતી| [[::SeamlessVirtualization/gu|ગુજરાતી]]}}|}} {{#ifexist: {{#if: UbuntuHelp:SeamlessVirtualization | UbuntuHelp:SeamlessVirtualization | {{#if: | :}}SeamlessVirtualization}}/he | • {{#if: UbuntuHelp:SeamlessVirtualization|עברית| [[::SeamlessVirtualization/he|עברית]]}}|}} {{#ifexist: {{#if: UbuntuHelp:SeamlessVirtualization | UbuntuHelp:SeamlessVirtualization | {{#if: | :}}SeamlessVirtualization}}/hu | • {{#if: UbuntuHelp:SeamlessVirtualization|magyar| [[::SeamlessVirtualization/hu|magyar]]}}|}} {{#ifexist: {{#if: UbuntuHelp:SeamlessVirtualization | UbuntuHelp:SeamlessVirtualization | {{#if: | :}}SeamlessVirtualization}}/id | • {{#if: UbuntuHelp:SeamlessVirtualization|Bahasa Indonesia| [[::SeamlessVirtualization/id|Bahasa Indonesia]]}}|}} {{#ifexist: {{#if: UbuntuHelp:SeamlessVirtualization | UbuntuHelp:SeamlessVirtualization | {{#if: | :}}SeamlessVirtualization}}/it | • {{#if: UbuntuHelp:SeamlessVirtualization|italiano| [[::SeamlessVirtualization/it|italiano]]}}|}} {{#ifexist: {{#if: UbuntuHelp:SeamlessVirtualization | UbuntuHelp:SeamlessVirtualization | {{#if: | :}}SeamlessVirtualization}}/ja | • {{#if: UbuntuHelp:SeamlessVirtualization|日本語| [[::SeamlessVirtualization/ja|日本語]]}}|}} {{#ifexist: {{#if: UbuntuHelp:SeamlessVirtualization | UbuntuHelp:SeamlessVirtualization | {{#if: | :}}SeamlessVirtualization}}/ko | • {{#if: UbuntuHelp:SeamlessVirtualization|한국어| [[::SeamlessVirtualization/ko|한국어]]}}|}} {{#ifexist: {{#if: UbuntuHelp:SeamlessVirtualization | UbuntuHelp:SeamlessVirtualization | {{#if: | :}}SeamlessVirtualization}}/ksh | • {{#if: UbuntuHelp:SeamlessVirtualization|Ripoarisch| [[::SeamlessVirtualization/ksh|Ripoarisch]]}}|}} {{#ifexist: {{#if: UbuntuHelp:SeamlessVirtualization | UbuntuHelp:SeamlessVirtualization | {{#if: | :}}SeamlessVirtualization}}/mr | • {{#if: UbuntuHelp:SeamlessVirtualization|मराठी| [[::SeamlessVirtualization/mr|मराठी]]}}|}} {{#ifexist: {{#if: UbuntuHelp:SeamlessVirtualization | UbuntuHelp:SeamlessVirtualization | {{#if: | :}}SeamlessVirtualization}}/ms | • {{#if: UbuntuHelp:SeamlessVirtualization|Bahasa Melayu| [[::SeamlessVirtualization/ms|Bahasa Melayu]]}}|}} {{#ifexist: {{#if: UbuntuHelp:SeamlessVirtualization | UbuntuHelp:SeamlessVirtualization | {{#if: | :}}SeamlessVirtualization}}/nl | • {{#if: UbuntuHelp:SeamlessVirtualization|Nederlands| [[::SeamlessVirtualization/nl|Nederlands]]}}|}} {{#ifexist: {{#if: UbuntuHelp:SeamlessVirtualization | UbuntuHelp:SeamlessVirtualization | {{#if: | :}}SeamlessVirtualization}}/no | • {{#if: UbuntuHelp:SeamlessVirtualization|norsk| [[::SeamlessVirtualization/no|norsk]]}}|}} {{#ifexist: {{#if: UbuntuHelp:SeamlessVirtualization | UbuntuHelp:SeamlessVirtualization | {{#if: | :}}SeamlessVirtualization}}/oc | • {{#if: UbuntuHelp:SeamlessVirtualization|occitan| [[::SeamlessVirtualization/oc|occitan]]}}|}} {{#ifexist: {{#if: UbuntuHelp:SeamlessVirtualization | UbuntuHelp:SeamlessVirtualization | {{#if: | :}}SeamlessVirtualization}}/pl | • {{#if: UbuntuHelp:SeamlessVirtualization|polski| [[::SeamlessVirtualization/pl|polski]]}}|}} {{#ifexist: {{#if: UbuntuHelp:SeamlessVirtualization | UbuntuHelp:SeamlessVirtualization | {{#if: | :}}SeamlessVirtualization}}/pt | • {{#if: UbuntuHelp:SeamlessVirtualization|português| [[::SeamlessVirtualization/pt|português]]}}|}} {{#ifexist: {{#if: UbuntuHelp:SeamlessVirtualization | UbuntuHelp:SeamlessVirtualization | {{#if: | :}}SeamlessVirtualization}}/ro | • {{#if: UbuntuHelp:SeamlessVirtualization|română| [[::SeamlessVirtualization/ro|română]]}}|}} {{#ifexist: {{#if: UbuntuHelp:SeamlessVirtualization | UbuntuHelp:SeamlessVirtualization | {{#if: | :}}SeamlessVirtualization}}/ru | • {{#if: UbuntuHelp:SeamlessVirtualization|русский| [[::SeamlessVirtualization/ru|русский]]}}|}} {{#ifexist: {{#if: UbuntuHelp:SeamlessVirtualization | UbuntuHelp:SeamlessVirtualization | {{#if: | :}}SeamlessVirtualization}}/si | • {{#if: UbuntuHelp:SeamlessVirtualization|සිංහල| [[::SeamlessVirtualization/si|සිංහල]]}}|}} {{#ifexist: {{#if: UbuntuHelp:SeamlessVirtualization | UbuntuHelp:SeamlessVirtualization | {{#if: | :}}SeamlessVirtualization}}/sq | • {{#if: UbuntuHelp:SeamlessVirtualization|shqip| [[::SeamlessVirtualization/sq|shqip]]}}|}} {{#ifexist: {{#if: UbuntuHelp:SeamlessVirtualization | UbuntuHelp:SeamlessVirtualization | {{#if: | :}}SeamlessVirtualization}}/sr | • {{#if: UbuntuHelp:SeamlessVirtualization|српски / srpski| [[::SeamlessVirtualization/sr|српски / srpski]]}}|}} {{#ifexist: {{#if: UbuntuHelp:SeamlessVirtualization | UbuntuHelp:SeamlessVirtualization | {{#if: | :}}SeamlessVirtualization}}/sv | • {{#if: UbuntuHelp:SeamlessVirtualization|svenska| [[::SeamlessVirtualization/sv|svenska]]}}|}} {{#ifexist: {{#if: UbuntuHelp:SeamlessVirtualization | UbuntuHelp:SeamlessVirtualization | {{#if: | :}}SeamlessVirtualization}}/th | • {{#if: UbuntuHelp:SeamlessVirtualization|ไทย| [[::SeamlessVirtualization/th|ไทย]]}}|}} {{#ifexist: {{#if: UbuntuHelp:SeamlessVirtualization | UbuntuHelp:SeamlessVirtualization | {{#if: | :}}SeamlessVirtualization}}/tr | • {{#if: UbuntuHelp:SeamlessVirtualization|Türkçe| [[::SeamlessVirtualization/tr|Türkçe]]}}|}} {{#ifexist: {{#if: UbuntuHelp:SeamlessVirtualization | UbuntuHelp:SeamlessVirtualization | {{#if: | :}}SeamlessVirtualization}}/vi | • {{#if: UbuntuHelp:SeamlessVirtualization|Tiếng Việt| [[::SeamlessVirtualization/vi|Tiếng Việt]]}}|}} {{#ifexist: {{#if: UbuntuHelp:SeamlessVirtualization | UbuntuHelp:SeamlessVirtualization | {{#if: | :}}SeamlessVirtualization}}/yue | • {{#if: UbuntuHelp:SeamlessVirtualization|粵語| [[::SeamlessVirtualization/yue|粵語]]}}|}} {{#ifexist: {{#if: UbuntuHelp:SeamlessVirtualization | UbuntuHelp:SeamlessVirtualization | {{#if: | :}}SeamlessVirtualization}}/zh | • {{#if: UbuntuHelp:SeamlessVirtualization|中文| [[::SeamlessVirtualization/zh|中文]]}}|}} {{#ifexist: {{#if: UbuntuHelp:SeamlessVirtualization | UbuntuHelp:SeamlessVirtualization | {{#if: | :}}SeamlessVirtualization}}/zh-hans | • {{#if: UbuntuHelp:SeamlessVirtualization|中文(简体)| [[::SeamlessVirtualization/zh-hans|中文(简体)]]}}|}} {{#ifexist: {{#if: UbuntuHelp:SeamlessVirtualization | UbuntuHelp:SeamlessVirtualization | {{#if: | :}}SeamlessVirtualization}}/zh-hant | • {{#if: UbuntuHelp:SeamlessVirtualization|中文(繁體)| [[::SeamlessVirtualization/zh-hant|中文(繁體)]]}}|}} |
{{#ifeq:UbuntuHelp:SeamlessVirtualization|:SeamlessVirtualization|请不要直接编辑翻译本页,本页将定期与来源同步。}} |
{{#ifexist: :SeamlessVirtualization/zh | | {{#ifexist: SeamlessVirtualization/zh | | {{#ifeq: {{#titleparts:SeamlessVirtualization|1|-1|}} | zh | | }} }} }} {{#ifeq: {{#titleparts:SeamlessVirtualization|1|-1|}} | zh | | }}
- title 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/
- Start a Windows XP pro VM.
- If using VMware, configure host-only networking, and note the VMs IP address for later.
- You do not have to use host-only networking. Worked for me with "Custom: Specific visual network" [Ramvi]
- If using QEmu, use the following command
qemu -m 384 -redir tcp:3389::3389 windows.img
- 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/
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 Start → Control 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. Note: Fast User Switching is not available to computers that are part of a network domain.
- Allow remote connections: in the control panel, click System. On the Remote tab, tick Allow users to connect remotely to this computer. If you want to connect to a limited account, click 'Select Remote Users' and make sure the user account is in the list. Click OK.
- In the VM, download [1]. Extract to C:\seamlessrdp. Ensure that the user account that you want to access has permissions to access this folder. Then log out of the VM.
- If you don't have 'Internet > Remote Desktop Viewer' then 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.
- 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 Start → Run. 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 (you must log out of all accounts)
- 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/Notes
- 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 2010年5月20日 (四) 00:09 (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
- I don't mind running one program at a time, but I've noticed that if you run a single program via seamlessrdp that cannot be used to log out (notepad for example), the user remains logged in after closing the program window, and attempting to launch the application again fails (it hangs during login). I have to login via VMWare console and manually log out before the rdp method will work again. The best workaround for my money is to create a simple batch file on the windows machine that runs the program I want and then logs off after the program exits. For example:
c: cd \Program Files\Internet Explorer iexplore.exe logoff
Save that batch file, and call it via your rdesktop command. IE will run, and when you close the window you'll be automatically logged off.
- 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
- Not yet. Ideally needs Microsoft need to release the protocol documentation. --ChrisRose4
- 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/
- If you add a registry DWORD called NoDesktop to HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\Explorer and set it to 1 then log out and log in, you can start explorer in your rdesktop command line and get just a Windows taskbar. Of course, then you can't see your desktop if e.g. you log in using VNC. see http://www.linux.com/feature/124908?theme=print
- The Human theme does not work in Windows XP x64.
- There is an unofficial 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. http://www.fontis.com.au/rdesktop
- There is a freely available utility that launches a launchpad from which you can configure and run several applications from one seamlessrdp session. http://www.miguelfurtado.com/srdp.aspx
- The Windows classic theme has glitches on the taskbar - use the hideous Luna theme or Human theme instead :)
- XP Pro SP3 with the Hardy and Intrepid alpha 6 versions of rdesktop caused segmentation faults all over the place for me - I found that the 1.5.0 version from Debian doesn't have this problem - see https://bugs.launchpad.net/ubuntu/+source/rdesktop/+bug/275545 - fubarbundy
- The 1.6 version of rdesktop in Intrepid seems to not hide window decorations - Hardy's 1.5 version or Debian's 1.5 and 1.6 versions don't have this problem - see https://bugs.launchpad.net/ubuntu/+source/rdesktop/+bug/275528 - fubarbundy
- At least for XP Pro SP3, you can improve the appearance of Windows by enabling 24 bit colour and font smoothing. In Windows, run regedit, change HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Terminal Server\WinStations\RDP-Tcp\ColorDepth to 4, under HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Terminal Server\WinStations add a DWORD called AllowFontAntiAlias and set its value to 1, and under HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Terminal Server\WinStations\RDP-Tcp add an identical key (AllowFontAntiAlias 1). Restart Windows and Robert's your mother's brother. - fubarbundy