====== 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