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.
Created attachment 224 [details] rdesktop.patch Patch from Lloyd Hazlett <sf@fontis.com.au>.
Created attachment 225 [details] seamless.patch Patch from Lloyd Hazlett <sf@fontis.com.au>.
For 1.6.0, at least check if this patch is nice enough to be accepted into the rdesktop CVS.
This functionality is available from https://www.fontis.com.au/rdesktop.
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.
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.
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()
Initial implementation of seamless connection sharing is now comitted upstream, r1688/r1689
Vendordropped into ThinLinc in commit r26505.
tl-run-winapp-seamless updated in commit r26506 to support the new meaning of argument -A and -s of rdesktop command.
Vendordrop of seamlessrdp commited in r26510.
Upstream commit r1696 documents the new seamless protocol command SPAWN added for realizing the seamless connection sharing.
http://www.cendio.com/seamlessrdp/ needs to be updated so that the example matches the new commandline argument layout.
(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.
Make tl-run-winapp-seamless to be able to start a in background without any application. Commited in 27031
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.
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.
(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.
(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.