User Tools

Site Tools


wiki:development:sessions-file

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

[<unique-timestamp-for-session-1>]
<session1-option1>=<session1-value1>
<session1-option2>=<session1-value2>
...
<session1-optionN>=<session1-valueN>

[<unique-timestamp-for-session-2>]
<session2-option1>=<session2-value1>
<session2-option2>=<session2-value2>
...
<session2-optionN>=<session2-valueN>

...

[<unique-timestamp-for-session-M>]
<sessionM-option1>=<sessionM-value1>
<sessionM-option2>=<sessionM-value2>
...
<sessionM-optionN>=<sessionM-valueN>

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 :icons/128×128/x2gosession.png :icons/128×128/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: <hostname>[:<port>]
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:<port-on-proxy>:<x2goserver-hostname-or-ip>:<x2goserver-port>
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: ”<folder1>:[0 or 1];<folder2>:[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%)1).

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 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=<unix-application-on-server>):
    • 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
1) Supported in X2GO Client >= 4.0.1.2
wiki/development/sessions-file.txt · Last modified: 2014/01/16 11:21 by schlomo