User Tools

Site Tools


Using PyHoca-CLI

The name PyHoca is a word play combining two powerful entities: Python and Phoca (mascot of X2go, Latin species name for seals).

PyHoca-CLI is a client implementation for X2Go using the project's Python API (Python module). PyHoca-CLI can be operated completely from the command line and the goal is to reflect the full functionality spectrum of python-x2go.

PyHoca-CLI Command Line Arguments

PyHoca-CLI has a man page.

On your GNU/Linux system execute

   $ man pyhoca-cli

An always up-to-date html version of the pyhoca-cli man page can be be retrieved from the X2go Git repository: man pyhoca-cli.

Security notice: amongst many options PyHoca-CLI offers a –password option. You should never use this password option from the command line, directly (as it will probably appear in the command history of your terminal shell). However, it might be handy for some of you to use this option when calling pyhoca-cli from within your own scripts.

The –password value (i.e. the actual password passed to PyHoca-CLI) will also be obfuscated in the process list of your system (*nix operating systems only).

Note: On Windows systems the –password option is disabled, and so not available.

Starting PyHoca-CLI

To start an X2go session for remote user foo on X2go server myserver.local with PyHoca-CLI open a terminal window and execute the following command:

$ pyhoca-cli --server myserver.local -N -c GNOME --user foo --add-to-known-hosts

If you have a valid X2go session profile configuration ($HOME/.x2goclient/sessions file) you can also use the –session-profile option. For a session profile in x2goclient's sessions file named MyProfile use this command:

$ pyhoca-cli --session-profile MyProfile

Desktop Sharing with PyHoca-CLI

To share an already running local or remote X2Go desktop session of user foo on X2Go Server myserver.local with PyHoca-CLI open a terminal window and execute the following commands:

$ pyhoca-cli --server myserver.local --list-desktops --user foo --add-to-known-hosts

Now a list of available/sharable desktop sessions will be shown (your/foo's own desktops are always sharable), e.g. foo@:0 (local desktop on the server):

someone@client:~$ pyhoca-cli --server myserver.local --list-desktops
pyhoca-cli[20238] NOTICE: preparing requested X2Go session
pyhoca-cli[20238] (PyHocaCLI) NOTICE: preparing requested X2Go sessionwiki:components
pyhoca-cli[20238] (x2gosessregistry-pylib) NOTICE: registering X2Go session Pyhoca-Client_Session...
pyhoca-cli[20238] (x2goclient-pylib) NOTICE: initializing X2Go session...
pyhoca-cli[20238] (x2gocontrolsession-pylib) NOTICE: connecting to myserver.local

X2Go desktops available for sharing
Host: myserver.local - [<ip-address>]:<port>
Username: foo


To view foo's local desktop session foo@:0 use this command line:

someone@client:~$ pyhoca-cli --server myserver.local --share-desktop foo@:0 --user foo --add-to-known-hosts

The next change in the command line (–share-mode 1) will enable you to access foo's local desktop in full (read-write) access mode…

someone@client:~$ pyhoca-cli --server myserver.local --share-desktop foo@:0 --share-mode 1 --user foo --add-to-known-hosts

If foo is logged in via X2Go on desktop foo@:51, you could connect to that desktop as well…

someone@client:~$ pyhoca-cli --server myserver.local --share-desktop foo@:51 --share-mode 1 --user foo --add-to-known-hosts

And if another user bar on your X2Go Server has enabled desktop sharing (more info here), then you could use this command to let user foo view user bar's desktop session…

someone@client:~$ pyhoca-cli --server myserver.local --share-desktop bar@:52 --user foo --add-to-known-hosts

Further Readings

For further readings, please consult the README and TODO documentation files in the PyHoca-CLI source tree on the X2Go Git site.

doc/usage/pyhoca-cli.txt · Last modified: 2013/03/15 16:46 by sunweaver