====== X2Go Session Broker Config File: x2gobroker.conf ======
The default version of the ''/etc/x2go/x2gobroker.conf'' configuration file can be viewed [[http://code.x2go.org/gitweb?p=x2gobroker.git;a=blob;f=etc/x2gobroker.conf|here]].
It basically is used to do all global session broker configuration stuff. The file contains many and long comments, make sure you read everything thoroughly.
The file ''x2gobroker.conf'' falls into a [global] section and several per-backend sections ([zeroconf], [inifile], etc.). The file format is that of an INI file.
===== The Global Section of x2gobroker.conf =====
The tweakable options of ''x2gobroker.conf'' that you might have to touch are:
* enable/disable authentication/authorization (''check-credentials'')
* enable/disable available WebUIs (''enable-plain-output'', ''enable-uccs-output'')
For miscellaneous setups you may be interested in adapting the following options:
* ''default-session-autologin'': broker sessions are authoritative, clicking on a session profile card will launch the session right away without a second username/password request
* ''default-authorized-keys'': location of the server-side ''authorized_keys'' file that is used by X2Go Session Broker to mediate session autologin
* ''default-agent-query-mode'': mode for querying X2Go Session Broker Agent, can be either ''LOCAL'' or ''SSH''
===== The Backend Sections =====
Available backend sections are: ''zeroconf'', ''inifile''. All backends have the following options in common:
* ''enable = {true|false}''
* ''auth-mech = pam'' (can be omitted if default-auth-mech is set to the same authentication mechanism)
* ''user-db = libnss'' (can be omitted if default-user-db is set to the same user DB backend)
* ''group-db = libnss'' (can be omitted if default-group-db is set to the same group DB backend)
If you want to use a certain backend with your X2Go Session Broker setup, make sure to enable it in ''x2gobroker.conf''. Otherwise, you will receive 404 http reponse (Not Found) for the backends broker URL.
Normally, other options are available for each backend, depending on the characteristics of the backend.
==== The ZeroConf Backend ====
The ''zeroconf'' backend is a test backend that works out of the box and provides a session profile that will give an X2Go login to ''localhost''.
With a default installation of ''x2gobroker-daemon'' the command to launch X2Go Client in broker mode then is:
$ x2goclient --broker-url=http://localhost:8080/plain/zeroconf/
In ''/etc/x2go/x2gobroker.conf'' the only option you can tweak is the ''desktop-shell'' option. Its default is set to ''KDE''.
==== The IniFile Backend ====
The ''inifile'' backend is a broker backend that can be used to configure several X2Go Server provisionings text file based. For the session profile setup it uses an extra file, by default it is using...
$ editor /etc/x2go/broker/x2gobroker-sessionprofiles.conf
If your ''x2gobroker-sessionprofiles.conf'' is located elsewhere, use the this ''inifile'' backend's option (in ''x2gobroker.conf'') to select another file path:
[inifile]
...
session-profiles = /etc/x2go/broker/x2gobroker-sessionprofiles.conf
...
The [[http://code.x2go.org/gitweb?p=x2gobroker.git;a=blob;f=etc/broker/x2gobroker-sessionprofiles.conf|default version]] of the ''x2gobroker-sessionprofiles.conf'' file ships many examples, but is not usable out-of-the box. An [[x2gobroker:inifilebackend|extra wiki page]] has been dedicated to that file.