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 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.
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
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 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 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
For further readings, please consult the README and TODO documentation files in the PyHoca-CLI source tree on the X2Go Git site.