--- /srv/reproducible-results/rbuild-debian/r-b-build.FrLdVXrY/b1/x2goserver_4.1.0.6-1.1_arm64.changes +++ /srv/reproducible-results/rbuild-debian/r-b-build.FrLdVXrY/b2/x2goserver_4.1.0.6-1.1_arm64.changes ├── Files │ @@ -9,8 +9,8 @@ │ 34960f11abe4aa3260712270da3e9abd 65280 x11 optional x2goserver-desktopsharing_4.1.0.6-1.1_all.deb │ 1ef490c58d56ebaaabbddd33f3b96625 57804 x11 optional x2goserver-extensions_4.1.0.6-1.1_all.deb │ 3e4a3cdc7feaf5b91968be7bfc88a297 54284 x11 optional x2goserver-fmbindings_4.1.0.6-1.1_all.deb │ bd14f329d7117695f3a983a6ac4678ed 59152 x11 optional x2goserver-printing_4.1.0.6-1.1_all.deb │ ffd0cda5d37ee2ff48e7527412e4f702 56788 x11 optional x2goserver-x2goagent_4.1.0.6-1.1_arm64.deb │ a35a961014046ef9eabf3143d16447bf 53704 x11 optional x2goserver-x2gokdrive_4.1.0.6-1.1_arm64.deb │ b86abee1c95164abf5bd38f3e86fa04d 56836 x11 optional x2goserver-xsession_4.1.0.6-1.1_all.deb │ - 4ff84829779720ce38eb1c0e9bd4b00f 137876 x11 optional x2goserver_4.1.0.6-1.1_arm64.deb │ + 4075234fbc61ea1ba753a82b25f0e714 138700 x11 optional x2goserver_4.1.0.6-1.1_arm64.deb ├── x2goserver_4.1.0.6-1.1_arm64.deb │ ├── file list │ │ @@ -1,3 +1,3 @@ │ │ -rw-r--r-- 0 0 0 4 2023-09-23 14:10:47.000000 debian-binary │ │ -rw-r--r-- 0 0 0 9456 2023-09-23 14:10:47.000000 control.tar.xz │ │ --rw-r--r-- 0 0 0 128228 2023-09-23 14:10:47.000000 data.tar.xz │ │ +-rw-r--r-- 0 0 0 129052 2023-09-23 14:10:47.000000 data.tar.xz │ ├── control.tar.xz │ │ ├── control.tar │ │ │ ├── ./control │ │ │ │ @@ -1,12 +1,12 @@ │ │ │ │ Package: x2goserver │ │ │ │ Version: 4.1.0.6-1.1 │ │ │ │ Architecture: arm64 │ │ │ │ Maintainer: Debian Remote Maintainers │ │ │ │ -Installed-Size: 517 │ │ │ │ +Installed-Size: 527 │ │ │ │ Pre-Depends: init-system-helpers (>= 1.54~) │ │ │ │ Depends: bc, libfile-basedir-perl, libfile-which-perl, libswitch-perl, libtry-tiny-perl, libx2go-server-perl (<< 4.1.0.6-1.1.1~), libx2go-server-perl (>= 4.1.0.6-1.1), lsof, net-tools, openssh-client, openssh-server, perl, psmisc, pwgen, x2goserver-common (<< 4.1.0.6-1.1.1~), x2goserver-common (>= 4.1.0.6-1.1), x2goserver-x2goagent (<< 4.1.0.6-1.1.1~), x2goserver-x2goagent (>= 4.1.0.6-1.1), xauth, xkb-data, debconf (>= 0.5) | debconf-2.0 │ │ │ │ Recommends: fontconfig, sshfs, x11-apps, x11-session-utils, x11-utils, x11-xfs-utils, x11-xkb-utils, x11-xserver-utils, x2goserver-extensions (<< 4.1.0.6-1.1.1~), x2goserver-extensions (>= 4.1.0.6-1.1), x2goserver-fmbindings (<< 4.1.0.6-1.1.1~), x2goserver-fmbindings (>= 4.1.0.6-1.1), x2goserver-printing (<< 4.1.0.6-1.1.1~), x2goserver-printing (>= 4.1.0.6-1.1), x2goserver-xsession (<< 4.1.0.6-1.1.1~), x2goserver-xsession (>= 4.1.0.6-1.1), xfonts-base, xinit │ │ │ │ Suggests: pulseaudio-utils, rdesktop │ │ │ │ Breaks: x2godesktopsharing (<< 3.1.1.2-0~), x2goserver-compat (<< 4.0.1.99~), x2goserver-home, x2goserver-one, x2goserver-pyhoca (<< 4.0.1.99~) │ │ │ │ Replaces: x2goserver-compat, x2goserver-home, x2goserver-one, x2goserver-pyhoca │ │ │ │ Section: x11 │ │ │ ├── ./md5sums │ │ │ │ ├── ./md5sums │ │ │ │ │┄ Files differ │ ├── data.tar.xz │ │ ├── data.tar │ │ │ ├── file list │ │ │ │ @@ -76,15 +76,15 @@ │ │ │ │ -rw-r--r-- 0 root (0) root (0) 696 2023-08-18 02:36:33.000000 ./usr/share/doc/x2goserver/README.sudoers │ │ │ │ -rw-r--r-- 0 root (0) root (0) 1110 2023-08-18 02:36:33.000000 ./usr/share/doc/x2goserver/README.upgrade-pgsql-database │ │ │ │ -rw-r--r-- 0 root (0) root (0) 1849 2023-09-23 14:10:47.000000 ./usr/share/doc/x2goserver/changelog.Debian.gz │ │ │ │ -rw-r--r-- 0 root (0) root (0) 46044 2023-08-18 02:36:33.000000 ./usr/share/doc/x2goserver/changelog.gz │ │ │ │ -rw-r--r-- 0 root (0) root (0) 11661 2023-09-23 14:10:47.000000 ./usr/share/doc/x2goserver/copyright │ │ │ │ drwxr-xr-x 0 root (0) root (0) 0 2023-09-23 14:10:47.000000 ./usr/share/doc/x2goserver/html/ │ │ │ │ drwxr-xr-x 0 root (0) root (0) 0 2023-09-23 14:10:47.000000 ./usr/share/doc/x2goserver/html/man1/ │ │ │ │ --rw-r--r-- 0 root (0) root (0) 311 2023-09-23 14:10:47.000000 ./usr/share/doc/x2goserver/html/man1/x2gooptionsstring.1.html │ │ │ │ +-rw-r--r-- 0 root (0) root (0) 10281 2023-09-23 14:10:47.000000 ./usr/share/doc/x2goserver/html/man1/x2gooptionsstring.1.html │ │ │ │ drwxr-xr-x 0 root (0) root (0) 0 2023-09-23 14:10:47.000000 ./usr/share/doc/x2goserver/html/man5/ │ │ │ │ -rw-r--r-- 0 root (0) root (0) 4117 2023-09-23 14:10:47.000000 ./usr/share/doc/x2goserver/html/man5/x2goserver.conf.5.html │ │ │ │ drwxr-xr-x 0 root (0) root (0) 0 2023-09-23 14:10:47.000000 ./usr/share/doc/x2goserver/html/man8/ │ │ │ │ -rw-r--r-- 0 root (0) root (0) 1346 2023-09-23 14:10:47.000000 ./usr/share/doc/x2goserver/html/man8/x2gobasepath.8.html │ │ │ │ -rw-r--r-- 0 root (0) root (0) 2109 2023-09-23 14:10:47.000000 ./usr/share/doc/x2goserver/html/man8/x2gocleansessions.8.html │ │ │ │ -rw-r--r-- 0 root (0) root (0) 1657 2023-09-23 14:10:47.000000 ./usr/share/doc/x2goserver/html/man8/x2gocmdexitmessage.8.html │ │ │ │ -rw-r--r-- 0 root (0) root (0) 1391 2023-09-23 14:10:47.000000 ./usr/share/doc/x2goserver/html/man8/x2godbadmin.8.html │ │ │ ├── ./usr/share/doc/x2goserver/html/man1/x2gooptionsstring.1.html │ │ │ │ @@ -1,8 +1,526 @@ │ │ │ │ -Status: 403 Forbidden │ │ │ │ Content-type: text/html; charset=UTF-8 │ │ │ │ │ │ │ │ │ │ │ │ -Invalid Man Page │ │ │ │ - │ │ │ │ -

Invalid Man Page

│ │ │ │ -The requested file man/man1/x2gooptionsstring.1 is not a valid (unformatted) man page. │ │ │ │ +Man page of X2GOOPTIONSSTRING │ │ │ │ + │ │ │ │ +

X2GOOPTIONSSTRING

│ │ │ │ +Section: General Commands Manual (1)
Updated: 2023-09-23
Index │ │ │ │ +Return to Main Contents
│ │ │ │ + │ │ │ │ + │ │ │ │ + │ │ │ │ + │ │ │ │ + │ │ │ │ + │ │ │ │ +  │ │ │ │ +

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>). │ │ │ │ +

│ │ │ │ + │ │ │ │ +


│ │ │ │ + 

Index

│ │ │ │ +
│ │ │ │ +
NAME
│ │ │ │ +
SYNOPSIS
│ │ │ │ +
DESCRIPTION
│ │ │ │ +
OPTIONS
│ │ │ │ +
│ │ │ │ +
OPTIONS PARSING
│ │ │ │ +
│ │ │ │ +
EXAMPLES
│ │ │ │ +
│ │ │ │ +
TRANSFORMATIONS
│ │ │ │ +
EXTRACTIONS
│ │ │ │ +
│ │ │ │ +
AUTHOR
│ │ │ │ +
│ │ │ │ +
│ │ │ │ +This document was created by │ │ │ │ +man2html, │ │ │ │ +using the manual pages.
│ │ │ │ +Time: 14:10:47 GMT, September 23, 2023 │ │ │ │ + │ │ │ │ + │ │ │ │ ├── html2text {} │ │ │ │ │ @@ -1,4 +1,174 @@ │ │ │ │ │ -Status: 403 Forbidden Content-type: text/html; charset=UTF-8 │ │ │ │ │ -************ IInnvvaalliidd MMaann PPaaggee ************ │ │ │ │ │ -The requested file man/man1/x2gooptionsstring.1 is not a valid (unformatted) │ │ │ │ │ -man page. │ │ │ │ │ +Content-type: text/html; charset=UTF-8 │ │ │ │ │ +************ XX22GGOOOOPPTTIIOONNSSSSTTRRIINNGG ************ │ │ │ │ │ +Section: General Commands Manual (1) │ │ │ │ │ +Updated: 2023-09-23 │ │ │ │ │ +_I_n_d_e_x _R_e_t_u_r_n_ _t_o_ _M_a_i_n_ _C_o_n_t_e_n_t_s │ │ │ │ │ +=============================================================================== │ │ │ │ │ +  │ │ │ │ │ +********** NNAAMMEE ********** │ │ │ │ │ +x2gooptionsstring - X2Go Agent Options String Manipulator and Extractor   │ │ │ │ │ +********** SSYYNNOOPPSSIISS ********** │ │ │ │ │ + xx22ggooooppttiioonnssssttrriinngg ----hheellpp|--hh|--?? │ │ │ │ │ + xx22ggooooppttiioonnssssttrriinngg ----mmaann │ │ │ │ │ + xx22ggooooppttiioonnssssttrriinngg [<----mmooddee|--mm><==| >tt[rraannssffoorrmm]|--tt] [----ccoommppaacctt|--cc] [----bbaassee6644|-- │ │ │ │ │ + bb] [----ddeebbuugg|--dd] [----] options_string [++]|--key[==value] ... │ │ │ │ │ + xx22ggooooppttiioonnssssttrriinngg <----mmooddee|--mm><==| >ee[xxttrraacctt]|--ee [----bbaassee6644|--bb] [----ddeebbuugg|--dd] [---- │ │ │ │ │ + ] options_string key[==value] ... │ │ │ │ │ +  │ │ │ │ │ +********** DDEESSCCRRIIPPTTIIOONN ********** │ │ │ │ │ +xx22ggooooppttiioonnssssttrriinngg is a utility for manipulating and extracting data from │ │ │ │ │ +options strings as passed to XX22GGoo//NNXX AAggeenntt. 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 ----bbaassee6644|--bb 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 kkeeyy 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 ----ccoommppaacctt option to minimize the original options string, │ │ │ │ │ + removing duplicated and empty entries. │ │ │ │ │ + Assuming no error happened, the resulting options string is written to │ │ │ │ │ + ssttddoouutt. │ │ │ │ │ + Extract │ │ │ │ │ + Extraction mode must be explicitly requested using the --ee or <----mmooddee|-- │ │ │ │ │ + mm><==| >ee[xxttrraacctt] 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 ssttddoouutt. Each pair will be base64-encoded and, if multiple key-value │ │ │ │ │ + pairs to extract have been provided, delimited via ppiippee 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.   │ │ │ │ │ +********** OOPPTTIIOONNSS ********** │ │ │ │ │ + ----hheellpp|--??|--hh │ │ │ │ │ + Print a brief help message and exits. │ │ │ │ │ + ----mmaann │ │ │ │ │ + Prints the manual page and exits. │ │ │ │ │ + ----ddeebbuugg|--dd │ │ │ │ │ + Enables noisy debug output. │ │ │ │ │ + --tt │ │ │ │ │ + Shorthand for ----mmooddee==ttrraannssffoorrmm. │ │ │ │ │ + --ee │ │ │ │ │ + Shorthand for ----mmooddee==eexxttrraacctt. │ │ │ │ │ + <----mmooddee|--mm><==| >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. │ │ │ │ │ + ----ccoommppaacctt|--cc │ │ │ │ │ + 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 ttrraannssffoorrmmaattiioonn mmooddee. It will be silently │ │ │ │ │ + ignored in eexxttrraaccttiioonn mmooddee, as compaction is a pre-requisite and done │ │ │ │ │ + automatically during extraction. │ │ │ │ │ + ----bbaassee6644|--bb │ │ │ │ │ + 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 nnoott have to decode the output data twice). │ │ │ │ │ +  │ │ │ │ │ +******** OOPPTTIIOONNSS PPAARRSSIINNGG ******** │ │ │ │ │ +You can terminate program options parsing via a standard double-dash (---- │ │ │ │ │ +) pseudo-option. It is hhiigghhllyy rreeccoommmmeennddeedd 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 mmaannddaattoorryy, 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.   │ │ │ │ │ +********** EEXXAAMMPPLLEESS ********** │ │ │ │ │ +  │ │ │ │ │ +******** TTRRAANNSSFFOORRMMAATTIIOONNSS ******** │ │ │ │ │ +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 │ │ │ │ │ +  │ │ │ │ │ +******** EEXXTTRRAACCTTIIOONNSS ******** │ │ │ │ │ +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 │ │ │ │ │ +  │ │ │ │ │ +********** AAUUTTHHOORR ********** │ │ │ │ │ +This manual has been written by Mihai Moldovan <_i_o_n_i_c_@_i_o_n_i_c_._d_e> for the X2Go project (<_h_t_t_p_s_:_/_/_w_w_w_._x_2_g_o_._o_r_g>). │ │ │ │ │ +=============================================================================== │ │ │ │ │ +  │ │ │ │ │ +********** IInnddeexx ********** │ │ │ │ │ + _N_A_M_E │ │ │ │ │ + _S_Y_N_O_P_S_I_S │ │ │ │ │ + _D_E_S_C_R_I_P_T_I_O_N │ │ │ │ │ + _O_P_T_I_O_N_S │ │ │ │ │ + _O_P_T_I_O_N_S_ _P_A_R_S_I_N_G │ │ │ │ │ + _E_X_A_M_P_L_E_S │ │ │ │ │ + _T_R_A_N_S_F_O_R_M_A_T_I_O_N_S │ │ │ │ │ + _E_X_T_R_A_C_T_I_O_N_S │ │ │ │ │ + _A_U_T_H_O_R │ │ │ │ │ +=============================================================================== │ │ │ │ │ +This document was created by _m_a_n_2_h_t_m_l, using the manual pages. │ │ │ │ │ +Time: 14:10:47 GMT, September 23, 2023 │ │ ├── xz --list │ │ │ @@ -1,13 +1,13 @@ │ │ │ Streams: 1 │ │ │ Blocks: 1 │ │ │ - Compressed size: 125.2 KiB (128228 B) │ │ │ - Uncompressed size: 510.0 KiB (522240 B) │ │ │ - Ratio: 0.246 │ │ │ + Compressed size: 126.0 KiB (129052 B) │ │ │ + Uncompressed size: 520.0 KiB (532480 B) │ │ │ + Ratio: 0.242 │ │ │ Check: CRC64 │ │ │ Stream Padding: 0 B │ │ │ Streams: │ │ │ Stream Blocks CompOffset UncompOffset CompSize UncompSize Ratio Check Padding │ │ │ - 1 1 0 0 128228 522240 0.246 CRC64 0 │ │ │ + 1 1 0 0 129052 532480 0.242 CRC64 0 │ │ │ Blocks: │ │ │ Stream Block CompOffset UncompOffset TotalSize UncompSize Ratio Check │ │ │ - 1 1 12 0 128192 522240 0.245 CRC64 │ │ │ + 1 1 12 0 129016 532480 0.242 CRC64