Bug 2289 - SeamlessRDP session sharing
Summary: SeamlessRDP session sharing
Status: CLOSED FIXED
Alias: None
Product: ThinLinc
Classification: Unclassified
Component: | rdesktop (deprecated) (show other bugs)
Version: 1.5.0
Hardware: PC Linux
: P2 Enhancement
Target Milestone: 4.1.0
Assignee: Henrik Andersson
URL:
Keywords: ossman_tester
Depends on:
Blocks: 4499
  Show dependency treegraph
 
Reported: 2006-12-18 09:03 CET by Peter Åstrand
Modified: 2013-06-27 14:04 CEST (History)
0 users

See Also:
Acceptance Criteria:


Attachments
rdesktop.patch (10.89 KB, patch)
2006-12-18 09:04 CET, Peter Åstrand
Details
seamless.patch (931 bytes, patch)
2006-12-18 09:05 CET, Peter Åstrand
Details

Description Peter Åstrand cendio 2006-12-18 09:03:23 CET
Currently, we create a new WTS session for each new application launched by
tl-run-winapp-seamless. Instead, we could have new applications launched inside
the current WTS session. That would minimize the resource usage and the WTS and
perhaps also give better integration, say, with drag-and-drop. 

I've presented this idea on the rdesktop mailing list some time ago. Now, Lloyd
Hazlett <sf@fontis.com.au> has announced that he and Peter Spiller have
implemented this. We should evaluate this.
Comment 1 Peter Åstrand cendio 2006-12-18 09:04:16 CET
Created attachment 224 [details]
rdesktop.patch

Patch from Lloyd Hazlett <sf@fontis.com.au>.
Comment 2 Peter Åstrand cendio 2006-12-18 09:05:32 CET
Created attachment 225 [details]
seamless.patch

Patch from Lloyd Hazlett <sf@fontis.com.au>.
Comment 3 Peter Åstrand cendio 2006-12-19 10:34:45 CET
For 1.6.0, at least check if this patch is nice enough to be accepted into the
rdesktop CVS. 
Comment 4 Peter Åstrand cendio 2007-04-26 15:54:22 CEST
This functionality is available from https://www.fontis.com.au/rdesktop. 
Comment 5 Peter Åstrand cendio 2010-09-06 08:55:10 CEST
One good thing about this feature is that it would enhance app publishing from single user systems such as XP: You would be able to invoke tl-run-winapp-seamless multiple times. This is currently not possible. 
Comment 6 Henrik Andersson cendio 2012-08-29 09:12:45 CEST
Timest. includes verify and incooperate the patches into rdesktop/seamless shell with functionality as is and update our rdesktop scripts within thinlinc to work
with the new feature.
Comment 7 Henrik Andersson cendio 2013-01-22 08:20:23 CET
The patches lacks some fundamental parts so we had to redesign this implementation. Breaking it down into 2 parts: IPC for communication between two rdesktop processes and extension to SeamlessRDP for spawning new processes.

This will greatly increase the time estimation of this bug, the IPC should be asynchronous to prevent blocking in rdesktop codebase. The IPC needs a protocol specification and a proper IPC server implementation.

Seamless RDP protocol needs to be extended with a new SPAWN command, also we need to ensure that proper text encoding are passed though the callchain:

rdesktop commandline -> IPC -> Seamless RDP proto -> seamlesrdpshell.exe -> CreateProcess()
Comment 8 Henrik Andersson cendio 2013-01-24 14:43:23 CET
Initial implementation of seamless connection sharing is now comitted
upstream, r1688/r1689
Comment 9 Henrik Andersson cendio 2013-02-05 12:46:13 CET
Vendordropped into ThinLinc in commit r26505.
Comment 10 Henrik Andersson cendio 2013-02-05 12:55:40 CET
tl-run-winapp-seamless updated in commit r26506 to support the
new meaning of argument -A and -s of rdesktop command.
Comment 11 Henrik Andersson cendio 2013-02-05 13:10:38 CET
Vendordrop of seamlessrdp commited in r26510.
Comment 12 Henrik Andersson cendio 2013-02-05 13:25:13 CET
Upstream commit r1696 documents the new seamless protocol command SPAWN added for realizing the seamless connection sharing.
Comment 13 Henrik Andersson cendio 2013-02-26 11:29:45 CET
http://www.cendio.com/seamlessrdp/ needs to be updated so that the
example matches the new commandline argument layout.
Comment 14 Henrik Andersson cendio 2013-04-04 11:00:26 CEST
(In reply to comment #13)
> http://www.cendio.com/seamlessrdp/ needs to be updated so that the
> example matches the new commandline argument layout.

Setting this bug as resolved, and at testing period lift this up so
we can make the proper changes of external web closer to the actual
release.
Comment 15 Henrik Andersson cendio 2013-04-11 11:12:12 CEST
Make tl-run-winapp-seamless to be able to start a in background without
any application.

Commited in 27031
Comment 16 Pierre Ossman cendio 2013-06-17 16:53:14 CEST
Basic functionality works fine:

 - Spawning a program from the first rdesktop
 - Spawning more applications from a second rdesktop
 - Simple arguments

Also trying to torture the encodings seem to show no bugs:

 - Gave ☭ as an argument and it properly showed up in wordpad.exe
 - Space sort-of works. It doesn't seem to be have any different from before at least.
 - Locale is respected for argument encoding (tried latin1 and utf-8)
 - Embedded linefeed or carriage return
 - Embedded \0 (not sure how it sorted this out)

Side note: Internet Explorer doesn't seem to like SeamlessRDP mode. It just keeps on crashing.
Comment 17 Pierre Ossman cendio 2013-06-17 16:54:41 CEST
Broken UTF-8 is causing issues though. Ran the following:

bash-3.2$ tl-run-winapp-seamless notepad.exe `echo -e '\xf0\x3a\x3a'`

Which results in a blank dialog from SeamlessRDP Shell.

At the very least, we need to fix the error message.
Comment 18 Henrik Andersson cendio 2013-06-18 13:25:16 CEST
(In reply to comment #17)
> Broken UTF-8 is causing issues though. Ran the following:
> 
> bash-3.2$ tl-run-winapp-seamless notepad.exe `echo -e '\xf0\x3a\x3a'`
> 
> Which results in a blank dialog from SeamlessRDP Shell.
> 
> At the very least, we need to fix the error message.

Fix commited upstream 1714, and in vendordrop commit 27534.
Comment 19 Henrik Andersson cendio 2013-06-27 14:04:14 CEST
(In reply to comment #18)
> (In reply to comment #17)
> > Broken UTF-8 is causing issues though. Ran the following:
> > 
> > bash-3.2$ tl-run-winapp-seamless notepad.exe `echo -e '\xf0\x3a\x3a'`
> > 
> > Which results in a blank dialog from SeamlessRDP Shell.
> > 
> > At the very least, we need to fix the error message.
> 
> Fix commited upstream 1714, and in vendordrop commit 27534.

Tested and seamless rdp reports that a invalid utf-8 sequence was provided in
the commandline which is a good feedback instead of a blank masgbox.

Note You need to log in before you can comment on or make changes to this bug.