====== 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 [[wiki:libs:python-x2go|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 [[wiki:libs: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: [[http://code.x2go.org/doc/pyhoca-cli/man/man1/pyhoca-cli.1.html|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 - []:
Username: foo
foo@:0
foo@:51
bar@:52
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 [[:doc:usage:desktop-sharing|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 [[http://code.x2go.org/gitweb?p=pyhoca-cli.git;a=tree|X2Go Git site]].