Hi Armin,

I have a question about the shadow server. I realize that it is still work
in progress but it really is nice even in it current state as the Linux
build for it goes well and I can connect to my Linux box from Windows and
Linux with no problems.  Of course, I am still trying to get the Shadow
Server to compile on Windows and must say, that your WinPR approach is very
nice as well.

One problem that I found in the Shadow Server (Linux version) is that when
started and I connect from another system, the server says that it

-----------------------------------------------------------------------------------------
FreeRDP/FreeRDP/build/server/shadow$ ./freerdp-shadow-cli
[11:17:12:725] [17682:17682] [INFO][com.freerdp.server.shadow.x11] - X11
Extensions: XFixes: 1 Xinerama: 1 XDamage: 0 XShm: 0
[11:17:12:736] [17682:17682] [INFO][com.freerdp.core.listener] - Listening
on 0.0.0.0:3389
[11:17:27:137] [17682:17683] [ERROR][com.winpr.thread] - Thread running,
setting to detached state!
[11:17:27:166] [17682:17707] [INFO][com.freerdp.core.connection] - Client
Security: NLA:1 TLS:1 RDP:0
[11:17:27:166] [17682:17707] [INFO][com.freerdp.core.connection] - Server
Security: NLA:0 TLS:1 RDP:1
[11:17:27:166] [17682:17707] [INFO][com.freerdp.core.connection] -
Negotiated Security: NLA:0 TLS:1 RDP:0
[11:17:36:473] [17682:17707] [ERROR][com.freerdp.core.transport] - BIO_read
returned a system error 104: Connection reset by peer
[11:17:36:473] [17682:17707] [ERROR][com.freerdp.client.shadow] - Failed to
check FreeRDP file descriptor
[11:17:36:517] [17682:17683] [ERROR][com.winpr.thread] - Thread running,
setting to detached state!
[11:17:36:531] [17682:17729] [INFO][com.freerdp.core.connection] - Client
Security: NLA:1 TLS:1 RDP:0
[11:17:36:531] [17682:17729] [INFO][com.freerdp.core.connection] - Server
Security: NLA:0 TLS:1 RDP:1
[11:17:36:531] [17682:17729] [INFO][com.freerdp.core.connection] -
Negotiated Security: NLA:0 TLS:1 RDP:0
[11:17:36:605] [17682:17729] [INFO][com.freerdp.core.connection] - Accepted
client: P857225
[11:17:36:606] [17682:17729] [INFO][com.freerdp.core.connection] - Accepted
channels:
[11:17:36:606] [17682:17729] [INFO][com.freerdp.core.connection] -  rdpdr
[11:17:36:606] [17682:17729] [INFO][com.freerdp.core.connection] -  rdpsnd
[11:17:36:606] [17682:17729] [INFO][com.freerdp.core.connection] -  cliprdr
[11:17:36:606] [17682:17729] [INFO][com.freerdp.core.connection] -  drdynvc
[11:17:36:606] [17682:17729] [INFO][com.freerdp.core.gcc] - Active rdp
encryption level: NONE
[11:17:36:606] [17682:17729] [INFO][com.freerdp.core.gcc] - Selected rdp
encryption method: NONE
[11:17:37:847] [17682:17729] [INFO][com.freerdp.client.shadow] - Client
from 192.68.1.50 is activated (1920x1080@32)
[11:17:37:668] [17682:17729] [WARN][com.freerdp.server.shadow.x11] -
x11_shadow_input_synchronize_event not implemented
[11:17:37:668] [17682:17729] [WARN][com.freerdp.server.shadow.x11] -
x11_shadow_input_synchronize_event not implemented
[11:17:37:669] [17682:17729] [INFO][com.freerdp.client.shadow] - Gfx
Pipeline Opened
[aac @ 0x7fda28002fe0] Too many bits 32768.000000 > 12288 per frame
requested, clamping to max
[11:17:38:770] [17682:17739] [ERROR][com.freerdp.channels.audin.server] -
WTSVirtualChannelQuery failed
[11:17:44:177] [17682:17729] [ERROR][com.freerdp.core.peer] -
peer_recv_callback: CONNECTION_STATE_ACTIVE - peer_recv_pdu() fail
[11:17:44:177] [17682:17729] [ERROR][com.freerdp.core.transport] -
transport_check_fds: transport->ReceiveCallback() - -1
[11:17:44:177] [17682:17729] [ERROR][com.freerdp.client.shadow] - Failed to
check FreeRDP file descriptor
[aac @ 0x7fda28002fe0] Qavg: -nan
^C
lonnie@spartan:~/FreeRDP/build/server/shadow$
-----------------------------------------------------------------------------------------

>From what I can see, it looks like it is loading the rdpdr, rdpsnd,
cliprdr, and drdynvc components but I do not see that the "rdpsnd" channel
is working (haven't tested the others yet.) as I get no sound returned to
the client.

I did build it as previous mentioned:

----------------------------------------------------------
cmake -GNinja -DCHANNEL_URBDRC=ON -DWITH_DSP_FFMPEG=ON -DWITH_CUPS=ON
-DWITH_PULSE=ON -DWITH_FAAD2=ON -DWITH_GSM=ON -DWITH_JPEG=ON
-DWITH_SERVER=ON -DMONOLITHIC_BUILD=ON -DBUILD_SHARED_LIBS=OFF ..

cmake --build .
------------------------------------------------------------

So I guess that I should not have built it with "-DMONOLITHIC_BUILD=ON" so
that it would build the plugins separately.

One question on this is to ask if the plugins from the main FreeRDP Client
(Linux) are the same as for the Shadow Server, or are they a completely
different design so that I will have an idea how to proceed with some of
the development on the Shadow server?

I am also investigating the "x11_shadow_input_synchronize_event not
implemented" as well as the ERROR outputs (above) to see what could be done
to fix them.

Any information that you could provide would be greatly appreciated.
Thanks and have a great day,
Lonnie



On Sat, Aug 17, 2019 at 12:54 PM Lonnie Cumberland <lon...@outstep.com>
wrote:

> Hi Armin,
>
> Just an update, but the shadow server "may" be exactly what I need to use
> as my starting point.  I can start it up on my Linux Ubuntu 18.04 system
> and then connect to the full desktop from a Windows RDP client.  I have not
> tried to build the Windows and MAC version of the Shadow server yet to see
> if I can connect from other clients but it seems to have the directories
> built for this in the shadow server code so I will give it a try.
>
> To compile the shadow server for Windows, do I need to use the MS Visual
> C++ or can it be cross-compiled with gcc/g++ via mingw 32/64 environment?
>
> Can you please explain more about the main purpose of the shadow server
> from the way that you have written it?
>
> Thanks again,
> Lonnie
>
>
> On Fri, Aug 16, 2019 at 2:15 PM Lonnie Cumberland <lon...@outstep.com>
> wrote:
>
>> Hi Armin,
>>
>> After investing a lot of things, I find that OGON is actually very large
>> with all of the dependencies so it may not work as I need so I am about to
>> try and ramp up some work on the shadow server as you suggested.
>>
>> You mentioned that it allows mirroring the current session. So would that
>> be like a proxy server for RDP?   I may have this wrong, but would the be
>> like: 1.) a FreeRDP client connects to the Shadow server. 2.) The shadow
>> server connects to?  (an existing RDP server, perhaps)
>>
>> Not really clear as to what the Shadow connects to in this regard. Sorry
>>
>> Also, another idea that I had for this effort of a SeamlessRDP interface,
>> might be by using your FreeRDP Server Sample (
>> https://github.com/FreeRDP/FreeRDP/tree/master/server/Sample) and adding
>> in the SeamlessRDP code to get access to an application that is running.
>> Then another FreeRDP client can connect to it to be served the Seamless
>> mode application.  Maybe this is what you were thinking along the lines for
>> the Shadow Server (
>> https://github.com/FreeRDP/FreeRDP/tree/master/server/shadow)
>>
>> Cheers and have a good weekend,
>> Lonnie
>>
>>
>>
>> On Wed, Jul 17, 2019 at 1:53 PM Armin Novak via FreeRDP-devel <
>> freerdp-devel@lists.sourceforge.net> wrote:
>>
>>> Have a look at the shadow server.
>>>
>>> That allows mirroring the current session.
>>>
>>> As for server as a plugin,
>>> doubt it is that easy, every os architecture out there tries to prevent
>>> that from working (think security nightmare)
>>>
>>>
>>> Am July 17, 2019 5:28:23 PM UTC schrieb Lonnie Cumberland <
>>> lon...@outstep.com>:
>>> >Hello Armin,
>>> >
>>> >Thanks for responding to my inquiry.
>>> >
>>> >I'm still not sure of all the details that will be needed for what I
>>> >have
>>> >in mind, but it will be basically 2 plugins.
>>> >
>>> >1. Seamless - Take the old rdesktop seamless code and develop a FreeRDP
>>> >plugin to handle seamless mode applications on Windows, Linux, MAC from
>>> >the
>>> >same plugin.
>>> >
>>> >2. Server - Take the OGON code and significantly reduce it, if
>>> >possible, or
>>> >write from scratch using the Server/Sample as a guide, a FreeRDP server
>>> >as
>>> >a plugin that will allow users to run on different platforms without
>>> >the
>>> >need to rely on a Microsoft RDP server. The idea is to have a single
>>> >server
>>> >plugin that can be invoked via FreeRDP
>>> >
>>> >I still have a LOT to learn about FreeRDP but think that these could be
>>> >very useful plugins for the FreeRDP user-base and also things that are
>>> >MUCH
>>> >needed by a lot of folks.
>>> >
>>> >Thanks again,
>>> >Lonnie
>>> >
>>> >On Wed, Jul 17, 2019 at 10:40 AM Armin Novak via FreeRDP-devel <
>>> >freerdp-devel@lists.sourceforge.net> wrote:
>>> >
>>> >> Hi Lonnie,
>>> >>
>>> >> best check ccmake and the repo for existing channels, the
>>> >documentation
>>> >> you are using is quite outdated.
>>> >> As for channels, see the microsoft specifications for RDP.
>>> >>
>>> >> Specifically for
>>> >> DRDYNVC: This is kind of a meta channel (there are static and dynamic
>>> >> channels, the dynamic ones are loaded by this one)
>>> >> RAIL: Provides the extensions necessary for remote application mode
>>> >>
>>> >> But if you are creating a server or client these are quite low level
>>> >and
>>> >> already implemented in the core library
>>> >>
>>> >> regards
>>> >>
>>> >> Armin
>>> >>
>>> >>
>>> >> On 7/16/19 6:16 PM, Lonnie Cumberland via FreeRDP-devel wrote:
>>> >> > Hi All,
>>> >> >
>>> >> > FreeRDP is really awesome and is so much better than VNC for what I
>>> >am
>>> >> > looking to try and accomplish.
>>> >> >
>>> >> > I am looking over the FreeRDP documentation to learn more about the
>>> >> > software as well as to get a better feel for RDP and how it really
>>> >works.
>>> >> >
>>> >> > In looking over the documentation:
>>> >> >
>>> >> >
>>> >>
>>> >
>>> https://github.com/awakecoding/FreeRDP-Manuals/blob/master/Developer/FreeRDP-Developer-Manual.markdown
>>> >> >
>>> >> >
>>> >> > I saw the listing for current channel applications:
>>> >> >
>>> >> > Channel Options
>>> >> > WITH_CHANNELS (BOOL [ON]): Build channels.
>>> >> >
>>> >> > Channel Names:
>>> >> >
>>> >> > AUDIN (Audio Input)
>>> >> > CLIPRDR (Clipboard Redirection)
>>> >> > DRIVE (Drive / File System Redirection)
>>> >> > DRDYNVC (Dynamic Virtual Channel)
>>> >> > PARALLEL (Parallel Port Redirection)
>>> >> > PRINTER (Printer Redirection)
>>> >> > RAIL (Remote Applications)
>>> >> > RDPDR (Device Redirection)
>>> >> > RDPSND (Audio Output)
>>> >> > SERIAL (Serial Port Redirection)
>>> >> > SMARTCARD (Smart Card Redirection)
>>> >> > TSMF (Multimedia Redirection)
>>> >> > URBDRC (USB Redirection)
>>> >> > --------------------------------
>>> >> >
>>> >> > Can someone please tell me more about what these 2 channels (below)
>>> >are
>>> >> > for?
>>> >> >
>>> >> > DRDYNVC (Dynamic Virtual Channel)
>>> >> > RAIL (Remote Applications)
>>> >> >
>>> >> > Would the remote desktop be piped through the "RAIL" channel, for
>>> >> example?
>>> >> >  Thanks,
>>> >> > Lonnie
>>> >> >
>>> >> > _______________________________________________
>>> >> > FreeRDP-devel mailing list
>>> >> > FreeRDP-devel@lists.sourceforge.net
>>> >> > https://lists.sourceforge.net/lists/listinfo/freerdp-devel
>>> >>
>>> >>
>>> >> _______________________________________________
>>> >> FreeRDP-devel mailing list
>>> >> FreeRDP-devel@lists.sourceforge.net
>>> >> https://lists.sourceforge.net/lists/listinfo/freerdp-devel
>>> >>
>>>
>>>
>>> _______________________________________________
>>> FreeRDP-devel mailing list
>>> FreeRDP-devel@lists.sourceforge.net
>>> https://lists.sourceforge.net/lists/listinfo/freerdp-devel
>>>
>>

_______________________________________________
FreeRDP-devel mailing list
FreeRDP-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/freerdp-devel

Reply via email to