[X2Go-Commits] [x2goclient] 15/38: pyhoca-cli: Add cmdline option --list-cmdline-features. Required for Remmina X2Go Plugin.
git-admin at x2go.org
git-admin at x2go.org
Fri Dec 15 21:15:19 CET 2023
This is an automated email from the git hooks/post-receive script.
x2go pushed a commit to branch master
in repository x2goclient.
commit 17d1be1319ba6dfcf7dd6748ee14a186c30b1e56
Author: Mike Gabriel <mike.gabriel at das-netzwerkteam.de>
Date: Thu Sep 2 08:18:27 2021 +0200
pyhoca-cli: Add cmdline option --list-cmdline-features. Required for Remmina X2Go Plugin.
---
debian/changelog | 2 ++
pyhoca-cli | 75 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++
2 files changed, 77 insertions(+)
diff --git a/debian/changelog b/debian/changelog
index 4b702e7c..b27ae4a0 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -13,6 +13,8 @@ pyhoca-cli (0.6.1.3-0x2go1) UNRELEASED; urgency=medium
- pyhoca-cli: Add --kdrive cmdline option.
- pyhoca-cli.1 man page: Drop -d from --quiet documentation line.
- Move --dpi cmdline option from X2Go options to NX options.
+ - pyhoca-cli: Add cmdline option --list-cmdline-features. Required for
+ Remmina X2Go Plugin.
[ Daniel Teichmann ]
* New upstream release (0.6.1.3):
diff --git a/pyhoca-cli b/pyhoca-cli
index 0ed5c40e..4ae5cc36 100755
--- a/pyhoca-cli
+++ b/pyhoca-cli
@@ -138,7 +138,19 @@ action_options = [
{'args':['--list-desktops'], 'default': False, 'action': 'store_true', 'help': 'list X2Go desktop sessions that are available for sharing', },
{'args':['--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', },
+ {'args':['--list-cmdline-features'], 'default': False, 'action': 'store_true', 'help': 'show a list of parseable command line features available in this PyHoca-CLI version', },
]
+action_features = [ 'NEW',
+ 'TRY_RESUME',
+ 'RESUME',
+ 'SHARE_DESKTOP',
+ 'SUSPEND',
+ 'TERMINATE',
+ 'LIST_SESSIONS',
+ 'LIST_DESKTOPS',
+ 'SESSION_PROFILE',
+ 'LIST_CLIENT_FEATURES',
+ ]
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', },
@@ -152,6 +164,12 @@ debug_options = [
{'args':['--libdebug-sftpxfer'], 'default': False, 'action': 'store_true', 'help': 'enable debugging code of Python X2Go\'s sFTP server code (very verbose, and even promiscuous)', },
{'args':['-V', '--version'], 'default': False, 'action': 'store_true', 'help': 'print version number and exit', },
]
+debug_features = [ 'DEBUG',
+ 'QUIET',
+ 'LIBDEBUG',
+ 'LIBDEBUG_SFTPXFER',
+ ]
+
# possible programme options are
x2go_options = [
# NOT IMPLEMENTED {'args':['--config'], 'default': '~/.x2goclient/sessions', 'help': 'x2goclient config file containing x2go session settings (default: ~/.x2goclient/sessions)', },
@@ -171,9 +189,29 @@ x2go_options = [
{'args':['--auth-attempts'], 'default': 3, 'help': 'number of authentication attempts before authentication fails (default: 3)', },
{'args':['--kdrive'], 'default': False, 'action': 'store_true', 'help': 'as graphical backend use the X2Go Kdrive Xserver instead of the default NXv3 Xserver', },
]
+x2go_features = [ 'COMMAND',
+ 'USERNAME',
+ 'PASSWORD',
+ 'FORCE_PASSWORD',
+ 'REMOTE_SSH_PORT',
+ 'SSH_PRIVKEY',
+ 'ADD_TO_KNOWN_HOSTS',
+ 'SOUND',
+ 'PRINTING',
+ 'SHARE_MODE',
+ 'SHARE_LOCAL_FOLDERS',
+ 'CLEAN_SESSIONS',
+ 'TERMINATE_ON_CTRL_C',
+ 'AUTH_ATTEMPTS',
+ 'KDRIVE',
+ ]
+
ssh_options = [
{'args':['-A', '--forward-sshagent'], 'default': False, 'action': 'store_true', 'help': 'forward SSH agent authentication socket', },
]
+ssh_features = [ 'FORWARD_SSHAGENT',
+ ]
+
print_options = [
{'args':['--print-action'], 'default': 'PDFVIEW', 'choices': PRINT_ACTIONS, 'help': 'action to be performed for incoming X2Go print jobs (default: \'PDFVIEW\')', },
{'args':['--pdfview-cmd'], 'default': None, 'help': 'PDF viewer command for displaying incoming X2Go print jobs (default: \'%s\'); this option selects \'--print-action PDFVIEW\'' % DEFAULT_PDFVIEW_CMD,},
@@ -181,10 +219,21 @@ print_options = [
{'args':['--printer'], 'default': None, 'help': 'target CUPS print queue for incoming X2Go print jobs (default: CUPS default printer); this option selects \'--print-action CUPS\'',},
{'args':['--print-cmd'], 'default': None, 'help': 'print command including cmd line arguments (default: \'%s\'); this option selects \'--print-action PRINTCMD\'' % DEFAULT_PRINTCMD_CMD,},
]
+print_features = [ 'PRINT_ACTION',
+ 'PDFVIEW_CMD',
+ 'SAVE_TO_FOLDER',
+ 'PRINTER',
+ 'PRINT_CMD',
+ ]
+
broker_options = [
{'args':['-B','--broker-url'], 'default': None, 'help': 'retrieve session profiles via an X2Go Session Broker under the given URL', },
{'args':['--broker-password'], 'default': None, 'help': 'password for authenticating against the X2Go Session Broker', },
]
+broker_features = [ 'BROKER_URL',
+ 'BROKER_PASSWORD',
+ ]
+
session_options = [
{'args':['-g','--geometry'], 'default': '800x600','help': 'screen geometry: \'<width>x<height>\' or \'fullscreen\' (default: \'800x600\')',},
{'args':['-x','--xinerama'], 'default': False, 'action': 'store_true', 'help': 'enable Xinerama support in remote X2Go session',},
@@ -196,6 +245,17 @@ session_options = [
{'args':['-C', '--clipboard-mode'], 'default': 'both', 'help': 'configure clipboard mode (default: \'both\' directions, other allowed values: \'none\' for no clipboard support, \'client\' to server copy+pasting only, \'server\' to client copy+pasting only)',},
{'args':['--dpi'], 'default': None, 'help': 'resolution (in dots per inch) to be used by the X2Go session\'s Xserver', },
]
+session_features =[ 'GEOMETRY',
+ 'XINERAMA',
+ 'LINK',
+ 'SESSION_TYPE',
+ 'PACK',
+ 'KBD_TYPE',
+ 'KBD_LAYOUT',
+ 'CLIPBOARD_MODE',
+ 'DPI',
+ ]
+
compat_options = [
{'args':['--port'], 'default': None, 'help': 'compatibility option, synonymous to --remote-ssh-port PORT', },
{'args':['--ssh-key'], 'default': None, 'help': 'compatibility option, synonymous to --ssh-privkey SSH_KEY', },
@@ -235,6 +295,18 @@ def version():
sys.stderr.write ("%s\n" % VERSION_TEXT)
sys.exit(0)
+def list_features():
+ feature_list = action_features \
+ + debug_features \
+ + x2go_features \
+ + ssh_features \
+ + print_features \
+ + broker_features \
+ + session_features
+ feature_list.sort()
+ for f in feature_list:
+ print(f)
+ sys.exit(0)
def parseargs():
@@ -290,6 +362,9 @@ Possible values for the --pack NX option are:
if a.version:
version()
+ if a.list_cmdline_features:
+ list_features()
+
if type(a.host) == str and not a.username and "@" in a.host:
a.username = a.host.split('@')[0]
a.host = '@'.join(a.host.split('@')[1:])
--
Alioth's /home/x2go-admin/maintenancescripts/git/hooks/post-receive-email on /srv/git/code.x2go.org/x2goclient.git
More information about the x2go-commits
mailing list