VirtualBox

Ticket #149 (closed enhancement: fixed)

Opened 13 years ago

Last modified 12 years ago

[feature-request] "Coherence" mode

Reported by: Technologov Owned by:
Component: other Version: VirtualBox 1.3.6
Keywords: Cc:
Guest type: other Host type: other

Description

Parralels Coherence is a new way of integrating Guest OS and Host OS.... and a VERY nice way indeed. It really creates a WOOW factor.  http://www.parallels.com/products/coherence

Current integration techniques look old and pale now compared to this... Revolution !

I really think VBox should learn a bit from Parralels.

-Alexey Eremenko

Attachments

snapshot-Win.jpg Download (120.8 KB) - added by Technologov 13 years ago.
first-success screenshot: Running Windows XP guest, fully integrated into openSUSE Linux host !
snapshot-Win-a.jpg Download (126.9 KB) - added by Technologov 13 years ago.
OK, I have achieved my second milestone ! Coherence-like effect !
screenshot-SUSE-on-Windows.JPG Download (125.8 KB) - added by Technologov 13 years ago.
Getting it Vice-Versa: openSUSE Linux on Windows XP Host.

Change History

comment:1 Changed 13 years ago by michael

This is probably not something we would be able to do ourselves as long as no paying customer is asking for it. Perhaps someone from the community would be interested in trying this. One way to do it would be to write a new guest additions module which draws the host windows and background into the guest wallpaper when the guest is in full-screen mode, and a host module to pass on the graphics information to the guest module. The guest module would also have to pass on mouse clicks to the host, so that windows could react to them and be raised properly. VirtualBox contains a host-guest communication module (src/main/hgcm) which might help here.

comment:3 Changed 13 years ago by Technologov

A similar, but Open-Source technology exists here: Seamless Virtualization (21.03.2007)

 https://help.ubuntu.com/community/SeamlessVirtualization  https://help.ubuntu.com/community/WindowsXPUnderQemuHowTo

Can someone evaluate it? (I'm Suser)

-Alexey

comment:4 Changed 13 years ago by michael

I will have a look at it when I have time. But these instructions should also work just as well for an OpenSUSE 10.3 host, which also includes rdesktop 1.5, so you should be able to get it to work as well. You will just have to substitute VBox port forwarding for the QEMU command (qemu -m 384 -redir tcp:3389::3389 windows.img).

comment:5 Changed 13 years ago by michael

The same for an OpenSUSE 10.2 host.

comment:6 Changed 13 years ago by Technologov

Well, openSUSE 10.2 has rdesktop 1.5 available, so unlike Ubunters, I don't have to wait for next-release ! I can try now !

What's the best way to do port forwarding with Virtual Box ? Use Vbox's new built-in port-forwarding capabilities or external utility (read: iptables) ?

I have found the following commands in Vbox docs, are they OK to setup port-forwarding?


VBoxManage setextradata "Linux Guest"

"VBoxInternal/Devices/pcnet/0/LUN#0/Config/ssh/UDP" 0

VBoxManage setextradata "Linux Guest"

"VBoxInternal/Devices/pcnet/0/LUN#0/Config/ssh/GuestPort" 22

VBoxManage setextradata "Linux Guest"

"VBoxInternal/Devices/pcnet/0/LUN#0/Config/ssh/HostPort" 2222


But those docs aren't clear enought on that topic... Can someone help me with this port-forwarding in VBox ?

On the other hand: Well, I think I can use Host Networking via TAP, so I might not need port-forwarding at all.

-Alexey

comment:7 Changed 13 years ago by michael

Not tried port forwarding myself yet, but I would guess:

VBoxManage setextradata "XP Guest" "VBoxInternal/Devices/pcnet/0/LUN#0/Config/seamlessrdp/UDP" 0 
VBoxManage setextradata "XP Guest" "VBoxInternal/Devices/pcnet/0/LUN#0/Config/seamlessrdp/GuestPort" 80
VBoxManage setextradata "XP Guest" "VBoxInternal/Devices/pcnet/0/LUN#0/Config/seamlessrdp/HostPort" 3389

Changed 13 years ago by Technologov

first-success screenshot: Running Windows XP guest, fully integrated into openSUSE Linux host !

comment:8 Changed 13 years ago by Technologov

I just started, and already show results !

My first success !

I made it according to those Ubuntu instructions, basically I have "ported" the concept from Ubuntu/Qemu to openSUSE/VirtualBox !

Catch: Your Windows must have RDP built-in: basically you need either: Windows XP Professional, Windows 2000 Server or Windows Vista Ultimate. All the cheaper Home-editions won't do, neither will Windows 2000 Pro.

I have NOT used port-forwarding, but instead I used host-networking via TAP.

Maybe I will write some article about it....

============================================================================== My Next steps:

a) integrate SeamLess Desktop into GuestVM additions (if InnoTek agrees)

b) now Windows applications must be run from Linux command-line. Unacceptable. Is there a better way, like coherence did ? I want to integrate Windows Explorer + TaskBar + Start to be on the top of the openSUSE Desktop, KDE taskbar will be at bottom of openSUSE desktop, so I could launch apps from Windows start menu.

Any idea on how-to make it user-friendly?

c) Document it

Any general feeling ? My one is AWESOME SUCCESS !

-Alexey "Technologov", 21.03.2007.

Changed 13 years ago by Technologov

OK, I have achieved my second milestone ! Coherence-like effect !

comment:9 Changed 13 years ago by Technologov

Second milestone reached ! ! !

Problem b) has just been successfully solved !

It was dead-easy: Instead of running IE, I started Windows Explorer - it allowed me for XP style theming (instead of classic), Windows Start Menu (which I needed to manually retrieve from under openSUSE menu and setup on top of openSUSE desktop), + now I has a Windows taskbar for Windows applications and start menu to start ANY Windows application, that VirtualBox can handle ! weee-heeee !!!!

C:\Windows\explorer.exe did the trick !

Tip for KDE users: KDE Control Center->Desktop->Panels->Hiding->check "show right-panel hiding button". You must (!) do this in order to get XP start menu from under KDE kicker.

-Alexey "Technologov", 21.03.2007.

comment:10 Changed 13 years ago by Technologov

Documentation draft : (solution to problem "c." )

VirtualBox Seamless Desktop

=============================

File made by Alexey Eremenko on 21.03.2007.

Steps to setup Windows XP Pro (as guest) with Seamless desktop integration

on openSUSE 10.2 Linux Host.

Original taken from:

 https://help.ubuntu.com/community/SeamlessVirtualization

At first I have heard about this technology from Parralels (their name is "Coherence")

But Now, Open-Source alternative emerged, and I absolutely believe, that it must be integrated with the next-generation of VirtualBox.

The original SeamlessVirtualization article deals with Ubuntu/Qemu, basically I have "ported" the concept from Ubuntu/Qemu to openSUSE/VirtualBox !

  1. In the VM, log in as Administrator. Then click Start → Control Panel → System Properties. On the Remote tab, tick Allow users to connect remotely to this computer. Click OK.

You will also need to create a new user, with administrator priviledges and password to make it work. Passwordless RDP logins won't work.

  1. In the VM, download [WWW]  http://www.cendio.se/files/thinlinc/seamlessrdp/seamlessrdp.zip. Extract to C:\seamlessrdp. Then log out of the VM.
  1. Read how-to setup Host-Networking on Linux:

 http://www.violtan.com/ae/virtualbox.html

  1. Install rdesktop via Yast. minimal version is 1.5 (included with openSUSE 10.2)
  1. Execute on Linux CLI:

rdesktop -A -s "c:\seamlessrdp\seamlessrdpshell.exe C:\Windows\explorer.exe" [guest-ip]:3389 -u administrator -p password

  1. Tip for KDE users: KDE Control Center->Desktop->Panels->Hiding->check "show right-panel hiding button". Then click on button located in right-bottom corner. You must (!) do this in order to get XP start menu from under KDE kicker.
  1. Start *any* Windows application from Windows Start menu.

Catch: Your Windows must have RDP built-in: basically you need either: Windows XP Professional, Windows 2000 Server or Windows Vista Ultimate. All the cheaper Home-editions won't do, neither will Windows 2000 Pro.

Bugs:

-Full screen apps might not work well

-Fonts are uglier than in real Windows XP (maybe has something to do with ClearType disabled?)

-Windows's windows sometimes hide behind Linux's KDE windows.

-AFAIK: it works only with 16-bit color, not true color.

Wish you luck,

-Alexey "Technologov", 21.03.2007.

P.S. Now it is *your* turn InnoTek ! Solve problem "a" !

comment:11 Changed 13 years ago by Technologov

Please look at both screenshots I provided ! They are beautyful !

...And look at my record time of doing this awesome job ! - less than 2 hours for testing, submitting into, writing documentation draft, taking screenshots, and showing the future !

-Alexey "Technologov", 21.03.2007.

comment:12 Changed 13 years ago by Technologov

According to:

 http://www.cendio.com/seamlessrdp/

This technology is Open-Source, GPLed.

P.S. Now it is *your* turn InnoTek ! Solve problem "a" ! Go and integrate SeamLess Desktop into GuestVM additions.

-Alexey "Technologov", 21.03.2007.

comment:13 Changed 13 years ago by Technologov

a plan for a future:

After integrating "seamlessRDP", my next recommendation (read: feature-request from InnoTek) is to make the VBox GUI familiar with it - what is if it works on a Linux Host and Windows XP Pro guest, with additions installed, make it possible to run into a seamless mode right from the GUI. This will be a next-stage integration between this Seamless mode wonderful technology and VirtualBox.

When a user will start seamless mode from GUI, it must do two things:

1) hide the GUI Guest VM window completely.

2) start RDP client.

3) If RDP session fails/disconnects, the GUI VM window must become automatically visible again. Alternatively, that VM window can be made visible again manually via VBox main window.

All those steps will bring VirtualBox very close to Parralels Coherence (with a very little effort from Innotek's programmer's side).

My current effort will be to make it wise-versa - Run openSUSE on Windows XP. This will allow me to enjoy 3D games, and feel the best of both worlds -- and yes, I still play games... :) !

NX technology allows for seamless connections, but where's the similar KDE executable to Windows' Explorer.exe ? It can be: kdesktop, kicker or kwin - but which one is needed for the task ?

-Alexey "Technologov", 22.03.2007.

Changed 13 years ago by Technologov

Getting it Vice-Versa: openSUSE Linux on Windows XP Host.

comment:14 Changed 13 years ago by Technologov

OK, now I have made the next-step - Seamless Mode - but vice-versa this time: openSUSE Linux guest on Windows XP Host ! ! !

To make it vice-versa, I simply had to find a familiars...

RDP = ?...

and

Explorer = ?...

It turned out that this equation looks like this:

RDP = NX

and

Explorer.exe = KDE kicker

Look at my screenshot. Unfortunately, I don't know how-to remove the window borders from kicker.... please help !

I have used Nomachine's NX Client for Windows, plus configured KDE on SUSE to have kicker on top, centered, 90% of full width.

-Alexey "Technologov", 22.03.2007.

comment:15 Changed 13 years ago by rafelbev

If you want to have a look at the GPL implementation of both server and client, you should have a look at the 2X NX server. Its based on the NoMachine code but is totally GPL.

 http://code.2x.com/linuxterminalserver

comment:16 Changed 13 years ago by Technologov

It's OK - there is FreeNX Server + QT-NX Open-Source NX Server+Client exists.

comment:17 Changed 13 years ago by achimha

  • Summary changed from [feature-request] Revolutionary Integration - Parralels Coherence to [feature-request] "Coherence" mode

We are planning an implementation that works both locally and via RDP. We will not use any existing GPL code because we are dual-licensed but we will most likely use the RDP extension implemented in rdesktop 1.5.

No dates on this this yet.

comment:18 Changed 13 years ago by Technologov

This module is totally separate from code point of view, from the rest of InnoTek multi-licensed code, so it would be safe to use this module for both Open-Source *and* commercial customers.

Just you'll have to provide the source-code of this module to all customers.

-Please use it. (until you develop a better implementation, which might take a while...)

-Alexey "Technologov", 22.03.2007.

comment:19 Changed 13 years ago by mshooshtari

This all sounds well and good, but what's the hack or the secret to getting -s <your shell command here> to work? I have not been able to do this with Windows XP Professional. After researching this I found that it is not supported. I tested with Server 2003 and my syntax was correct. Here is the Microsoft Article explaining that you cannot run a specific program with Windows XP Professional. The copied matierial is from the second item under "Troubleshooting Remote Desktop" Please somebody clue me in so I can get this working personally with hacks, or better without hacks to use in my office legitimately. The company cannot afford several extra server 2003 licenses just to accomplish this.

 http://www.microsoft.com/technet/prodtechnol/winxppro/reskit/c08621675.mspx

* A Specified Program Will Not Open

If you are having problems opening a specified program on the host computer (on the Programs tab of the Remote Desktop Connection), you might be connecting to a computer running Windows XP Professional. Specified programs will open only when connecting to a terminal server, not when starting a Remote Desktop session. Remote Desktop provides access to the actual console session of the remote computer. You cannot specify programs that open in a Remote Desktop session. *

comment:20 Changed 13 years ago by Technologov

The secret is that only Windows Vista (non-Home) OS supports seamless RDP by default, so in Windows XP case, we use a hack called "seamlessRDP" to achieve the needed functionality with XP. It is an extra layer to the XP's RDP.

The hack works *only* with rdesktop1.5 which is a Linux RDP client, The hack is ugly and results in a lot of bugs, mainly on the Linux-client side.

Perhaps, with some effort we (the community) could fix those bugs... and integrate that functionality into VirtualBox GUI.

I have written an article about that feature here:  http://forgeftp.novell.com/lfl/.html/virtualbox.html

comment:21 Changed 13 years ago by mshooshtari

This is an excellent instruction. I was able to repeat this process with the exception of the Windows XP desktop. By using explorer.exe I get the start bar, but I also get the desktop and wallpaper. This covers my linux desktop. Have you seen this, and know perhaps how to get only the start bar?

comment:22 Changed 12 years ago by sandervl73

Today's SVN contains a basic desktop integration mechanism comparable to Coherence. It still needs some polishing, but basically works.

comment:23 Changed 12 years ago by sandervl73

  • Status changed from new to closed
  • Resolution set to fixed

comment:24 Changed 12 years ago by Technologov

Is there desktop integration ? GREAT ! ! !

How about giving this feature a NAME :

-Parralels Coherence

-VMware Unity

and how about this one ?

-Innotek Symbiosis ?

any other ideas?

-Technologov

comment:25 Changed 12 years ago by Technologov

It works GREAT !

Unlike the old hack, it doesn't even requires RDP, those making it usable even with Windows 2000 Pro guests !

Making it the other way around (Linux-on-Windows) hopefully will be even simpler, because X-protocol is optimized for such "transparency and remote use". What we need is: just X-server for Windows, that creates "borderless" windows.

Should I open another bug report or continue this one?

-Technologov

Note: See TracTickets for help on using tickets.

www.oracle.com
ContactPrivacy policyTerms of Use