x2go.telekinesis module

X2GoTelekinesisClient class - Connect to Telekinesis Server on X2Go Server.

class x2go.telekinesis.X2GoTelekinesisClient(session_info=None, ssh_transport=None, sessions_rootdir='/home/mike/.x2go', session_instance=None, logger=None, loglevel=56)[source]

Bases: gevent.threading.Thread

Telekinesis is a communication framework used by X2Go.

This class implements the startup of the telekinesis client used by Python X2Go.

TEKICLIENT_ARGS = ['-setWORMHOLEPORT={port}', '-setX2GOSID={sid}']

Arguments to be passed to the Telekinesis client.

TEKICLIENT_CMD = 'telekinesis-client'

Telekinesis client command. Might be OS specific.

TEKICLIENT_ENV = {}

Provide environment variables to the Telekinesis client command.

has_telekinesis_client()[source]

Test if the Telekinesis client command is installed on this machine.

Returns:True if the Telekinesis client command is available
Return type:bool
ok()[source]

Check if a proxy instance is up and running.

Returns:Proxy state, True for proxy being up-and-running, False otherwise
Return type:bool
run()[source]

Start the X2Go Telekinesis client command. The Telekinesis client command utilizes a Paramiko/SSH based forwarding tunnel (openssh -L option). This tunnel gets started here and is forked into background (Greenlet/gevent).

start_telekinesis()[source]

Start the thread runner and wait for the Telekinesis client to come up.

Returns:a subprocess instance that knows about the externally started Telekinesis client command.
Return type:obj
stop_thread()[source]

End the thread runner and tidy up.