[vbox-dev] Custom front-end using non-OSE SDK

Klaus Espenlaub Klaus.Espenlaub at Sun.COM
Tue Oct 27 09:15:03 GMT 2009


Brad Robinson wrote:
> Hi Klaus,
> 
> To get a console process to launch without a console you just need to set
> the CREATE_NO_WINDOW flag on the call to CreateProcess. I'm doing this now
> in my app to launch VBoxHeadless.  The problem now is that on

It sounds wrong to need a flag when starting the process. The process 
should automatically start without that window.

> shutdown/logout, windows just kills that process without giving it a chance
> to shutdown.  VBoxHeadless doesn't seems to invoke the code to save state
> and my app doesn’t seem to get a chance to cleanly save state it either.

This is expected behavior - and you can change it by catching the 
shutdown. So far all environments which started VMs in the background 
took care of handling host shutdown already, this is why there was no 
need to have code in all frontends.

> Disappointed to hear that Windows host is not a priority. I'd be happy to
> help resolve some of these issues but I need these fixes in the non-OSE VBox
> since I really need the RDP support.  Is there a process for getting OSE
> fixes rolled into the retail build and how long does this typically take?

Just submit the changes to us (see the Contribution page on 
virtualbox.org). We never rejected any sensible contributions, and they 
do end up in the non-OSE version as well. The timeframe for that depends 
on many factors (risk of breakage, next maintenance release, ...), but 
we try to keep delays at a minimum.

Klaus

> -----Original Message-----
> From: Klaus.Espenlaub at Sun.COM [mailto:Klaus.Espenlaub at Sun.COM] 
> Sent: Tuesday, 27 October 2009 1:23 AM
> To: Brad Robinson
> Cc: vbox-dev at virtualbox.org
> Subject: Re: [vbox-dev] Custom front-end using non-OSE SDK
> 
> Brad Robinson wrote:
>> Hi Josh,
>>
>> Under windows, when running as a logged on user yep, ugly black console
>> window appears.  But I can use CreateProcess to launch VBoxHeadless and
> get
>> it running hidden.  Still to get this working properly in-process would be
>> much nicer.
> 
> This is a known bug, and has been reported on this list several times 
> already. And since it's a bug you're welcome helping to hunt it down. 
> Since I don't know the Windows API by heart, I don't know what knobs to 
> tune to get a process started without this console window at all - which 
> is the goal. Hiding the window is just a workaround.
> 
> Note that this issue isn't a high priority, since there is no demand for 
> Windows as a host OS. Don't ask me why.
> 
>> I haven't looked at VBoxWeb - I only installed VirtualBox for the first
> time
>> last Thursday, so this is all new to me.
> 
> This certainly makes no difference here. The
>> Brad
>>
>> -----Original Message-----
>> From: Josh Wright [mailto:jshwright at gmail.com] 
>> Sent: Tuesday, 27 October 2009 12:28 AM
>> To: Brad Robinson
>> Cc: vbox-dev at virtualbox.org
>> Subject: Re: [vbox-dev] Custom front-end using non-OSE SDK
>>
>> OpenRemoteSession(... "vrdp"...) opens a console for you?
>>
>> You might want to look at the VBoxWeb code, since it also starts
>> headless/vrdp sessions.
>>
>> http://code.google.com/p/vboxweb/source/browse/trunk/VBoxWebSrv.py#398
>>
>> ~JW
>>
>> On Mon, Oct 26, 2009 at 9:18 AM, Brad Robinson
>> <brobinson at cantabilesoftware.com> wrote:
>>> Thanks Frank,
>>>
>>> I did look quickly at VBoxSDL, but couldn't really find anything that
>> helped
>>> with this specific problem.
>>>
>>> Regarding the VRDP, it's a pity that a custom front-end can't support
> that
>>> through the SDK.  Is that a deliberate measure, or should the SDK support
>>> it, or could it export a method that wires up those frame buffers?
>>>
>>> Regarding the sharing violation, I suspect the log file is just not
>> getting
>>> closed correctly.  In my case I was trying to run the same VM twice (once
>>> after the other) in the one process.  All the standard front ends seem to
>>> run one VM and then shutdown - which would hide an unreleased file
> handle.
>>> My interim approach to this is going to be simply launching
>> VBoxHeadless.exe
>>> - it solves both problems for me but the code is a lot messier.
>>>
>>> In short what I'm trying to do here is run a headless VM, but not have
> the
>>> console window show up - so OpenRemoteSession(... "vrdp"...) is no go to
>> me.
>>> Anyway, I'll get you a sample project ASAP so you can investigate what
> I'm
>>> seeing.
>>>
>>> Regards
>>> Brad
>>>
>>>
>>> -----Original Message-----
>>> From: Frank.Mehnert at Sun.COM [mailto:Frank.Mehnert at Sun.COM]
>>> Sent: Monday, 26 October 2009 11:56 PM
>>> To: Brad Robinson
>>> Subject: Re: [vbox-dev] Custom front-end using non-OSE SDK
>>>
>>> Brad,
>>>
>>> please reply to the mailing list if possible because I get tons of mails
>>> each day and probably other developers want to follow the discussion as
>>> well.
>>>
>>> On Monday 26 October 2009, Brad Robinson wrote:
>>>> Thanks for getting back to me on this.  I'll put together a simpler
>>>> example as my real project brings in a couple of custom libraries you
>>>> won't be interested in.  Shall I just email it directly to you?
>>> That would be possible. Or, if the compressed code isn't too long, you
>> could
>>> post it to the mailing list as well.
>>>
>>>> Btw: I've noticed in the VBoxHeadless OSE source code there's code
>>>> that sets a "new VRDPFramebuffer" to each display of the console...
>>>> this is what I suspect I'm missing, but not sure how to implement with
>> the
>>> SDK.
>>>
>>> Right, the VRDPFramebuffer is closed source and actually I'm not sure if
>> you
>>> will be able to write a custom frontend which can do RDP. Did you already
>>> have a look at VBoxSDL?
>>>
>>> Kind regards,
>>>
>>> Frank
>>> --
>>> Dr.-Ing. Frank Mehnert
>>>
>>> Sitz der Gesellschaft:
>>> Sun Microsystems GmbH, Sonnenallee 1, 85551 Kirchheim-Heimstetten
>>> Amtsgericht München: HRB 161028
>>> Geschäftsführer: Thomas Schröder, Wolfgang Engels, Wolf Frenkel
>> Vorsitzender
>>> des Aufsichtsrates: Martin Häring
> 
> 
> _______________________________________________
> vbox-dev mailing list
> vbox-dev at virtualbox.org
> http://vbox.innotek.de/mailman/listinfo/vbox-dev


-- 
Dr. Klaus Espenlaub
Sun Microsystems GmbH
Werkstrasse 24
71384 Weinstadt
Germany

=====================================================================
Sitz der Gesellschaft:
Sun Microsystems GmbH, Sonnenallee 1, D-85551 Kirchheim-Heimstetten
Amtsgericht Muenchen: HRB 161028
Geschaeftsfuehrer: Thomas Schroeder, Wolfgang Engels, Wolf Frenkel
Vorsitzender des Aufsichtsrates: Martin Haering
=====================================================================




More information about the vbox-dev mailing list