Graphical x2go client applet written in python
pyhoca-gui \kx [ options ]
pyhoca-gui is a cross-platform (Windows, MacOS X, Linux) graphical X2Go client applet that docks to your desktop's system tray.
From your desktop's system tray you can start/resume/share pre-configured X2Go sessions. You can manage the pre-configured session profiles in the X2Go profile manager and also configure the basic setup of pyhoca-gui.
pyhoca-gui uses the same set of config files (settings, printing and sessions in ~/.x2goclient) as the original X2Go Client application (by Heinz-M. Graesing and Oleksandr Schneyder) does.
On Windows systems pyhoca-gui uses the same set of Windows registry keys and values as the original X2Go Client application.
See the included README and TODO for further information on pyhoca-gui.
pyhoca-gui accepts the following common options:
\*(T<-h, --help\*(T>
Display a help with all available command line options and exit.
\*(T<-V, --version\*(T>
Output version information and exit.
\*(T<-d, --quiet\*(T>
No output to stdout at all! Use this option on Windows!!!
\*(T<-d, --debug\*(T>
Enable debugging output.
\*(T<--libdebug\*(T>
Enable debugging code of the unterlying Python X2Go module.
\*(T<--libdebug-sftpxfer\*(T>
Enable debugging code of Python X2Go's sFTP server code (very verbose, and it may even reveal promiscuous data).
\*(T<-P, --session-profile\*(T>
The name of the session profile to be used to make the connection. You can actually pass a komma-separated list of session profile names to this option.
\*(T<--remember-username\*(T>
For profiles with interactive authentication, remember the last-used username.
\*(T<--non-interactive\*(T>
Run in non-interactive mode. This option requires the --session-profile option. It also sets the following options to true automagically:
--restricted-trayicon --single_session_profile --start-on-connect --resume-all-on-connect --exit-on-disconnect --disconnect-on-suspend --disconnect-on-terminate
\*(T<--auto-connect\*(T>
Connect sessions via SSH public key authentication on application startup, if possible.
\*(T<--show-profile-metatypes\*(T>
Show descriptive meta information on session profiles in menus (NOTE: this makes menus appear a bit more sluggish, use it mostly for debugging).
\*(T<--single-session-profile\*(T>
Disable support of handling multiple session profiles. Use together with the --session-profile cmdline parameter.
\*(T<--tray-icon <your-logo>\*(T>
Define an alternative system tray icon file (PNG files only, leave out file extension here, size 22x22 on Linux, 16x16 on Windows).
\*(T<--tray-icon-connecting <your-logo-while-connecting>\*(T>
Define an alternative system tray icon file while connecting to a server (PNG files only, leave out file extension here, size 22x22 on Linux, 16x16 on Windows).
\*(T<--restricted-trayicon\*(T>
Restrict functionality of pyhoca-gui's main session manager icon that is shown in the notification area / system tray. This switch limits the icon 's functionality to a right-click menu that allows one to raise the ,,About'' window and exit the application. On left-click only a minimal session menu is shown.
\*(T<--add-to-known-hosts\*(T>
Automatically add host key fingerprint to .ssh/known_hosts in case of "authenticity of server can't be established" (without user interaction).
Handle this option with care: Using it lessens the security/integrity of your SSH client setup.
\*(T<--start-on-connect\*(T>
DEPRECATED: Start a session directly after authentication (only if no suspended sessions are available). This switch is now fully controlled from within the session profiles. This option itself remains here for compatibility with older versions of PyHoca-GUI.
\*(T<--exit-on-disconnect\*(T>
Exit pyhoca-gui cleanly once a session has been disconnected.
\*(T<--resume-on-connect, --resume-newest-on-connect\*(T>
DEPRECATED: After authentication directly auto-resume the newest available running/suspended session. This switch is now fully controlled from within the session profiles, resuming the newest session is the hard-coded default. However, you can influence the resuming behaviour with the next two command line options. This option itself remains here for compatibility with older versions of PyHoca-GUI.
\*(T<--resume-oldest-on-connect\*(T>
After authentication directly auto-resume the oldest available running/suspended session.
\*(T<--resume-all-on-connect\*(T>
After authentication directly auto-resume all available running/suspended session.
\*(T<--disconnect-on-suspend\*(T>
Disconnect from a server if a session on that server has been suspended.
\*(T<--disconnect-on-terminate\*(T>
Disconnect from a server if a session on that server has been terminated.
\*(T<--display <hostname>:<screennumber>\*(T>
Set the DISPLAY environment variable to <hostname>:<screennumber>.
In case you want to retrieve X2Go session profiles from an X2Go Session Broker use the following options:
\*(T<--broker-url=<URL>\*(T>
Specify the <URL> of the X2Go Session Broker. pyhoca-gui can access http:// and ssh:// style URLs.
Syntax of <URL> for HTTP brokerage:
http(s)://<user>:<password>@<hostname>:<port>/path/to/broker
Syntax of <URL> for SSH brokerage:
ssh://<user>:<password>@<hostname>:<port>/usr/bin/x2gobroker (or any executable that provides the broker via SSH).
As a special <URL> you can type "HTTP" or "SSH" and then the application will provide a login window with a pre-formatted / schematic URL.
\*(T<--broker-password <password>\*(T>
Session broker password for retrieving session profiles from the X2Go Session Broker. The cleartext password that has been specified at the command line will be masqueraded in the systems process list (Linux, MacOS). On Windows systems the usage of the --broker-password option is forbidden.
\*(T<--broker-name <broker-name>\*(T>
Provide a human readable name for the session broker. This name overrides the default broker name ("X2Go Session Broker") in the application's menus and notification bubbles.
\*(T<--broker-cacertfile CACERT_FILE\*(T>
For https:// brokers with SSL certificates that have been signed against a self-signed root-CA, use this command line option to point to the self-signed root-CA certificate file.
\*(T<--broker-autoconnect\*(T>
If this command line option is given the session broker authentication dialog will appear on application startup.
The pyhoca-gui provides some feature that allow to easily brand its appearance. Here some options for tweaking the pyhoca-gui appearance and behaviour.
\*(T<--splash-image <your-splash-image>\*(T>
Define an alternative splash image that gets shown on application startup (PNG files only, full path or filename as found in <share>/img).
\*(T<--about-image <your-about-window-image>\*(T>
Define an alternative image for the application's ,,About'' window (PNG files only, full path or filename as found in <share>/img). For those who distribute a customized version of this application: As PyHoca-GUI and its backend Python X2Go are licensed under AGPL, the ,,About'' window is a good place for placing the download location of your modified version of the source code.
\*(T<--disable-splash\*(T>
Do not show the application's splash screen.
\*(T<--disable-options\*(T>
Grey-out the ,,Options'' menu item and thus disable the client configuration window.
\*(T<--disable-printingprefs\*(T>
Grey-out the ,,Printing Preferences'' menu item and thus disable the client's printing preferences window.
\*(T<--disable-profilemanager\*(T>
Grey-out the profile manager menu items and thus disable all profile management functionalities.
\*(T<--disable-notifications\*(T>
Disable all applet notifications.
\*(T<--logon-window-position <x-pos>x<y-pos>\*(T>
Give a custom position for the logon window, use negative values to position relative to right/bottom border.
\*(T<--published-applications-no-submenus <number>\*(T>
The number of published applications that will be rendered without submenus.
pyhoca-gui supports transparent use of different data backends. For configuration three backends are common: FILE, GCONF (Linux only) and WINREG (Windows only). The default backend currently is the FILE backend on all platforms.
For client-server communication the only yet implemented backend is the STDOUT backend (as X2Go server commands print their execution results to /dev/stdout. (But other communication backends might be possible in the future...).
In the same way we are focusing on a successor of the current NX3 agent/proxy tool. A change in the proxy backend will also be implemented as a backend.
\*(T<--backend-controlsession <CONTROLSESSION_BACKEND>\*(T>
Force usage of a certain CONTROLSESSION_BACKEND (do not use this unless you know exactly what you are doing).
\*(T<--backend-terminalsession <TERMINALSESSION_BACKEND>\*(T>
Force usage of a certain TERMINALSESSION_BACKEND (do not use this unless you know exactly what you are doing).
\*(T<--backend-serversessioninfo <SERVERSESSIONINFO_BACKEND>\*(T>
Force usage of a certain SERVERSESSIONINFO_BACKEND (do not use this unless you know exactly what you are doing).
\*(T<--backend-serversessionlist <SERVERSESSIONLIST_BACKEND>\*(T>
Force usage of a certain SERVERSESSIONLIST_BACKEND (do not use this unless you know exactly what you are doing).
\*(T<--backend-proxy <PROXY_BACKEND>\*(T>
Force usage of a certain PROXY_BACKEND (do not use this unless you know exactly what you are doing).
\*(T<--backend-sessionprofiles <SESSIONPROFILES_BACKEND>\*(T>
Use given backend for accessing session profiles, available backends on Linux: FILES, GCONF; on Windows: FILES, WINREG.
\*(T<--backend-clientsettings <CLIENTSETTINGS_BACKEND>\*(T>
Use given backend for accessing the client settings configuration, available backends on Linux: FILES, GCONF; on Windows: FILES, WINREG.
\*(T<--backend-clientprinting <CLIENTPRINTING_BACKEND>\*(T>
Use given backend for accessing the client printing configuration, available backends on Linux: FILES, GCONF; on Windows: FILES, WINREG.
\*(T<--client-rootdir <CLIENT_ROOTDIR>\*(T>
Define an alternative location where to find plain text config files (default: <HOME>/.x2goclient). This option will set ,,--backend-profiles FILE'', ,,--backend-clientsettings FILE'' and ,,--backend-clientprinting FILE''
\*(T<--sessions-rootdir <SESSIONS_ROOTDIR>\*(T>
Define an alternative location for session runtime files (default: <HOME>/.x2go).
\*(T<--ssh-rootdir <SSH_ROOTDIR>\*(T>
Define an alternative location for user SSH files (default: <HOME>/.ssh).
There are some options that are only available on Windows:
\*(T<--start-xserver\*(T>
Start an XServer (if available) before starting pyhoca-gui. The application will detect the best suitable XServer automatically, if more than one XServer is installed on your system (currently known: Xming, Cygwin-X).
\*(T<--preferred-xserver <XSERVER_NAME>\*(T>
Start either of the currently supported XServers: Xming, Cygwin-X and VcXsrv -- make sure your preferred XServer is installed on your system (default and recommended is VcXsrv).
\*(T<--start-pulseaudio\*(T>
Start the PulseAudio server before starting pyhoca-gui. This option is needed to get X2Go audio working. However, it is not enabled by default.
\*(T<--lang [en|de|nl|es]\*(T>
Select the GUI language.
/usr/share/doc/pyhoca-gui
This manual has been written for the X2Go project by Mike Gabriel <[email protected]>.