# Python X2Go (Client) API Documentation (v0.6.1.3)

## x2go.telekinesis module

X2GoTelekinesisClient class - Connect to Telekinesis Server on X2Go Server.

class `x2go.telekinesis.``X2GoTelekinesisClient`(session_info=None, ssh_transport=None, sessions_rootdir='/sbuild-nonexistent/.x2go', session_instance=None, logger=None, loglevel=56)

  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`()

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

    Returns: | `True` if the Telekinesis client command is available
    Return type: | `bool`

  `ok`()

    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`()

    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`()

    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`()

    End the thread runner and tidy up.