====== X2Go Sessions File Format Specification ======
Default path name
* Linux, Mac OS X: ''$HOME/.x2goclient/sessions''
* Windows X2GoClient (non-portable mode): session profiles are stored in the Windows registry (''HKEY_CURRENT_USER\Software\Obviously Nice\x2goclient\sessions'')
* Windows X2GoClient (portable mode): session profiles are stored in a file (location???)
* Windows PyHoca-GUI: session profiles are stored in the file (''%USERPROFILE%\.x2goclient\sessions'')
Related command line options:
* x2goclient: --portable, --home, --session-conf
* pyhoca-gui: --client-rootdir
===== Generic Sessions File Format =====
[]
=
=
...
=
[]
=
=
...
=
...
[]
=
=
...
=
===== Session Options en Detail =====
//... in topical order.//
==== General Session Options ====
^ Option name ^ Data Type ^ Default value X2Go Client ^ Default value Python X2Go ^ Comment ^
| name | String | | | Session profile name as shown in the application. PyHoca-GUI feature: using ,,/" as a separator in the session profile name creates menus and submenus in the PyHoca-GUI applet (e.g. CUSTOMER-1/HOST-1, CUSTOMER-1/HOST-2, CUSTOMER-2/HOST-1, ...) |
| icon | Filename | :/img/icons/128x128/x2gosession.png | :icons/128x128/x2gosession.png | Icon for Desktop Session Windows |
==== Session Window Options ====
//... only available with Python X2Go / PyHoca //
^ Option name ^ Data Type ^ Default value X2Go Client ^ Default value Python X2Go ^ Comment ^
| setsessiontitle | Boolean | //not supported // | false | If disabled, the server-side provided session title is used |
| sessiontitle | String | //not supported // | | Store a customized session window title in the session profile config |
==== Connection Options ====
^ Option name ^ Data Type ^ Default value X2Go Client ^ Default value Python X2Go ^ Comment ^
| host | String | | | FQDN Hostname or IP Adress |
| user | String | | | Username on X2Go Server |
| autologin | Boolean | false | false | Use SSH agent or default key files for session logon |
| forwardsshagent | Boolean | //not supported// | false | Tunnel authentication requests back to the client side SSH agent, requires Paramiko/SSH (>= 1.9.0) |
| key | Filename | | | Filename to SSH private key file |
| krblogin | Boolean | false | //not supported// | |
| pack | String | jpeg-16m | jpeg-16m | NX compression method |
| quality | [0..9] | 9 | 9 | NX compression quality |
| speed | [0..4] | 2 | 2 | 0=Modem, 1=ISDN, 2=ADSL, 3=WAN, 4=LAN |
==== SSH Proxy Options ====
^ Option name ^ Data Type ^ Default value X2Go Client ^ Default value Python X2Go ^ Comment ^
| usesshproxy | Boolean | false | false | Connect via a SSH proxy |
| sshproxytype | String | SSH | SSH | Also available: HTTP (X2Go Client only, not working on most systems as it relies on a not-yet released feature in libssh2 |
| sshproxyhost | String | | | Format: [:] |
| sshproxyuser | String | | | Username for connecting to SSH proxy server |
| sshproxykeyfile | Filename | | | Filename of local SSH private key |
| sshproxytunnel | String | | //deprecated since 0.4.0.0// | localhost::: |
| sshproxyautologin | Boolean | false | false | Use SSH agent or default key files for SSH proxy logon |
| sshproxysameuser | Boolean | false | false | Use the same user name on the SSH proxy as on the X2Go Server |
| sshproxysamepass | Boolean | false | false | Password for X2Go Server and SSH proxy are identical |
==== Display Options ====
^ Option name ^ Data Type ^ Default value X2Go Client ^ Default value Python X2Go ^ Comment ^
| width | pos. Integer | 800 | 800 | Geometry of non-fullscreen window |
| height | pos. Integer | 600 | 600 | Geometry of non-fullscreen window |
| dpi | Integer | 96 | 96 | Use the dpi value to manipulate the font size in a session |
| fullscreen | Boolean | false | false | |
| maxdim | Boolean | //not supported// | false | Detect the maximum size for a new session window on the current screen |
| multidisp | Boolean | false | //not supported// | |
| xinerama | Boolean | false | //not supported// | |
==== Keyboard Options ====
^ Option name ^ Data Type ^ Default value X2Go Client ^ Default value Python X2Go ^ Comment ^
| usekbd | Boolean | false | false | Do not send keyboard type and layout to server, use as is |
| layout | String | //i18n dependent// | //i18n dependent// | Keyboard Layout (en, de, ...) |
| type | String | //i18n dependent// | //i18n dependent// | Keyboard type |
==== Audio Options ====
^ Option name ^ Data Type ^ Default value X2Go Client ^ Default value Python X2Go ^ Comment ^
| sound | Boolean | true | true | Enable sound |
| soundtunnel | Boolean | true | true | Python X2Go always tunnels sound through SSH |
| defsndport | Boolean | true | true | |
| soundsystem | String | pulse | pulse | Possible values: none, pulse, arts, esd |
| sndport | Pos. Integer | //depends on soundsystem // | //depends on soundsystem // | pulse: 4713, esd: 16001 |
| startsoundsystem | Boolean | false | false | Start sound system's daemon for started sessions |
==== Local Folder Sharing / X2Go Printing ====
^ Option name ^ Data Type ^ Default value X2Go Client ^ Default value Python X2Go ^ Comment ^
| useexports | Boolean | true | true | |
| export | String | | | Format: ":[0 or 1];:[0 or 1];" |
| useiconv | Boolean | false | false | |
| iconvfrom | String | UTF-8 | UTF-8 | Encoding names as understood by the iconv tool |
| iconvto | String | UTF-8 | UTF-8 | Encoding names as understood by the iconv tool |
| fstunnel | Boolean | true | true | On Python X2Go, file systems are always tunneled through SSH |
| print | Boolean | true | true | |
Use ~ in the folder path to refer to the User Home Directory ($HOME or %HomePath%)((Supported in X2GO Client >= 4.0.1.2)).
==== MIME Box Options ====
//... only available with Python X2Go / PyHoca //
^ Option name ^ Data Type ^ Default value X2Go Client ^ Default value Python X2Go ^ Comment ^
| usemimebox | Boolean | //not supported// | false | Enable MIME box support |
| mimeboxaction | String | //not supported// | OPEN | Possible values: OPEN, OPENWITH, SAVEAS |
| mimeboxextensions | List | //not supported// | | Comma-separated list of allowed file extensions. If left empty, all file extensions are allowd (not recommended!). However, some extensions are always blacklisted: .lock, .sys, .swp, .exe, .com, .cmd, .ps1, .ps2, .bat, .js, .py, .pl, .sh |
==== Session Command Options ====
^ Option name ^ Data Type ^ Default value X2Go Client ^ Default value Python X2Go ^ Comment ^
| autostart | Boolean | false | false | |
| xdmcpserver | String | localhost | localhost | Only used if ''command=XDMCP'' |
| rdpserver | String | | | FQDN Hostname or IP of Windows server, only used if ''command=RDP'' |
| rdpoptions | String | | -u X2GO_USER -p X2GO_PASSWORD | RDP options for ''command=RDP'' |
| applications | List | WWWBROWSER, MAILCLIENT, OFFICE, TERMINAL | dito | List of generic commands offered by X2Go Client / Pyhoca-GUI for quick-launching. Commands are handed over to the server script ''x2goruncommand'' which then decides what application to launch. |
| rootless | Boolean | //depends on session command// | //depends on session command// | |
| command | String | KDE | TERMINAL | Command to be launched on X2Go Server, see below |
| published | Boolean | false | false | Enable ,,published applications" mode of X2Go |
==== Possible Session Command Combinations ====
* Desktop sessions: (''command=[KDE,GNOME,LXDE,...]''):
* KDE (startkde)
* GNOME (gnome-session)
* LXDE (lxde-session)
* XFCE4 (xfce4-session, Python X2Go only)
* TRINITY (starttrinity, Python X2Go only, don't miss the [[http://code.x2go.org/gitweb?p=python-x2go.git;a=blob;f=README.Trinity-Desktop|README.Trinity-Desktop]] file!!)
* UNITY (unity-2d-launcher, Python X2Go only, very experimental and not well supported)
* Single Applications (''command=[TERMINAL,WWWBROWSER,OFFICE,MAILCLIENT]''):
* TERMINAL (find terminal application on server and launch)
* WWWBROWSER (find browser on server ...)
* OFFICE (find office application on server ...)
* MAILCLIENT (find mail client on server ...)
* Remote Desktop (''command=RDP''):
* Setting the command to RDP will turn X2Go into an RDP proxy (RDP via NX). RDP will receive a performance improvement on WAN connections and X2Go will guarantee SSH encryption (whereas RDP drops encryption if the bandwidth won't suffice).
* Make sure to use the options rdpserver and rdpoptions properly.
* XDMCP (''command=XDMCP''):
* Do an XDMCP query for the XDMCP server specified by the xdmcpserver option. Useful if you have a complex terminal server setup behind one X2Go gateway (e.g. handled by an XDMCP chooser).
* Other applications (''command=''):
* Specify any application (by its name) that is available via $PATH. No full path names are allowed here, the path will be stripped off of the file name provided. Make sure your $PATH environment variable resolves to the wanted application properly.
* Published applications mode (''command=, published=true''):
* Leave the command option empty and enable the option published