This is an automated email from the git hooks/post-receive script.

x2go pushed a commit to annotated tag 0.5.0.1
in repository x2goclient.

commit 03eb8165d43acb4e1bbf56594d8179e7b563b4de
Author: Mike Gabriel <mike.gabr...@das-netzwerkteam.de>
Date:   Fri Nov 9 17:51:56 2012 +0100

    Add cmdline option --from-stdin that facilitates lightdm remote login 
session startup.
---
 debian/changelog      |  3 +++
 man/man1/pyhoca-cli.1 | 13 ++++++++++++-
 pyhoca-cli            | 25 +++++++++++++++++++++++--
 3 files changed, 38 insertions(+), 3 deletions(-)

diff --git a/debian/changelog b/debian/changelog
index eea9c9ec..23a24ace 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,5 +1,8 @@
 pyhoca-cli (0.2.0.5-0~x2go1) UNRELEASED; urgency=low
 
+  * New upstream version (0.2.0.5):
+    - Add cmdline option --from-stdin that facilitates lightdm remote login
+      session startup.
   * /debian/control:
     + Maintainer change in package: X2Go Developers 
<x2go-...@lists.berlios.de>.
     + Reduce python version in Build-Depends to allow build on Ubuntu 10.04.
diff --git a/man/man1/pyhoca-cli.1 b/man/man1/pyhoca-cli.1
index 0407536e..002cdd16 100644
--- a/man/man1/pyhoca-cli.1
+++ b/man/man1/pyhoca-cli.1
@@ -85,8 +85,19 @@ Suspend running X2Go session <SESSION_NAME>. A special value 
for <SESSION_NAME>
 \*(T<\fB\-T, \-\-terminate\fR \fI<SESSION_NAME>\fR\*(T> 
 Terminate running X2Go session <SESSION_NAME>. A special value for 
<SESSION_NAME> is ,,ALL'' (will terminate all sessions of the connected user).
 .TP 
-\*(T<\fB\-L, \-\-list-sessions\fR\*(T> 
+\*(T<\fB\-L, \-\-list-sessions\fR\*(T>
 List user's X2Go sessions on server.
+.TP
+\*(T<\fB\-\-from-stdin\fR\*(T>
+For LightDM remote login integration: read <username> <password> <host[:port]> 
<desktopshell> from STDIN' and start a new session, transfer
+a running session or resume a suspended session.
+
+If there are several sessions running/suspended of the same desktop shell, 
then the first
+session found will be transferred/resumed. If there are several sessions 
running with a different desktop shell as session type (or even
+rootless sessions) none of these session will be touched unless any of the 
discovered sessions match in the requested desktop shell (i.e.
+X2Go session type).
+
+This option is only available for the Linux version of \fBpyhoca-cli\fR.
 .SH ACTION OPTIONS
 \fBpyhoca-cli\fR actions can be tweaked by these options:
 .TP
diff --git a/pyhoca-cli b/pyhoca-cli
index fcd02fb2..37bb878b 100755
--- a/pyhoca-cli
+++ b/pyhoca-cli
@@ -71,7 +71,7 @@ if hasattr(sys, 'frozen') and sys.frozen in ("windows_exe", 
"console_exe"):
 
 app = sys.argv[0]
 if app.startswith('./'):
-    sys.path.insert(0, os.path.join(os.path.dirname(__file__)))
+    sys.path.insert(0, os.getcwd())
     os.environ['PYTHONX2GO_LOCAL'] = '1'
 
 PROG_OPTIONS = sys.argv[1:]
@@ -137,6 +137,11 @@ action_options =   [
                    {'args':['-l','--list-profiles'], 'default': False, 
'action': 'store_true', 'help': 'list user\'s X2Go pre-configured session 
profiles', },
                    {'args':['-P','--session-profile'], 'default': None, 
'help': 'load x2goclient session profiles and use the session profile 
SESSION_PROFILE', },
                  ]
+if _X2GOCLIENT_OS == "Linux":
+    action_options.append(
+                   {'args':['--from-stdin'], 'default': False, 'action': 
'store_true', 'help': 'for LightDM remote login: read <username> <password> 
<host[:port]> <desktopshell> from STDIN', },
+    )
+
 # debug options...
 debug_options =  [ 
                    {'args':['-d','--debug'], 'default': False, 'action': 
'store_true', 'help': 'enable application debugging code', },
@@ -260,7 +265,7 @@ Possible values for the --pack NX option are:
     if not (a.session_profile or a.list_profiles):
 
         # the --server (or --session-profile) option is required for most 
operations
-        if not a.server:
+        if not a.server and not a.from_stdin:
             runtime_error ("argument --server (or --session-profile) is 
required", parser=p, exitcode=1)
 
         # check for mutual exclusiveness of -N, -R, -S, -T and -L, -N is 
default if none of them is set
@@ -365,6 +370,22 @@ Possible values for the --pack NX option are:
     if not a.ssh_privkey and os.path.isfile('%s/.ssh/id_dsa' % current_home):
         a.ssh_privkey = '%s/.ssh/id_dsa' % current_home
 
+    # lightdm remote login magic takes place here
+    if a.from_stdin:
+
+        lightdm_remote_login_hash = sys.stdin.readline()
+        (a.username, a.password, a.server, a.command) = 
lightdm_remote_login_hash.split()
+        print a.username
+        print a.password
+        print a.server
+        print a.command
+        # FIXME: this is not IPv6 capable. As we are preparing a draft, we 
currently ignore that...
+        if ":" in a.server:
+            a.remote_ssh_port = a.server.split(':')[1]
+            a.server = a.server.split(':')[0]
+        a.command = a.command.upper()
+        a.geometry = 'fullscreen'
+
     return p, a
 
 

--
Alioth's /home/x2go-admin/maintenancescripts/git/hooks/post-receive-email on 
/srv/git/code.x2go.org/x2goclient.git
_______________________________________________
x2go-commits mailing list
x2go-commits@lists.x2go.org
https://lists.x2go.org/listinfo/x2go-commits

Reply via email to