VirtualBox

Opened 17 years ago

Closed 17 years ago

Last modified 17 years ago

#149 closed enhancement (fixed)

[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 (3)

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

Download all attachments as: .zip

Change History (28)

comment:1 by Michael Thayer, 17 years ago

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 by Technologov, 17 years ago

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 by Michael Thayer, 17 years ago

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 by Michael Thayer, 17 years ago

The same for an OpenSUSE 10.2 host.

comment:6 by Technologov, 17 years ago

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 by Michael Thayer, 17 years ago

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

by Technologov, 17 years ago

Attachment: snapshot-Win.jpg added

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

comment:8 by Technologov, 17 years ago

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.

by Technologov, 17 years ago

Attachment: snapshot-Win-a.jpg added

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

comment:9 by Technologov, 17 years ago

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 by Technologov, 17 years ago

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 by Technologov, 17 years ago

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 by Technologov, 17 years ago

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 by Technologov, 17 years ago

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.

by Technologov, 17 years ago

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

comment:14 by Technologov, 17 years ago

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 by rafelbev, 17 years ago

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 by Technologov, 17 years ago

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

comment:17 by Achim Hasenmueller, 17 years ago

Summary: [feature-request] Revolutionary Integration - Parralels Coherence[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 by Technologov, 17 years ago

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 by mshooshtari, 17 years ago

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 by Technologov, 17 years ago

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 by mshooshtari, 17 years ago

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 by Sander van Leeuwen, 17 years ago

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

comment:23 by Sander van Leeuwen, 17 years ago

Resolution: fixed
Status: newclosed

comment:24 by Technologov, 17 years ago

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 by Technologov, 17 years ago

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.

© 2023 Oracle
ContactPrivacy policyTerms of Use