User Tools

Site Tools


wiki:components:x2goserver

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
wiki:components:x2goserver [2012/04/24 22:42]
bmullan [X2go's Server: base package and extensions]
wiki:components:x2goserver [2013/03/14 22:36]
sunweaver removed
Line 1: Line 1:
-====== X2go'Server Core ======+====== X2Go Server ======
  
 :!: This wiki page needs much more work!!! Any help is appreciated!!! :!: This wiki page needs much more work!!! Any help is appreciated!!!
  
-====== X2go's Server: base package and extensions ======+===== X2Go's Server Download =====
  
-The ''x2goserver'' package (Debian/Ubuntu) provides the server-side core of X2go. If you want to run the legacy X2go client ([[x2goclient]]) on the client-side systems then the installation of this package is sufficient.+Binary packages for various distros are [[download:start#X2Go Package Repositories for GNU/Linux|available]].
  
-However, in 2011 many new features/capabilities were added to x2go.+===== X2Go's Server: base package and extensions =====
  
-One feature was an ''x2goserver-extensions'' package (Debian/Ubuntu) that we consider as a namespace for X2go server contributions. For example, the Python X2go implementation requires some scripts available in this package. If you work on coding some other X2go client implementation you are invited to contribute your server extensions within this namespace.+The ''x2goserver'' package (Debian/Ubuntu) provides the server-side core of X2Go. If you want to run the legacy X2Go client ([[doc:installation:x2goclient|X2Go Client]]) on the client-side systems then the installation of this package is sufficient.
  
-  * [[wiki:x2go-repository-debian|Debian GNU/Linux]] +However, in 2011 many new features/capabilities were added to X2Go.
-  * [[wiki:x2go-repository-ubuntu|Ubuntu GNU/Linux]]+
  
-Also**__if__** the remote server already has a //desktop environment// installed then one more x2go package (besides x2goserver) must now be installed on the server before the x2goclient can successfully initiate/start a remote desktop x2go session.+One feature was an ''x2goserver-extensions'' package (Debian/Ubuntu) that we consider as a namespace for X2Go server contributions. For example, the Python X2Go implementation requires some scripts available in this package. If you work on coding some other X2Go client implementation you are invited to contribute your server extensions within this namespace.
  
-This additional x2go package is called //x2goserver-xsession//  This **__must__** be installed for the x2goclient to successfully start the remote desktop x2go session __unless__ the x2goserver is intended for use with the new x2go Published Apps capability (//see NOTE below//).+  * [[wiki:repositories:debian|Debian GNU/Linux]] 
 +  [[wiki:repositories:ubuntu|Ubuntu GNU/Linux]]
  
-<code>+Also, **__if__** the remote server already has a //desktop environment// installed then one more X2Go package (besides x2goserver) must now be installed on the server before the X2Go Client can successfully initiate/start a remote desktop X2Go session. 
 + 
 +This additional X2Go package is called ''x2goserver-xsession''  This **__must__** be installed for the X2Go Client to successfully start the remote desktop X2Go session __unless__ the X2Go Server is intended for use with the new X2Go Published Apps capability (//see NOTE below//). 
 + 
 +<code bash>
 $ sudo apt-get install x2goserver-xsession $ sudo apt-get install x2goserver-xsession
 </code> </code>
  
-**NOTE:** -  this is a change from older versions of x2goserver installs where in previous versions the only requirement was to just execute - //sudo apt-get install x2goserver// .+**NOTE:** -  this is a change from older versions of ''x2goserver'' installs where in previous versions the only requirement was to just execute ''sudo apt-get install x2goserver'' .
  
-This change is related to the fact that today'x2goserver now allows you to "Publish" Applications on the remote server which does have linux desktop environment installed and run only those "**Published Apps**" remotely from your x2goclient!+''x2goserver-xsession'' was originally introduced so that X2Go can be installed on Debian/Ubuntu Edu terminal servers and the sessions would look like they do on Debian Edu (aka Skolelinux) desktops. It actually does a lot more: start gpg-agent, start ssh-agent, desktop branding, etc.
  
-====== X2go's Server: What is it? What does it do? ======+===== X2Go's Server: What is it? What does it do? =====
  
-The base ''x2goserver'' and also the X2go server extensions are basically a collection of Bash and Perl scripts that take care over X2go server session management and communication between client and server. +The base X2Go Server and also the X2go Server Extensions are basically a collection of Bash and Perl scripts that take care over X2Go server session management and communication between client and server. 
  
-X2go server currently uses NXv3 based libraries and tools for the backend implementation of X2go (graphical compression & caching for low bandwidth connections).+X2Go server currently uses NXv3 based libraries and tools for the backend implementation of X2Go (graphical compression & caching for low bandwidth connections).
  
-The individual ''x2goserver'' scripts do have (rudimentary) man pages. Some of the X2go server scripts are used internally (by other X2go server scripts), others are designed to be available to X2go client implementations (e.g. ''x2goruncommand'', ''x2gosuspend-session'', ''x2goterminate-session'', etc.).+The individual X2Go Server scripts do have (rudimentary) man pages. Some of the X2Go server scripts are used internally (by other X2Go server scripts), others are designed to be available to X2Go Client implementations (e.g. ''x2goruncommand'', ''x2gosuspend-session'', ''x2goterminate-session'', etc.).
  
-The latest status of the X2go server's manual pages can be viewed via the gitweb tool of X2go's Git: http://code.x2go.org/doc/x2goserver/man+The latest status of the X2Go server's manual pages can be viewed via the gitweb tool of X2Go's Git: http://code.x2go.org/doc/x2goserver/man
  
-The latest status of the X2go server extension's manual pages can found here: http://code.x2go.org/doc/x2goserver-extensions/man+The latest status of the X2Go server extension's manual pages can found here: http://code.x2go.org/doc/x2goserver-extensions/man
  
-====== X2go's Server: How it actually works ======+===== X2Go's Server: How it actually works =====
  
-===== Starting a New Session =====+==== Starting a New Session ====
  
 When starting a new session the script called ''x2gostartagent'' gets executed on the server. ''x2gostartagent'' creates a new session in three phases: When starting a new session the script called ''x2gostartagent'' gets executed on the server. ''x2gostartagent'' creates a new session in three phases:
  
-  - Find unique $DISPLAY number and unique session ID. This will insert a new session in the database.+  - Find unique ''$DISPLAY'' number and unique session ID. This will insert a new session in the database.
   - Find free ports for sound, graphic, file sharing. After that the the database entry will get updated with these discovered values.   - Find free ports for sound, graphic, file sharing. After that the the database entry will get updated with these discovered values.
   - Start ''x2goagent'' (NX-like XServer): after that the database entry gets updated with the PID of the ''x2goagent'' process.   - Start ''x2goagent'' (NX-like XServer): after that the database entry gets updated with the PID of the ''x2goagent'' process.
Line 50: Line 54:
 CAVEAT for client implementations: if you query the session entry from the database with ''x2golistsessions''  some time between phases 1 and 3 some of the returned values (ports, agent PID) will not be set. CAVEAT for client implementations: if you query the session entry from the database with ''x2golistsessions''  some time between phases 1 and 3 some of the returned values (ports, agent PID) will not be set.
  
-===== Resuming a Session =====+==== Resuming a Session ====
  
 TODO... TODO...
  
-===== Suspending/Terminated a Session =====+==== Suspending/Terminated a Session ====
  
 TODO... TODO...
  
-====== X2go's Server: Improving documentation... ======+===== X2Go's Server: Improving documentation... =====
  
  
-REQUEST TO X2go USERS: For the improvement of the X2go server manual pages we request everyone's help here.+REQUEST TO X2Go USERS: For the improvement of the X2Go server manual pages we request everyone's help here.
  
 Task: Task:
  
-   * recognize scripts that have to be available to clients (i.e. have to be in $PATH) -> $PREFIX/bin or $PREFIX/sbin 
-   * move other scripts to $PREFIX/lib/x2go 
    * improve manual page contents (what is the script for, what does it do, what values does it return, etc.)    * improve manual page contents (what is the script for, what does it do, what values does it return, etc.)