Subject: Clipboard mode configuration via X2Go Client session profiles

From: Mike Gabriel <[email-masked]>
Date: Sun, 29 Jun 2014 15:01:19 +0000

Hi Alex,

I have recently added means to set the clipboard (security) mode in  
X2Go sessions. That there is no way of restricting clipboard  
functionality in X2Go sessions has been quite an issue a while back on  
our mailing list and on the Debian bug tracker.

So, what I have done...

NX:

First, a patch for NX was necessary [1]. This patch adds the clipboard  
NX option to nxagent/x2goagent. There was some code for that already  
present in NX, but it looked like the feature never got finished (or  
other).

X2Go Server:

Second, I added a new cmdline arg to x2gostartagent and  
x2goresume-session [2]. Clients, that want to set the clipboard mode,  
have to send "both", "server", "client", or "none" as 10th cmdline  
parameter to x2gostartagent and as 8th cmdline parameter to  
x2goresume-session. If the client does not send that field, X2Go  
Server uses the default mode ("both").

If you want to test if an X2Go Server supports the clipboard mode  
feature, you can query

   $ x2gofeature X2GO_CLIPBOARD_MODES
   ok

Client-side:

Third, and this is what this mail is about, X2Go Client needs to send  
the clipboard mode to the server (x2gostartagent, x2goresume-session).  
In Python X2Go / PyHoca-GUI, I have already implemented this.

Python X2Go stores the clipboard information in ~/.x2goclient/sessions  
under the option name "clipboard=<str>" where its values can be  
"both", "server", "client", "none".

Relevant commits are: [3], [4], [5].

In X2Go Client's session profile window, the clipboard mode has to be  
made configurable.

Whenever you have time, can you take a look at that? Thanks.

light+love,
Mike

NX:

[1]  
http://code.x2go.org/gitweb?p=nx-libs.git;a=commitdiff;h=0cf283dca109ff29e18cd36fdbd2e51dadd52772;hp=c62b81304ca9906fe608f7387025162107d8d8ab

X2Go Server:

[2]  
http://code.x2go.org/gitweb?p=x2goserver.git;a=commitdiff;h=669b3aabb8f574a2bb30d415fb38b1ccf6837f0d

Python X2Go (combine the two commits to make sense):

[3]  
http://code.x2go.org/gitweb?p=python-x2go.git;a=commitdiff;h=08ff742334427cbe52ee02c354b9d73c53459f2e
[4]  
http://code.x2go.org/gitweb?p=python-x2go.git;a=commitdiff;h=2aa779efe39a045e6492ff891e5c5ce34393d6fc

PyHoca-GUI (session profile manager):

[5]  
http://code.x2go.org/gitweb?p=pyhoca-gui.git;a=commitdiff;h=d9d413b00fc92e35e4c9f752c853ba72c1399384
-- 

DAS-NETZWERKTEAM
mike gabriel, herweg 7, 24357 fleckeby
fon: +49 (1520) 1976 148

GnuPG Key ID 0x25771B31
mail: [email-masked], http://das-netzwerkteam.de

freeBusy:
https://mail.das-netzwerkteam.de/freebusy/m.gabriel%40das-netzwerkteam.de.xfb