Skip to content
Snippets Groups Projects
README 4.92 KiB
Newer Older
python-x2go - Copyright (C) 2010-2023 by Mike Gabriel <mike.gabriel@das-netzwerkteam.de>
Published under the terms of the GNU Affero General Public License.
See http://www.gnu.org/licenses/agpl.html for a recent copy.
=== What is Python X2Go? ===
The Python X2Go module integrates X2Go client support into your python programmes.
Python X2Go is used in the headless X2Go client »pyhoca-cli« and by the tiny systray GUI
Mike Gabriel's avatar
Mike Gabriel committed
applet »pyhoca-gui«
Mike Gabriel's avatar
Mike Gabriel committed
Python X2Go takes advantages of the NX Proxy by NoMachine published under GPL.
On Windows and MacOS X systems you have to make sure that you have installed a current
NX Proxy executable somewhere on your system. It probably will be sufficient to have
Mike Gabriel's avatar
Mike Gabriel committed
the X2Go project's X2Go Client application installed on your client machine.
Mike Gabriel's avatar
Mike Gabriel committed
On Debian / Ubuntu systems there is an nxproxy package available within the distribution.
Python X2Go defaults to using the distro nxproxy binary.
Mike Gabriel's avatar
Mike Gabriel committed
Python X2Go was originally inspired by work of Jörg Sawatzki <joerg.sawatzki@web.de>.
Unfortunately, Jörg had to give up work on his ideas due to licensing issues with his
contractor. To make his ideas furthermore available to the OSS community this complete
Mike Gabriel's avatar
Mike Gabriel committed
rewrite of Jörg's ideas has been called into life.
Mike Gabriel's avatar
Mike Gabriel committed
In case you have the opinion that parts of the presented code are not as much a rewrite
as they should be, may I ask you to contact me directly and in person. I am sure, things can
Mike Gabriel's avatar
Mike Gabriel committed
be sorted out in a non-complicated and heartful fashion. Thanks in advance for your directness
and wholeheartedness concerning this inner process.


=== Requirements ===

Mike Gabriel's avatar
Mike Gabriel committed
* X2Go Server
Mike Gabriel's avatar
Mike Gabriel committed
    - you need a working X2Go server to connect to. In order to use shadowing or mTelePlayer
      make sure you have at least X2Go Server (>= 4.1.0.0) installed
* on the client system you will need
    - the python-gevent library (for details refer to: http://www.gevent.org/)
    - the python-paramiko library (SSH implementation in Python, http://www.lag.net/paramiko/)
    - NX Proxy for non-Debianized systems
* further recommendations about printing on Windows systems
    - optimal: install Ghostscript and GSView in the default paths. If these tools are installed
      they will be used for printing. Further infos and downloads: http://www.ghostscript.com/
    - also working: if no Ghostscript/GSView is installed the win32api ,,print'' command will
      be executed on incoming PDF print spool files. Win32api will try launch the print function
      of the default PDF viewer application (mostly Adobe Acrobat Reader)
Mike Gabriel's avatar
Mike Gabriel committed
    - if you have a choice: install Ghostscript/GSview on the system that uses Python X2Go
      applications... it's highly recommended
=== Current features ===
* start X2Go agent session
* suspend X2Go session
* resume X2Go session
* terminate X2Go session
* clean user's X2Go sessions
* list user's X2Go sessions
* use Pulse Audio sound
* reading/writing session profiles from file
* sharing of local (client-side) folders (SFTP server is integrated in Python X2Go)
* connect via proxy SSH server
* X2Go MIME box support
* color depth auto-recognition
Mike Gabriel's avatar
Mike Gabriel committed
* X2Go desktop sharing support
* X2Go published applications support
* Session window re-titling for desktop and shared desktop sessions
Mike Gabriel's avatar
Mike Gabriel committed
* X2Go Session Brokerage (HTTP or HTTPS)
* Telekinesis Client support included (required for multimedia support inside
  the X2Go session using mTelePlayer as media player)
=== Installation ===

Ubuntu:
-------
Mike Gabriel's avatar
Mike Gabriel committed
We use Launchpad for Ubuntu packaging:
Mike Gabriel's avatar
Mike Gabriel committed
  $ add-apt-repository ppa:x2go/stable
  $ apt-get update
  $ apt-get install python-x2go
Mike Gabriel's avatar
Mike Gabriel committed
From Ubuntu oneiric on python-x2go is also available as a part of the
Mike Gabriel's avatar
Mike Gabriel committed
Ubuntu GNU/Linux distribution.
Mike Gabriel's avatar
Mike Gabriel committed
create /etc/apt/sources.list.d/x2go.list and put the following line into it:
Mike Gabriel's avatar
Mike Gabriel committed
deb http://packages.x2go.org/debian {squeeze|wheezy|sid} main
</snip>

Then run the following commands as super-user root:

  $ apt-get update
  $ apt-get install python-x2go


Windos:
-------
Testing and writing a short howto for this section is very welcome.

MacOS X:
--------
Testing and writing a short howto for this section is very welcome.


=== How to use it from the command line? ===

A good example for the usage of Python X2Go is the pyhoca-cli programme, a headless
Mike Gabriel's avatar
Mike Gabriel committed
X2Go client that aims at 100% compatibility with X2Go Client applications released in
On Debian/Ubuntu you can easily install the X2Go Client by running APT again:

  $ apt-get install pyhoca-cli


=== How to use it with a GUI? ===

There is also a Python GUI application called PyHoca-GUI. PyHoca-GUI is an applet that docks into your
desktop's system tray.

  $ apt-get install pyhoca-gui


=== Repository and Feedback ===

Mike Gabriel's avatar
Mike Gabriel committed
Before giving feedback take a look at http://git.x2go.org/ (project: python-x2go.git) and
check if your issues have already been solved in the HEAD of python-x2go code.
Mike Gabriel's avatar
Mike Gabriel committed
For now, bugs can be reported via mail to mike.gabriel@das-netzwerkteam.de
Mike Gabriel's avatar
Mike Gabriel committed
light+love, 20142010
Mike Gabriel <mike.gabriel@das-netzwerkteam.de>