dwww Home | Manual pages | Find package

X2GOOPTIONSSTRING(1)      Unknown - X2Go Server Bug!      X2GOOPTIONSSTRING(1)

NAME
       x2gooptionsstring - X2Go Agent Options String Manipulator and Extractor

SYNOPSIS
       x2gooptionsstring --help|-h|-?
       x2gooptionsstring --man
       x2gooptionsstring [<--mode|-m><=| >t[ransform]|-t] [--compact|-c]
       [--base64|-b] [--debug|-d] [--] options_string [+]|-key[=value] ...
       x2gooptionsstring <--mode|-m><=| >e[xtract]|-e [--base64|-b]
       [--debug|-d] [--] options_string key[=value] ...

DESCRIPTION
       x2gooptionsstring is a utility for manipulating and extracting data
       from options strings as passed to X2Go/NX Agent.  For more information
       about supported options strings, refer to the OPTIONS STRINGS section
       in the X2Go::Server::Agent::NX::Options documentation.

       For full support of options string, which are allowed (but not
       recommended) to include binary data, the special --base64|-b switch is
       supported.  If given, all arguments other than flags must be
       base64-encoded (making it possible to pass binary data via shells, for
       instance).  The program's output, minus potentially debugging messages,
       will also be base64-encoded.

       Currently, two modes are supported:

       Transform (default)
           Transformation mode is enabled by default if no mode has been
           explicitly selected.

           Call this program with optional flags, the options string as the
           first parameter and the transformations to be carried out as
           additional parameters.  At least one additional parameter (i.e., a
           transformation) must be provided.  Transformations are described
           here briefly, but also in the TRANSFORMATIONS section in the
           X2Go::Server::Agent::NX::Options documentation.

           It can either add, remove or replace components.

           To add or replace a component, pass key[=value] or +key[=value] as
           a parameter.  The latter syntax is useful if key starts with a dash
           and would therefore be interpreted as a removal operation.  If the
           options string does not include a key key, it will be appended to
           the end of the options string.  If it already exists, either with
           no value or a different value, the component will be replaced with
           the provided value.

           To fully remove a component, pass -key.  To only remove it if it is
           set to a specific value, pass -key=value.

           Use the --compact option to minimize the original options string,
           removing duplicated and empty entries.

           Assuming no error happened, the resulting options string is written
           to stdout.

       Extract
           Extraction mode must be explicitly requested using the -e or
           <--mode|-m><=| >e[xtract] flags.

           Call this program with optional flags, the options string as the
           first parameter and key-value pairs to be extracted as additional
           parameters.  At least one additional parameter (i.e., a key-value
           pair to extract) must be provided.

           A degenerated key-value pair without an explicit value can be used
           to test for the existence of a key and extract its value at the
           same time.

           A full, proper key-value pair can be used to test for the existence
           of a key-value pair exactly as provided.

           Assuming no error happened, the extracted key-value pairs will be
           written to stdout.  Each pair will be base64-encoded and, if
           multiple key-value pairs to extract have been provided, delimited
           via pipe characters ("|").

           Key-value pairs which haven't been found in the original options
           string, as well as potentially an empty key-value pair, will be
           represented as empty fields.

       Refer to the OPTIONS PARSING section for a description of when and how
       to terminate options passed to this program.

OPTIONS
       --help|-?|-h
               Print a brief help message and exits.

       --man   Prints the manual page and exits.

       --debug|-d
               Enables noisy debug output.

       -t      Shorthand for --mode=transform.

       -e      Shorthand for --mode=extract.

       <--mode|-m><=| >mode string
               Selects a specific program mode.

               Currently, the following mode strings are supported:

               •   transform

               •   extract

               Mode strings can be abbreviated, as long as the abbreviation is
               uniquely selecting one mode exactly.

       --compact|-c
               Remove duplicate and empty entries after the initial parsing.
               The order of arguments is preserved in a first-seen fashion.

               This option is only available in transformation mode.  It will
               be silently ignored in extraction mode, as compaction is a pre-
               requisite and done automatically during extraction.

       --base64|-b
               Enable a special full base64 mode.

               Any binary data can be given and output by this program in this
               mode, even when operating on a shell.

               Input parameters must always be provided encoded in base64
               form.

               Likewise, the program will always output data encoded in a
               base64 form.  Since key-value pairs returned in extraction mode
               are already base64-encoded and delimited with a character that
               is not legal in the base64 encoding, this flag does not modify
               the extraction's mode output (i.e., you will not have to decode
               the output data twice).

   OPTIONS PARSING
       You can terminate program options parsing via a standard double-dash
       (--) pseudo-option.  It is highly recommended to always do so.

       If you pass removal transformation operations or an extraction key-
       value pair starts with a dash (-), passing the options terminator is
       mandatory, even if no actual options are used.  Otherwise,
       transformation operations or extraction key-value pairs will be
       interpreted as options to the program, which will almost certainly lead
       to an error.

       For example, passing "-clipboard" as a transformation operation without
       a previous options terminator will be interpreted as the option "-c",
       with the rest of the string modified into "-lipboard".  Since this
       program does not accept an option called "-l", it will terminate with
       an error.  Even if the program does not terminate with an error due to
       an unknown option being supplied, a degradation into options is
       certainly not what the original transformation operation was supposed
       to represent.

EXAMPLES
   TRANSFORMATIONS
       For an options string such as

        nx/nx,clipboard=both,foo:50

         calling "x2gooptionsstring '--' 'nx/nx,clipboard=both,foo:50'
         '-clipboard'" shall return

          nx/nx,foo:50

         while calling "x2gooptionsstring '--' 'nx/nx,clipboard=both,foo:50'
         '-clipboard=server'" shall return

          nx/nx,clipboard=both,foo:50

         Calling "x2gooptionsstring '--' 'nx/nx,clipboard=both,foo:50' 'bar'"
         shall return

          nx/nx,clipboard=both,foo,bar:50

         and calling "x2gooptionsstring '--' 'nx/nx,clipboard=both,foo:50'
         '+-bar' 'foo=gulp' '-clipboard=client'" shall return

          nx/nx,clipboard=both,foo=gulp,-bar:50

       For an options string such as

        nx/nx,clipboard=both,foo=bar,bar=baz,foo=oof:50

         you can get a compacted version by cheating a bit and providing a
         transformation which will certainly be a no-operation using
         "x2gooptionsstring '-c' '--'
         'nx/nx,clipboard=both,foo=bar,bar=baz,,foo=oof,:50' '-'", which shall
         return

          nx/nx,clipboard=both,foo=oof,bar=baz:50

   EXTRACTIONS
       For an options string such as

        nx/nx,clipboard=both,foo=bar,-=-,,bar=baz,foo=oof:50

         Calling "x2gooptionsstring '-e' '--'
         'nx/nx,clipboard=both,foo=bar,-=-,bar=baz,foo=oof,:50' 'foo'" shall
         return

          Zm9vPW9vZg==

         while calling "x2gooptionsstring '-e' '--'
         'nx/nx,clipboard=both,foo=bar,-=-,bar=baz,foo=oof,:50' 'bar' ''
         'clipboard=none' '-'" shall return

          YmFyPWJheg==|||LT0t

AUTHOR
       This manual has been written by Mihai Moldovan <ionic@ionic.de>
       <mailto:ionic@ionic.de> for the X2Go project (<https://www.x2go.org>).

Version 4.1.0.6                   2023-08-18              X2GOOPTIONSSTRING(1)

Generated by dwww version 1.15 on Sun Jun 23 10:04:16 CEST 2024.