x2go.registry module¶
X2GoSessionRegistry class - the X2GoClient’s session registry backend
- class x2go.registry.X2GoSessionRegistry(client_instance, logger=None, loglevel=56)[source]¶
Bases:
object
This class is utilized by
x2go.client.X2GoClient
instances to maintain a good overview on session status of all associatedx2go.session.X2GoSession
instances.- associated_sessions(return_objects=True, return_profile_names=False, return_profile_ids=False, return_session_names=False)[source]¶
Retrieve a list of sessions that are currently associated by an
X2GoTerminalSession*
to the underlyingx2go.client.X2GoClient
instance. If none of thereturn_*
options is specified a list of session UUID hashes will be returned.- Parameters:
return_objects (
bool
) – return as list ofx2go.session.X2GoSession
instances (Default value = True)return_profile_names (
bool
) – return as list of profile names (Default value = False)return_profile_ids (
bool
) – return as list of profile IDs (Default value = False)return_session_names (
bool
) – return as list of X2Go session names (Default value = False)
- Returns:
a session list (as UUID hashes, objects, profile names/IDs or session names)
- Return type:
list
- associated_sessions_of_profile_name(profile_name, return_objects=True, return_session_names=False)[source]¶
For a given session profile name retrieve a list of sessions that are currently associated by an
X2GoTerminalSession*
to thisx2go.client.X2GoClient
instance. If none of thereturn_*
options is specified a list of session UUID hashes will be returned.- Parameters:
profile_name (
str
) – session profile namereturn_objects (
bool
) – return as list ofx2go.session.X2GoSession
instances (Default value = True)return_session_names (
bool
) – return as list of X2Go session names (Default value = False)
- Returns:
a session list (as UUID hashes, objects or session names)
- Return type:
list
- property connected_control_sessions¶
Equals a list of all currently connected control sessions.
- connected_profiles(use_paramiko=False, return_profile_ids=True, return_profile_names=False)[source]¶
Retrieve a list of all currently connected session profiles.
- Parameters:
use_paramiko (
bool
) – send query directly to the Paramiko/SSH layer (Default value = False)return_profile_names (
bool
) – return as list of profile names (Default value = False)return_profile_ids (
bool
) – return as list of profile IDs (Default value = True)
- Returns:
list of connected session profiles
- Return type:
list
- connected_sessions(return_objects=True, return_profile_names=False, return_profile_ids=False, return_session_names=False)[source]¶
Retrieve a list of sessions that the underlying
x2go.client.X2GoClient
instances is currently connected to. If none of thereturn_*
options is specified a list of session UUID hashes will be returned.- Parameters:
return_objects (
bool
) – return as list ofx2go.session.X2GoSession
instances (Default value = True)return_profile_names (
bool
) – return as list of profile names (Default value = False)return_profile_ids (
bool
) – return as list of profile IDs (Default value = False)return_session_names (
bool
) – return as list of X2Go session names (Default value = False)
- Returns:
a session list (as UUID hashes, objects, profile names/IDs or session names)
- Return type:
list
- connected_sessions_of_profile_name(profile_name, return_objects=True, return_session_names=False)[source]¶
For a given session profile name retrieve a list of sessions that are currently connected to the profile’s X2Go server. If none of the
return_*
options is specified a list of session UUID hashes will be returned.- Parameters:
profile_name (
str
) – session profile namereturn_objects (
bool
) – return as list ofx2go.session.X2GoSession
instances (Default value = True)return_session_names (
bool
) – return as list of X2Go session names (Default value = False)
- Returns:
a session list (as UUID hashes, objects or session names)
- Return type:
list
- control_session_of_profile_name(profile_name)[source]¶
For a given session profile name retrieve a the corresponding
X2GoControlSession*
instance.- Parameters:
profile_name (
str
) – session profile name- Returns:
contol session instance
- Return type:
X2GoControlSession*
instance
- disable_session_auto_registration()[source]¶
This method is used to temporarily skip auto-registration of newly appearing X2Go session on the server side. This is necessary during session startups to assure that the session registry does not get filled with session UUID duplicates.
- enable_session_auto_registration()[source]¶
This method is used to temporarily (re-)enable auto-registration of newly appearing X2Go session on the server side.
- forget(session_uuid)[source]¶
Forget the complete record for session UUID
session_uuid
.- Parameters:
session_uuid (
str
) – the X2Go session’s UUID registry hash
- get_master_session(profile_name, return_object=True, return_session_name=False)[source]¶
Retrieve the master session of a specific profile.
- Parameters:
profile_name (
str
) – the profile name that we query the master session ofreturn_object (
bool
) – returnx2go.session.X2GoSession
instance (Default value = True)return_session_name (
bool
) – return X2Go session name (Default value = False)
- Returns:
a session list (as UUID hashes, objects, profile names/IDs or session names)
- Return type:
list
- get_profile_id(session_uuid)[source]¶
Retrieve the profile ID of a given session UUID hash.
- Parameters:
session_uuid (
str
) – the X2Go session’s UUID registry hash- Returns:
profile ID
- Return type:
str
- get_profile_name(session_uuid)[source]¶
Retrieve the profile name of a given session UUID hash.
- Parameters:
session_uuid (
str
) – the X2Go session’s UUID registry hash- Returns:
profile name
- Return type:
str
- get_session_of_session_name(session_name, return_object=False, match_profile_name=None)[source]¶
Retrieve the
x2go.session.X2GoSession
instance with session name<session_name>
.- Parameters:
session_name (
str
) – name of session to be retrievedreturn_object (
bool
) – ifFalse
the session UUID hash will be returned, ifTrue
thex2go.session.X2GoSession
instance will be returned (Default value = False)match_profile_name (
str
) – returned sessions must match this profile name (Default value = None)
- Returns:
x2go.session.X2GoSession
object or its representing session UUID hash- Return type:
x2go.session.X2GoSession
instance orstr
- Raises:
X2GoSessionRegistryException – if there is more than one
x2go.session.X2GoSession
registered for<session_name>
within the samex2go.client.X2GoClient
instance. This should never happen!
- property has_running_sessions¶
Equals
True
if the underlyingx2go.client.X2GoClient
instance has any running sessions at hand.
- has_session_of_session_name(session_name, match_profile_name=None)[source]¶
Detect if we know about an
x2go.session.X2GoSession
of name<session_name>
.- Parameters:
session_name (
str
) – name of session to be searched formatch_profile_name (
str
) – a session’s profile_name must match this profile name (Default value = None)
- Returns:
True
if a session of<session_name>
has been found- Return type:
bool
- property has_suspended_sessions¶
Equals
True
if the underlyingx2go.client.X2GoClient
instance has any suspended sessions at hand.
- keys()[source]¶
A list of session registry keys.
- Returns:
session registry key list
- Return type:
list
- non_running_sessions(return_objects=True, return_profile_names=False, return_profile_ids=False, return_session_names=False)[source]¶
Retrieve a list of sessions that are currently _NOT_ in running state. If none of the
return_*
options is specified a list of session UUID hashes will be returned.- Parameters:
return_objects (
bool
) – return as list ofx2go.session.X2GoSession
instances (Default value = True)return_profile_names (
bool
) – return as list of profile names (Default value = False)return_profile_ids (
bool
) – return as list of profile IDs (Default value = False)return_session_names (
bool
) – return as list of X2Go session names (Default value = False)
- Returns:
a session list (as UUID hashes, objects, profile names/IDs or session names)
- Return type:
list
- pubapp_sessions_of_profile_name(profile_name, return_objects=True, return_session_names=False)[source]¶
For a given session profile name retrieve a list of sessions that can be providers for published application list. If none of the
return_*
options is specified a list of session UUID hashes will be returned.- Parameters:
profile_name (
str
) – session profile namereturn_objects (
bool
) – return as list ofx2go.session.X2GoSession
instances (Default value = True)return_session_names (
bool
) – return as list of X2Go session names (Default value = False)
- Returns:
a session list (as UUID hashes, objects or session names)
- Return type:
list
- register(server, profile_id, profile_name, session_name=None, control_backend='PLAIN', terminal_backend='PLAIN', info_backend='PLAIN', list_backend='PLAIN', proxy_backend='NX3', settings_backend='FILE', printing_backend='FILE', client_rootdir='/builddir/.x2goclient', sessions_rootdir='/builddir/.x2go', ssh_rootdir='/builddir/.ssh', keep_controlsession_alive=True, add_to_known_hosts=False, known_hosts=None, **kwargs)[source]¶
Register a new
x2go.session.X2GoSession
instance with thisx2go.registry.X2GoSessionRegistry
.- Parameters:
server (
str
) – hostname of X2Go serverprofile_id (
str
) – profile IDprofile_name (
str
) – profile namesession_name (
str
) – session name (if available) (Default value = None)control_backend (
str
) – X2Go control session backend to use (Default value = _BACKENDS[‘X2GoControlSession’][‘default’])terminal_backend (
str
) – X2Go terminal session backend to use (Default value = _BACKENDS[‘X2GoTerminalSession’][‘default’])info_backend (
str
) – X2Go session info backend to use (Default value = _BACKENDS[‘X2GoServerSessionInfo’][‘default’])list_backend (
str
) – X2Go session list backend to use (Default value = _BACKENDS[‘X2GoServerSessionList’][‘default’])proxy_backend (
str
) – X2Go proxy backend to use (Default value = _BACKENDS[‘X2GoProxy’][‘default’])settings_backend (
str
) – X2Go client settings backend to use (Default value = _BACKENDS[‘X2GoClientSettings’][‘default’])printing_backend (
str
) – X2Go client printing backend to use (Default value = _BACKENDS[‘X2GoClientPrinting’][‘default’])client_rootdir (
str
) – client base dir (default: ~/.x2goclient)sessions_rootdir (
str
) – sessions base dir (default: ~/.x2go)ssh_rootdir (
str
) – ssh base dir (default: ~/.ssh)keep_controlsession_alive (
bool
) – On lastX2GoSession.disconnect()
keep the associatedX2GoControlSession
instance alive?add_to_known_hosts (
bool
) – Auto-accept server host validity?known_hosts (
str
) – the underlying Paramiko/SSH systemsknown_hosts
filekwargs (
dict
) – all other options will be passed on to the constructor of the to-be-instantiatedx2go.session.X2GoSession
instance_X2GO_CLIENT_ROOTDIR –
- Returns:
the session UUID of the newly registered (or re-registered) session
- Return type:
str
- register_available_server_sessions(profile_name, session_list=None, newly_connected=False, re_register=False, skip_pubapp_sessions=False)[source]¶
Register server-side available X2Go sessions with this
x2go.registry.X2GoSessionRegistry
instance for a given profile name.- Parameters:
profile_name (
str
) – session profile name to register available X2Go sessions forsession_list (
X2GoServerSessionList*
instance) – an optionalX2GoServerSessionList*
instance (as returned by theX2GoClient.list_sessions()
command can be passed to this method. (Default value = None)newly_connected (
bool
) – give a hint that the session profile got newly connected (Default value = False)re_register (
bool
) – re-register available sessions, needs to be done after changes to the session profile (Default value = False)skip_pubapp_sessions (
bool
) – Do not register published applications sessions (Default value = False)
- registered_sessions(return_objects=True, return_profile_names=False, return_profile_ids=False, return_session_names=False)[source]¶
Retrieve a list of all registered sessions. If none of the
return_*
options is specified a list of session UUID hashes will be returned.- Parameters:
return_objects (
bool
) – return as list ofx2go.session.X2GoSession
instances (Default value = True)return_profile_names (
bool
) – return as list of profile names (Default value = False)return_profile_ids (
bool
) – return as list of profile IDs (Default value = False)return_session_names (
bool
) – return as list of X2Go session names (Default value = False)
- Returns:
a session list (as UUID hashes, objects, profile names/IDs or session names)
- Return type:
list
- registered_sessions_of_profile_name(profile_name, return_objects=True, return_session_names=False)[source]¶
For a given session profile name retrieve a list of sessions that are currently registered with this
x2go.client.X2GoClient
instance. If none of thereturn_*
options is specified a list of session UUID hashes will be returned.- Parameters:
profile_name (
str
) – session profile namereturn_objects (
bool
) – return as list ofx2go.session.X2GoSession
instances (Default value = True)return_session_names (
bool
) – return as list of X2Go session names (Default value = False)
- Returns:
a session list (as UUID hashes, objects or session names)
- Return type:
list
- running_sessions(return_objects=True, return_profile_names=False, return_profile_ids=False, return_session_names=False)[source]¶
Retrieve a list of sessions that are currently in running state. If none of the
return_*
options is specified a list of session UUID hashes will be returned.- Parameters:
return_objects (
bool
) – return as list ofx2go.session.X2GoSession
instances (Default value = True)return_profile_names (
bool
) – return as list of profile names (Default value = False)return_profile_ids (
bool
) – return as list of profile IDs (Default value = False)return_session_names (
bool
) – return as list of X2Go session names (Default value = False)
- Returns:
a session list (as UUID hashes, objects, profile names/IDs or session names)
- Return type:
list
- running_sessions_of_profile_name(profile_name, return_objects=True, return_session_names=False)[source]¶
For a given session profile name retrieve a list of sessions that are currently running. If none of the
return_*
options is specified a list of session UUID hashes will be returned.- Parameters:
profile_name (
str
) – session profile namereturn_objects (
bool
) – return as list ofx2go.session.X2GoSession
instances (Default value = True)return_session_names (
bool
) – return as list of X2Go session names (Default value = False)
- Returns:
a session list (as UUID hashes, objects or session names)
- Return type:
list
- session_summary(session_uuid, status_only=False)[source]¶
Compose a session summary (as Python dictionary).
- Parameters:
session_uuid (
str
) – the X2Go session’s UUID registry hashstatus_only (
bool
) – short summary, include session status only (Default value = False)
- Returns:
session summary dictionary
- Return type:
dict
- suspended_sessions(return_objects=True, return_profile_names=False, return_profile_ids=False, return_session_names=False)[source]¶
Retrieve a list of sessions that are currently in suspended state. If none of the
return_*
options is specified a list of session UUID hashes will be returned.- Parameters:
return_objects (
bool
) – return as list ofx2go.session.X2GoSession
instances (Default value = True)return_profile_names (
bool
) – return as list of profile names (Default value = False)return_profile_ids (
bool
) – return as list of profile IDs (Default value = False)return_session_names (
bool
) – return as list of X2Go session names (Default value = False)
- Returns:
a session list (as UUID hashes, objects, profile names/IDs or session names)
- Return type:
list
- suspended_sessions_of_profile_name(profile_name, return_objects=True, return_session_names=False)[source]¶
For a given session profile name retrieve a list of sessions that are currently in suspended state. If none of the
return_*
options is specified a list of session UUID hashes will be returned.- Parameters:
profile_name (
str
) – session profile namereturn_objects (
bool
) – return as list ofx2go.session.X2GoSession
instances (Default value = True)return_session_names (
bool
) – return as list of X2Go session names (Default value = False)
- Returns:
a session list (as UUID hashes, objects or session names)
- Return type:
list
- terminated_sessions(return_objects=True, return_profile_names=False, return_profile_ids=False, return_session_names=False)[source]¶
Retrieve a list of sessions that have terminated recently. If none of the
return_*
options is specified a list of session UUID hashes will be returned.- Parameters:
return_objects (
bool
) – return as list ofx2go.session.X2GoSession
instances (Default value = True)return_profile_names (
bool
) – return as list of profile names (Default value = False)return_profile_ids (
bool
) – return as list of profile IDs (Default value = False)return_session_names (
bool
) – return as list of X2Go session names (Default value = False)
- Returns:
a session list (as UUID hashes, objects, profile names/IDs or session names)
- Return type:
list
- update_status(session_uuid=None, profile_name=None, profile_id=None, session_list=None, force_update=False, newly_connected=False)[source]¶
Update the session status for
x2go.session.X2GoSession
that is represented by a given session UUID hash, profile name or profile ID.- Parameters:
session_uuid (
str
) – the X2Go session’s UUID registry hash (Default value = None)profile_name (
str
) – alternatively, a profile name can be specified (the stati of all registered sessions for this session profile will be updated) (Default value = None)profile_id (
str
) – alternatively, a profile ID can be given (the stati of all registered sessions for this session profile will be updated) (Default value = None)session_list (
X2GoServerSessionList*
instance) – an optionalX2GoServerSessionList*
instance (as returned by theX2GoClient.list_sessions()
command can be passed to this method. (Default value = None)force_update (
bool
) – make sure the session status gets really updated (Default value = False)newly_connected – set this to
True
, if the control session has just been connected (Default value = False)newly_connected –
bool
(Default value = False)
- Returns:
True
if this method has been successful- Return type:
bool
- Raises:
X2GoSessionRegistryException – if the combination of
session_uuid
,profile_name
andprofile_id
does not match the requirement: only one of them
- virgin_sessions(return_objects=True, return_profile_names=False, return_profile_ids=False, return_session_names=False)[source]¶
Retrieve a list of sessions that are currently still in virgin state (not yet connected, associated etc.). If none of the
return_*
options is specified a list of session UUID hashes will be returned.- Parameters:
return_objects (
bool
) – return as list ofx2go.session.X2GoSession
instances (Default value = True)return_profile_names (
bool
) – return as list of profile names (Default value = False)return_profile_ids (
bool
) – return as list of profile IDs (Default value = False)return_session_names (
bool
) – return as list of X2Go session names (Default value = False)
- Returns:
a session list (as UUID hashes, objects, profile names/IDs or session names)
- Return type:
list
- virgin_sessions_of_profile_name(profile_name, return_objects=True, return_session_names=False)[source]¶
For a given session profile name retrieve a list of sessions that are registered with this
x2go.client.X2GoClient
instance but have not yet been started (i.e. sessions that are in virgin state). If none of thereturn_*
options is specified a list of session UUID hashes will be returned.- Parameters:
profile_name (
str
) – session profile namereturn_objects (
bool
) – return as list ofx2go.session.X2GoSession
instances (Default value = True)return_session_names (
bool
) – return as list of X2Go session names (Default value = False)
- Returns:
a session list (as UUID hashes, objects or session names)
- Return type:
list