[X2Go-Commits] [python-x2go] 01/01: misc: whitespace only.

git-admin at x2go.org git-admin at x2go.org
Thu Jan 28 16:39:09 CET 2016


This is an automated email from the git hooks/post-receive script.

x2go pushed a commit to branch master
in repository python-x2go.

commit dae18fc86e9bd31b91040263e96b89902770b292
Author: Mihai Moldovan <ionic at ionic.de>
Date:   Thu Jan 28 16:39:01 2016 +0100

    misc: whitespace only.
---
 README.Trinity-Desktop               |    4 +-
 debian/changelog                     |   42 +++++------
 debian/control                       |    4 +-
 debian/copyright                     |    4 +-
 x2go/__init__.py                     |   40 +++++------
 x2go/_paramiko.py                    |    4 +-
 x2go/backends/control/plain.py       |   36 +++++-----
 x2go/backends/info/plain.py          |   14 ++--
 x2go/backends/printing/file.py       |   10 +--
 x2go/backends/printing/gconf.py      |    6 +-
 x2go/backends/printing/winreg.py     |    6 +-
 x2go/backends/profiles/base.py       |    2 +-
 x2go/backends/profiles/file.py       |    2 +-
 x2go/backends/profiles/gconf.py      |    2 +-
 x2go/backends/profiles/httpbroker.py |    2 +-
 x2go/backends/profiles/sshbroker.py  |    2 +-
 x2go/backends/profiles/winreg.py     |    2 +-
 x2go/backends/proxy/base.py          |    6 +-
 x2go/backends/settings/file.py       |    4 +-
 x2go/backends/settings/gconf.py      |    2 +-
 x2go/backends/settings/winreg.py     |    2 +-
 x2go/backends/terminal/plain.py      |   66 +++++++++---------
 x2go/cache.py                        |    4 +-
 x2go/checkhosts.py                   |    4 +-
 x2go/cleanup.py                      |    8 +--
 x2go/client.py                       |  128 +++++++++++++++++-----------------
 x2go/defaults.py                     |   20 +++---
 x2go/forward.py                      |    2 +-
 x2go/guardian.py                     |   16 ++---
 x2go/inifiles.py                     |   10 +--
 x2go/log.py                          |   12 ++--
 x2go/mimebox.py                      |   22 +++---
 x2go/mimeboxactions.py               |    4 +-
 x2go/printactions.py                 |   16 ++---
 x2go/printqueue.py                   |   32 ++++-----
 x2go/pulseaudio.py                   |    2 +-
 x2go/registry.py                     |   18 ++---
 x2go/rforward.py                     |   42 +++++------
 x2go/session.py                      |   30 ++++----
 x2go/sftpserver.py                   |   26 +++----
 x2go/sshproxy.py                     |    4 +-
 x2go/telekinesis.py                  |    2 +-
 x2go/tests/runalltests.py            |    2 +-
 x2go/utils.py                        |    4 +-
 x2go/xserver.py                      |    4 +-
 45 files changed, 337 insertions(+), 337 deletions(-)

diff --git a/README.Trinity-Desktop b/README.Trinity-Desktop
index 2bab505..25436c0 100644
--- a/README.Trinity-Desktop
+++ b/README.Trinity-Desktop
@@ -1,7 +1,7 @@
 Trinity Deskop (KDE3.5 fork) and (Python) X2Go
 ==============================================
 
-Python X2Go brings support to start Trinity Desktops on remote 
+Python X2Go brings support to start Trinity Desktops on remote
 X2Go servers.
 
 For this to work let a symbolic link on the X2Go server
@@ -10,4 +10,4 @@ point from /usr/local/bin/starttrinity to Trinity's startkde script:
   root at x2goserver:~ ln -s /opt/trinity/bin/startkde /usr/local/bin/starttrinity
 
 light+love, 20110527
-Mike Gabriel <mike.gabriel at das-netzwerkteam.de>
\ No newline at end of file
+Mike Gabriel <mike.gabriel at das-netzwerkteam.de>
diff --git a/debian/changelog b/debian/changelog
index a461250..404820f 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -41,7 +41,7 @@ python-x2go (0.5.0.2-0x2go1) unstable; urgency=medium
     - Catch control session disconnects during session's
       run_command call.
     - Fix cross-user desktop sharing feature since introduction of
-      clipboard mode feature.    
+      clipboard mode feature.
   * debian/control:
     + Bump Standards: to 3.9.6. No changes needed.
     + Mention "client side printing support" in LONG_DESCRIPTION.
@@ -225,7 +225,7 @@ python-x2go (0.4.0.9-0x2go1) unstable; urgency=low
   * New upstream version (0.4.0.9):
     - Agent channels in Paramiko can raise an EOFError if the connection
       has got disrupted. Ignoring this.
-    - Store the session password in base64 encoded string in order to make 
+    - Store the session password in base64 encoded string in order to make
       it harder spotting the long term stored (for the duration of the session)
       plain text password.
     - Support encryption passphrases on SSH private key files (X2Go SSH
@@ -361,7 +361,7 @@ python-x2go (0.4.0.3-0~x2go1) unstable; urgency=low
     - Fix faulty value creations for the export session profile parameter.
       (Fixes: #162). This issue occured when the restoreexports feature
       had been activated in the session profile.
-    - Prevent Exception when creating new session profiles. Spotted by 
+    - Prevent Exception when creating new session profiles. Spotted by
       Dick Kniep. Thanks!
 
  -- Mike Gabriel <mike.gabriel at das-netzwerkteam.de>  Sun, 21 Apr 2013 22:40:43 +0200
@@ -412,7 +412,7 @@ python-x2go (0.4.0.0-0~x2go1) unstable; urgency=low
       server-side X2Go components.
     - Add session type filter for list of sharable desktops.
     - Sort X2Go feature list, add force option for X2GoClient queries of server
-      features and server components. Add alias get_server_components (for 
+      features and server components. Add alias get_server_components (for
       get_server_versions).
     - Add low latency support for link types 'modem' and 'isdn'. Selecting
       either link quality will double nearly all connection timeout values.
@@ -800,7 +800,7 @@ python-x2go (0.1.1.8-0-x2go1) unstable; urgency=low
     - Always disconnect from X2goSession instance.
     - Use random passwords for checking SSH host keys.
     - Fix duplication of SSH keys in known_hosts file, use hashed hostnames in
-      known_hosts file. Make sure SSH keys written to known_hosts file are 
+      known_hosts file. Make sure SSH keys written to known_hosts file are
       available to other SSHClient instances immediately.
 
  -- Mike Gabriel <mike.gabriel at das-netzwerkteam.de>  Wed, 12 Oct 2011 10:54:23 +0200
@@ -835,7 +835,7 @@ python-x2go (0.1.1.6-0~x2go1) unstable; urgency=low
     - Be tolerant against trailing whitespaces in hostnames.
     - Fix handling of lists in session profiles (i.e. ini files). Fixes breakage
       with x2goclient's rootless vs. desktop mode after pyhoca-gui has been used.
- 
+
  -- Mike Gabriel <mike.gabriel at das-netzwerkteam.de>  Wed, 14 Sep 2011 21:35:54 +0200
 
 python-x2go (0.1.1.5-0~x2go1) unstable; urgency=low
@@ -918,7 +918,7 @@ python-x2go (0.1.1.0-0~x2go1) unstable; urgency=low
     - Make cache more configurable (session list updates, desktop list updates).
     - Adds an auto_update_listdesktops_cache to X2goClient constructor kwargs.
     - Fix multiple notifications for the same session state change, reliably
-      differentiate between found sessions after connect and newly started 
+      differentiate between found sessions after connect and newly started
       sessions from another client.
     - Mark terminals as PENDING even before the X2goTerminalSession object is
       created.
@@ -1011,7 +1011,7 @@ python-x2go (0.0.43.0-0~x2go1) unstable; urgency=low
 
 python-x2go (0.0.42.0-0~x2go2) unstable; urgency=low
 
-  * re-arranged the debian folder quite a bit when 
+  * re-arranged the debian folder quite a bit when
     testing/building with pbuilder
 
  -- Mike Gabriel <mike.gabriel at das-netzwerkteam.de>  Mon, 25 Apr 2011 21:56:46 +0200
@@ -1019,7 +1019,7 @@ python-x2go (0.0.42.0-0~x2go2) unstable; urgency=low
 python-x2go (0.0.42.0-0~x2go1) unstable; urgency=low
 
   * switches to source format 3.0 (native)
-  * building on behalf of X2Go project (changes version/revision string of 
+  * building on behalf of X2Go project (changes version/revision string of
     package)
   * building only for unstable
 
@@ -1038,8 +1038,8 @@ python-x2go (0.0.41.0-0~nwt1) natty lucid maverick stable testing unstable; urge
 
   * new upstream features (0.0.41.0):
       - improved session state recognition
-      - speeding up bootstrap of X2goClient 
-      - catching missing dropbox/spool folders 
+      - speeding up bootstrap of X2goClient
+      - catching missing dropbox/spool folders
 
  -- Mike Gabriel <mike.gabriel at das-netzwerkteam.de>  Fri, 26 Mar 2011 20:43:12 +0100
 
@@ -1057,7 +1057,7 @@ python-x2go (0.0.40.0-0~nwt1) natty lucid maverick stable testing unstable; urge
 python-x2go (0.0.39.0-0~nwt1) natty lucid maverick stable testing unstable; urgency=low
 
   * new upstream features (0.0.39.0):
-      - re-worked infrastructure for providing a printing preferences dialog 
+      - re-worked infrastructure for providing a printing preferences dialog
 
  -- Mike Gabriel <mike.gabriel at das-netzwerkteam.de>  Tue, 1 Mar 2011 00:32:00 +0100
 
@@ -1106,7 +1106,7 @@ python-x2go (0.0.36-0~nwt1) lucid maverick testing unstable; urgency=low
   * fixed non-starting sshfs issue
   * made XServer VcXsrv known to Python X2Go (relevant for Windows)
   * catching forward tunnel setup failure by session and client hook method
-  * improved handling of network failures (i.e. when triggering disconnect 
+  * improved handling of network failures (i.e. when triggering disconnect
     events)
   * added new x2goclient default session profile options
   * killing PulseAuddio daemon properly on Windows
@@ -1136,7 +1136,7 @@ python-x2go (0.0.33-0~nwt1) lucid maverick testing unstable; urgency=low
 
 python-x2go (0.0.32-0~nwt1) lucid maverick testing unstable; urgency=low
 
-  * fixed a rarely occurring exception when calling 
+  * fixed a rarely occurring exception when calling
     X2goControlSession.terminate()
   * changing the server name between connects now gets recognized
   * fixed link speed issue (was complete rubbish so far...)
@@ -1151,7 +1151,7 @@ python-x2go (0.0.31-0~nwt1) lucid maverick testing unstable; urgency=low
     ,,already running'' sessions (directly after connect and newly appearing
     running sessions while having been connected for quite a while
   * added ,,return_session_names'' to X2goSessionRegistry's enumerating methods
-  * PDFVIEW printaction for MS Windows, PRINT (on default printer) action for MS 
+  * PDFVIEW printaction for MS Windows, PRINT (on default printer) action for MS
     Windows
 
  -- Mike Gabriel <m.gabriel at das-netzwerkteam.de>  Mon, 3 Jan 2011 21:42:00 +0100
@@ -1185,7 +1185,7 @@ python-x2go (0.0.27-0~nwt1) lucid maverick testing unstable; urgency=low
 python-x2go (0.0.26-0~nwt1) lucid maverick testing unstable; urgency=low
 
   * added XDMCP support (does not work due to server-side problems)
-  * added SSH proxy support (NOTE: SSH proxy support adds options to 
+  * added SSH proxy support (NOTE: SSH proxy support adds options to
     the sessions file)
   * notification system and session management improved
   * stale-paramiko-sessions problem fixed
@@ -1200,9 +1200,9 @@ python-x2go (0.0.25-0~nwt1) lucid maverick testing unstable; urgency=low
 
   * renamed set_loglevel_none() method to set_loglevel_quiet()
   * on Unix: subprocess needs a shell=False, on Windows: shell=True
-  * got rid of nxproxy DOS window, when running on Windows (running nxproxy 
+  * got rid of nxproxy DOS window, when running on Windows (running nxproxy
     in shell)
-  * added X2goXServer class and X2gClientXConfig class -> support for 
+  * added X2goXServer class and X2gClientXConfig class -> support for
     starting an external XServer application on MS Windows
   * added support for profile metatype information (analyzing session profile
     and summarizing the session profile type in a short string)
@@ -1249,7 +1249,7 @@ python-x2go (0.0.20-0~nwt1) lucid maverick testing unstable; urgency=low
   * much work on non-blocking I/O
   * session profile support added
   * loads of bugfixes
-  * introduction of one control session and many possible terminal sessions 
+  * introduction of one control session and many possible terminal sessions
     -> all communication between server+client uses a single SSH transport
   * X2goClient class now has a guardian for all sessions
   * caching x2golistsession results (increases responsiveness of GUI applications)
@@ -1286,7 +1286,7 @@ python-x2go (0.0.11-0~nwt1) lucid maverick testing unstable; urgency=low
 
 python-x2go (0.0.10-0~nwt1) lucid maverick testing unstable; urgency=low
 
-  * added thread cleanup support (X2goSessionGuardian) in case of the sudden 
+  * added thread cleanup support (X2goSessionGuardian) in case of the sudden
     death of an X2goSession instance (SIGINT, SIGTERM, KeyboardInterrupt, sys.exit())
 
  -- Mike Gabriel <m.gabriel at das-netzwerkteam.de>  Thu, 07 Oct 2010 14:00:00 +0200
@@ -1374,7 +1374,7 @@ python-x2go (0.0.1-0~nwt2) lucid; urgency=low
 
 python-x2go (0.0.1-0~nwt1) lucid; urgency=low
 
-  * complete python-x2go rewrite from scratch 
+  * complete python-x2go rewrite from scratch
 
  -- Mike Gabriel <m.gabriel at das-netzwerkteam.de>  Thu, 30 Sep 2010 02:00:00 +0200
 
diff --git a/debian/control b/debian/control
index 56b02de..caf020a 100644
--- a/debian/control
+++ b/debian/control
@@ -48,8 +48,8 @@ Description: Python module providing X2Go client API
     - audio support
     - authentication by smartcard and USB stick
  .
- This Python module allows you to integrate X2Go client 
- support into your Python applications by providing a 
+ This Python module allows you to integrate X2Go client
+ support into your Python applications by providing a
  Python-based X2Go client API.
 
 Package: python-x2go-doc
diff --git a/debian/copyright b/debian/copyright
index 082396c..38d33da 100644
--- a/debian/copyright
+++ b/debian/copyright
@@ -1,7 +1,7 @@
 Format: http://www.debian.org/doc/packaging-manuals/copyright-format/1.0/
 Upstream-Name: python-x2go
 Upstream-Contact: Mike Gabriel <mike.gabriel at das-netzwerkteam.de>
-Source: http://code.x2go.org/releases/source/python-x2go 
+Source: http://code.x2go.org/releases/source/python-x2go
 
 Files: *
 Copyright: 2010-2016, Mike Gabriel <mike.gabriel at das-netzwerkteam.de>
@@ -44,7 +44,7 @@ License: AGPL-3+
 
 License: AGPL-3+
  Python X2Go is free software; you can redistribute it and/or modify
- it under the terms of the GNU Affero General Public License as published 
+ it under the terms of the GNU Affero General Public License as published
  by the Free Software Foundation; either version 3 of the License, or
  (at your option) any later version.
  .
diff --git a/x2go/__init__.py b/x2go/__init__.py
index b3592dc..efac350 100644
--- a/x2go/__init__.py
+++ b/x2go/__init__.py
@@ -18,7 +18,7 @@
 # 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA.
 
 """\
-Python X2Go is a python module that implements X2Go client support for 
+Python X2Go is a python module that implements X2Go client support for
 the free X2Go server project (U{http://wiki.x2go.org}) in Python.
 
 Introduction
@@ -49,23 +49,23 @@ API Concept
     The five public API classes are:
 
         - L{X2GoClient} --- a whole X2Go client API
-        - L{X2GoSession} --- management of an individual X2Go 
+        - L{X2GoSession} --- management of an individual X2Go
         session--either started standalone or from within an L{X2GoClient} instance
-        - L{X2GoClientSettings} --- provide access to X2Go (global and 
+        - L{X2GoClientSettings} --- provide access to X2Go (global and
         user) configuration node »settings«
-        - L{X2GoClientPrinting} --- provide access to X2Go (global and 
+        - L{X2GoClientPrinting} --- provide access to X2Go (global and
         user) configuration node »printing«
-        - L{X2GoSessionProfiles} --- provide access to X2Go (global and 
+        - L{X2GoSessionProfiles} --- provide access to X2Go (global and
         user) configuration node »sessions«
 
     Plus two extra classes on MS Windows platforms:
 
-       - L{X2GoClientXConfig} and L{X2GoXServer} --- these classes will be initialized 
+       - L{X2GoClientXConfig} and L{X2GoXServer} --- these classes will be initialized
        during L{X2GoClient} instantiation on MS Windows platforms and start an installed XServer
 
     Any other of the Python X2Go classes may be subject to internal changes
     and the way of addressing these classes in code may vary between different
-    versions of Python X2Go. If you directly use other than the five public API 
+    versions of Python X2Go. If you directly use other than the five public API
     classes in your own applications, so please be warned.
 
 
@@ -82,15 +82,15 @@ API Structure
 
     Python X2Go is capable of handling multiple running/suspended sessions within the
     same client instance, so for your application, there should not be any need of
-    instantiating more than one L{X2GoClient} object in parallel. 
+    instantiating more than one L{X2GoClient} object in parallel.
 
     NOTE: Doing so is--herewith--fully disrecommended.
 
     The L{X2GoClient} class flattens the complex structure of Python X2Go into
     many L{X2GoClient} methods that you can use in your own C{MyX2GoClient} instance.
 
-    However, it might be handy to retrieve a whole X2Go session instance 
-    from the L{X2GoClient} instance. This can be achieved by the 
+    However, it might be handy to retrieve a whole X2Go session instance
+    from the L{X2GoClient} instance. This can be achieved by the
     L{X2GoClient.register_session()} method::
 
         import x2go
@@ -101,8 +101,8 @@ API Structure
 
          »profile_name=<PROFILE_NAME_IN_SESSIONS_FILE>«
 
-    or contain a whole set of L{X2GoSession} parameters that can be used to start a 
-    session manually (i.e. a session that is based on a pre-configured session profile 
+    or contain a whole set of L{X2GoSession} parameters that can be used to start a
+    session manually (i.e. a session that is based on a pre-configured session profile
     in either of the »sessions« config files).
 
     The L{X2GoClient.register_session()} method---in object-retrieval-mode---returns
@@ -130,7 +130,7 @@ API Structure
 
     How to access---especially how to modify---the X2Go client configuration
     files »settings«, »printing«, »sessions« and »xconfig« (Windows only)
-    is explained in detail with each class declaration in this API documentation. 
+    is explained in detail with each class declaration in this API documentation.
     Please refer to the class docs of L{X2GoClientSettings}, L{X2GoClientPrinting},
     L{X2GoSessionProfiles} and L{X2GoXServer}.
 
@@ -140,13 +140,13 @@ Configuration and Session Management
 
     Python X2Go strictly separates configuration management from
     session management. The classes needed for session management
-    / administration are supposed to only gain »read access« to the 
+    / administration are supposed to only gain »read access« to the
     classes handling the X2Go client configuration nodes.
 
     A configuration node in Python X2Go can be a file, a gconf database
     section, a section in the Windows registry, etc.
 
-    NOTE: Each configuration node will be re-read whenever it is needed 
+    NOTE: Each configuration node will be re-read whenever it is needed
     by an X2Go sesion or the X2GoClient class itself.
 
     Conclusively, any change to either of the configuration nodes
@@ -156,22 +156,22 @@ Configuration and Session Management
       the »sessions« node will be available for the next registered
       L{X2GoSession} instance
       - L{X2GoClientPrinting}: on each incoming X2Go print job the
-      »printing« configuration node will be re-read, thus you can 
+      »printing« configuration node will be re-read, thus you can
       change your X2Go client's print setup during a running session
-      - L{X2GoClientSettings}: also the configuration node »settings« 
+      - L{X2GoClientSettings}: also the configuration node »settings«
       is re-read whenever needed in the course of X2Go session management
-      - L{X2GoClientXConfig} and L{X2GoXServer} (Windows only): these classes will only be initialized 
+      - L{X2GoClientXConfig} and L{X2GoXServer} (Windows only): these classes will only be initialized
       once (starting the XServer on Windows platforms) on construction
       of an L{X2GoClient} instance
 
 Dependencies
 ============
-    Python X2Go takes advantage of the libevent/greenlet implementation 
+    Python X2Go takes advantage of the libevent/greenlet implementation
     gevent (http://www.gevent.org). The least needed version of Python gevent
     is 0.13.0. On MS Windows Python gevent 1.0 is highly recommended.
 
     Python X2Go (because of gevent) requires at least Python 2.6. Further recent
-    information on Python X2Go is available at: 
+    information on Python X2Go is available at:
     U{http://wiki.x2go.org/python-x2go}
 
 Contact
diff --git a/x2go/_paramiko.py b/x2go/_paramiko.py
index b321081..70e61d2 100644
--- a/x2go/_paramiko.py
+++ b/x2go/_paramiko.py
@@ -56,7 +56,7 @@ def _SSHClient_save_host_keys(self, filename):
     @param filename: the filename to save to
     @type filename: str
 
-    @raise IOError: if the file could not be written 
+    @raise IOError: if the file could not be written
 
     """
     # update local host keys from file (in case other SSH clients
@@ -107,7 +107,7 @@ def _HostKeys_load(self, filename):
                     e.hostnames.remove(h)
             if len(e.hostnames):
                 self._entries.append(e)
-    f.close() 
+    f.close()
 
 
 def _HostKeys_add(self, hostname, keytype, key, hash_hostname=True):
diff --git a/x2go/backends/control/plain.py b/x2go/backends/control/plain.py
index c6d6501..ecb4451 100644
--- a/x2go/backends/control/plain.py
+++ b/x2go/backends/control/plain.py
@@ -91,11 +91,11 @@ def _rewrite_password(cmd, user=None, password=None):
     @rtype: C{str}
 
     """
-    # if there is a ,,-u X2GO_USER'' parameter in RDP options then we will replace 
+    # if there is a ,,-u X2GO_USER'' parameter in RDP options then we will replace
     # it by our X2Go session password
     if cmd and user:
         cmd = cmd.replace('X2GO_USER', user)
-    # if there is a ,,-p X2GO_PASSWORD'' parameter in RDP options then we will replace 
+    # if there is a ,,-p X2GO_PASSWORD'' parameter in RDP options then we will replace
     # it by our X2Go session password
     if cmd and password:
         cmd = cmd.replace('X2GO_PASSWORD', password)
@@ -529,7 +529,7 @@ class X2GoControlSession(paramiko.SSHClient):
         sanitized_stdout = ''
         is_x2go_data = False
         for line in raw_stdout.split('\n'):
-            if line.startswith('X2GODATABEGIN:'+cmd_uuid): 
+            if line.startswith('X2GODATABEGIN:'+cmd_uuid):
                 is_x2go_data = True
                 continue
             if not is_x2go_data: continue
@@ -657,7 +657,7 @@ class X2GoControlSession(paramiko.SSHClient):
         ###
         ### FIXME:
         ###
-        # discussion about server-side access restriction based on posix group membership or similar currently 
+        # discussion about server-side access restriction based on posix group membership or similar currently
         # in process (as of 20110517, mg)
         #return username in self._x2go_remote_group('x2gousers')
         return True
@@ -773,7 +773,7 @@ class X2GoControlSession(paramiko.SSHClient):
         C{force_password_auth}, C{session_instance} and all SSH proxy related parameters
         have been added as X2Go specific parameters
 
-        The server's host key is checked against the system host keys 
+        The server's host key is checked against the system host keys
         (see C{load_system_host_keys}) and any local host keys (C{load_host_keys}).
         If the server's hostname is not found in either set of host keys, the missing host
         key policy is used (see C{set_missing_host_key_policy}).  The default policy is
@@ -821,11 +821,11 @@ class X2GoControlSession(paramiko.SSHClient):
         @param allow_agent: set to C{True} to enable connecting to a local SSH agent
             for acquiring authentication information
         @type allow_agent: C{bool}
-        @param add_to_known_hosts: non-paramiko option, if C{True} paramiko.AutoAddPolicy() 
-            is used as missing-host-key-policy. If set to C{False} paramiko.RejectPolicy() 
+        @param add_to_known_hosts: non-paramiko option, if C{True} paramiko.AutoAddPolicy()
+            is used as missing-host-key-policy. If set to C{False} paramiko.RejectPolicy()
             is used
         @type add_to_known_hosts: C{bool}
-        @param force_password_auth: non-paramiko option, disable pub/priv key authentication 
+        @param force_password_auth: non-paramiko option, disable pub/priv key authentication
             completely, even if the C{pkey} or the C{key_filename} parameter is given
         @type force_password_auth: C{bool}
         @param session_instance: an instance L{X2GoSession} using this L{X2GoControlSession}
@@ -894,7 +894,7 @@ class X2GoControlSession(paramiko.SSHClient):
 
         if unique_hostkey_aliases is None:
             unique_hostkey_aliases = self.unique_hostkey_aliases
-        # prep the fake hostname with the real hostname, so we trigger the corresponding code path in 
+        # prep the fake hostname with the real hostname, so we trigger the corresponding code path in
         # x2go.checkhosts and either of its missing host key policies
         if unique_hostkey_aliases:
             if port != 22: _fake_hostname = "[%s]:%s" % (hostname, port)
@@ -949,7 +949,7 @@ class X2GoControlSession(paramiko.SSHClient):
             if self.sshproxy_session is not None:
                 self.sshproxy_session.start()
 
-                # divert port to sshproxy_session's local forwarding port (it might have changed due to 
+                # divert port to sshproxy_session's local forwarding port (it might have changed due to
                 # SSH connection errors
                 gevent.sleep(.1)
                 port = self.sshproxy_session.get_local_proxy_port()
@@ -986,7 +986,7 @@ class X2GoControlSession(paramiko.SSHClient):
             try:
                 if password and force_password_auth:
                     self.logger('trying password based SSH authentication with server', loglevel=log.loglevel_DEBUG)
-                    paramiko.SSHClient.connect(self, _hostname, port=port, username=username, password=password, pkey=None, 
+                    paramiko.SSHClient.connect(self, _hostname, port=port, username=username, password=password, pkey=None,
                                                key_filename=None, timeout=timeout, allow_agent=False,
                                                look_for_keys=False)
                 elif (key_filename and os.path.exists(os.path.normpath(key_filename))) or pkey:
@@ -1279,7 +1279,7 @@ class X2GoControlSession(paramiko.SSHClient):
         """\
         Retrieve the menu tree of published applications from the remote X2Go server.
 
-        The C{raw} option lets this method return a C{list} of C{dict} elements. Each C{dict} elements has a 
+        The C{raw} option lets this method return a C{list} of C{dict} elements. Each C{dict} elements has a
         C{desktop} key containing a shortened version of the text output of a .desktop file and an C{icon} key
         which contains the desktop base64-encoded icon data.
 
@@ -1495,7 +1495,7 @@ class X2GoControlSession(paramiko.SSHClient):
 
     def resume(self, session_name=None, session_instance=None, session_list=None, **kwargs):
         """\
-        Resume a running/suspended X2Go session. 
+        Resume a running/suspended X2Go session.
 
         The L{X2GoControlSession.resume()} method accepts any parameter
         that can be passed to any of the C{X2GoTerminalSession*} backend class constructors.
@@ -1594,10 +1594,10 @@ class X2GoControlSession(paramiko.SSHClient):
 
     def list_desktops(self, raw=False, maxwait=20):
         """\
-        List all desktop-like sessions of current user (or of users that have 
+        List all desktop-like sessions of current user (or of users that have
         granted desktop sharing) on the connected server.
 
-        @param raw: if C{True}, the raw output of the server-side X2Go command 
+        @param raw: if C{True}, the raw output of the server-side X2Go command
             C{x2golistdesktops} is returned.
         @type raw: C{bool}
 
@@ -1628,7 +1628,7 @@ class X2GoControlSession(paramiko.SSHClient):
                 _listdesktops = _stdout_read.split('\n')
             except gevent.timeout.Timeout:
                 # if we do not get a reply here after <maxwait> seconds we will raise a time out, we have to
-                # make sure that we catch this at places where we want to ignore timeouts (e.g. in the 
+                # make sure that we catch this at places where we want to ignore timeouts (e.g. in the
                 # desktop list cache)
                 raise x2go_exceptions.X2GoTimeOutException('x2golistdesktop command timed out')
             finally:
@@ -1642,7 +1642,7 @@ class X2GoControlSession(paramiko.SSHClient):
 
         @param session_name: name of a session to query a list of mounts for
         @type session_name: C{str}
-        @param raw: if C{True}, the raw output of the server-side X2Go command 
+        @param raw: if C{True}, the raw output of the server-side X2Go command
             C{x2golistmounts} is returned.
         @type raw: C{bool}
         @param maxwait: stop processing C{x2golistmounts} after C{<maxwait>} seconds
@@ -1686,7 +1686,7 @@ class X2GoControlSession(paramiko.SSHClient):
         """\
         List all sessions of current user on the connected server.
 
-        @param raw: if C{True}, the raw output of the server-side X2Go command 
+        @param raw: if C{True}, the raw output of the server-side X2Go command
             C{x2golistsessions} is returned.
         @type raw: C{bool}
 
diff --git a/x2go/backends/info/plain.py b/x2go/backends/info/plain.py
index bbe71bc..4823a05 100644
--- a/x2go/backends/info/plain.py
+++ b/x2go/backends/info/plain.py
@@ -18,10 +18,10 @@
 # 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA.
 
 """\
-X2GoServerSessionList and X2GoServerSessionInfo classes - data handling for 
+X2GoServerSessionList and X2GoServerSessionInfo classes - data handling for
 X2Go server sessions.
 
-This backend handles X2Go server implementations that respond with session infos 
+This backend handles X2Go server implementations that respond with session infos
 via server-side PLAIN text output.
 
 """
@@ -35,7 +35,7 @@ import re
 class X2GoServerSessionInfo(object):
     """\
     L{X2GoServerSessionInfo} is used to store all information
-    that is retrieved from the connected X2Go server on 
+    that is retrieved from the connected X2Go server on
     C{X2GoTerminalSession.start()} resp. C{X2GoTerminalSession.resume()}.
 
     """
@@ -205,7 +205,7 @@ class X2GoServerSessionInfo(object):
         """\
         Setup a a session info data block, includes parsing of X2Go server's C{x2gostartagent} stdout values.
 
-        @param x2go_output: X2Go server's C{x2gostartagent} command output, each value 
+        @param x2go_output: X2Go server's C{x2gostartagent} command output, each value
             separated by a newline character.
         @type x2go_output: str
         @param username: session user name
@@ -296,7 +296,7 @@ class X2GoServerSessionInfo(object):
 
     def __init__(self):
         """\
-        Class constructor, identical to L{clear()} method. 
+        Class constructor, identical to L{clear()} method.
 
         """
         self.clear()
@@ -311,8 +311,8 @@ class X2GoServerSessionList(object):
     """
     def __init__(self, x2go_output=None, info_backend=X2GoServerSessionInfo):
         """\
-        @param x2go_output: X2Go server's C{x2golistsessions} command output, each 
-            session separated by a newline character. Session values are separated 
+        @param x2go_output: X2Go server's C{x2golistsessions} command output, each
+            session separated by a newline character. Session values are separated
             by Unix Pipe Symbols ('|')
         @type x2go_output: str
         @param info_backend: the session info backend to use
diff --git a/x2go/backends/printing/file.py b/x2go/backends/printing/file.py
index b03cd4d..65b0f0a 100644
--- a/x2go/backends/printing/file.py
+++ b/x2go/backends/printing/file.py
@@ -18,10 +18,10 @@
 # 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA.
 
 """\
-L{X2GoClientPrinting} class is one of Python X2Go's public API classes. 
+L{X2GoClientPrinting} class is one of Python X2Go's public API classes.
 
 Retrieve an instance of this class from your L{X2GoClient} instance.
-Use this class in your Python X2Go based applications to access the »printing« 
+Use this class in your Python X2Go based applications to access the »printing«
 configuration of your X2Go client application.
 
 """
@@ -53,7 +53,7 @@ _print_property_map = {
             'ini_option': 'defaultprinter',
         },
         'print_cmd': {
-            'ini_section': 'print', 
+            'ini_section': 'print',
             'ini_option': 'command',
         },
 }
@@ -76,10 +76,10 @@ class X2GoClientPrinting(inifiles.X2GoIniFile):
 
     def __init__(self, config_files=_X2GO_PRINTING_CONFIGFILES, defaults=_X2GO_CLIENTPRINTING_DEFAULTS, client_instance=None, logger=None, loglevel=log.loglevel_DEFAULT):
         """\
-        @param config_files: a list of configuration files names (e.g. a global filename and a user's home 
+        @param config_files: a list of configuration files names (e.g. a global filename and a user's home
             directory filename)
         @type config_files: C{list}
-        @param defaults: a cascaded Python dicitionary structure with ini file defaults (to override 
+        @param defaults: a cascaded Python dicitionary structure with ini file defaults (to override
             Python X2Go's hard coded defaults in L{defaults}
         @type defaults: C{dict}
         @param logger: you can pass an L{X2GoLogger} object to the
diff --git a/x2go/backends/printing/gconf.py b/x2go/backends/printing/gconf.py
index 69fd7fe..556f33f 100644
--- a/x2go/backends/printing/gconf.py
+++ b/x2go/backends/printing/gconf.py
@@ -18,10 +18,10 @@
 # 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA.
 
 """\
-L{X2GoClientPrinting} class is one of Python X2Go's public API classes. 
+L{X2GoClientPrinting} class is one of Python X2Go's public API classes.
 
 Retrieve an instance of this class from your L{X2GoClient} instance.
-Use this class in your Python X2Go based applications to access the »printing« 
+Use this class in your Python X2Go based applications to access the »printing«
 configuration of your X2Go client application.
 
 """
@@ -55,7 +55,7 @@ class X2GoClientPrinting(object):
 
     def __init__(self, defaults=None, logger=None, loglevel=log.loglevel_DEFAULT):
         """\
-        @param defaults: a cascaded Python dicitionary structure with ini file defaults (to override 
+        @param defaults: a cascaded Python dicitionary structure with ini file defaults (to override
             Python X2Go's hard coded defaults in L{defaults}
         @type defaults: C{dict}
         @param logger: you can pass an L{X2GoLogger} object to the
diff --git a/x2go/backends/printing/winreg.py b/x2go/backends/printing/winreg.py
index 88e80ec..e0dbc66 100644
--- a/x2go/backends/printing/winreg.py
+++ b/x2go/backends/printing/winreg.py
@@ -18,10 +18,10 @@
 # 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA.
 
 """\
-L{X2GoClientPrinting} class is one of Python X2Go's public API classes. 
+L{X2GoClientPrinting} class is one of Python X2Go's public API classes.
 
 Retrieve an instance of this class from your L{X2GoClient} instance.
-Use this class in your Python X2Go based applications to access the »printing« 
+Use this class in your Python X2Go based applications to access the »printing«
 configuration of your X2Go client application.
 
 """
@@ -55,7 +55,7 @@ class X2GoClientPrinting(object):
 
     def __init__(self, defaults=None, logger=None, loglevel=log.loglevel_DEFAULT):
         """\
-        @param defaults: a cascaded Python dicitionary structure with ini file defaults (to override 
+        @param defaults: a cascaded Python dicitionary structure with ini file defaults (to override
             Python X2Go's hard coded defaults in L{defaults}
         @type defaults: C{dict}
         @param logger: you can pass an L{X2GoLogger} object to the
diff --git a/x2go/backends/profiles/base.py b/x2go/backends/profiles/base.py
index 7b34293..4e08034 100644
--- a/x2go/backends/profiles/base.py
+++ b/x2go/backends/profiles/base.py
@@ -20,7 +20,7 @@
 """\
 L{X2GoSessionProfiles} class - managing x2goclient session profiles.
 
-L{X2GoSessionProfiles} is a public API class. Use this class in your Python X2Go based 
+L{X2GoSessionProfiles} is a public API class. Use this class in your Python X2Go based
 applications.
 
 """
diff --git a/x2go/backends/profiles/file.py b/x2go/backends/profiles/file.py
index 0b802ed..65a4542 100644
--- a/x2go/backends/profiles/file.py
+++ b/x2go/backends/profiles/file.py
@@ -20,7 +20,7 @@
 """\
 L{X2GoSessionProfiles} class - managing x2goclient session profiles.
 
-L{X2GoSessionProfiles} is a public API class. Use this class in your Python X2Go based 
+L{X2GoSessionProfiles} is a public API class. Use this class in your Python X2Go based
 applications.
 
 """
diff --git a/x2go/backends/profiles/gconf.py b/x2go/backends/profiles/gconf.py
index 9568c87..4131088 100644
--- a/x2go/backends/profiles/gconf.py
+++ b/x2go/backends/profiles/gconf.py
@@ -20,7 +20,7 @@
 """\
 L{X2GoSessionProfiles} class - managing x2goclient session profiles.
 
-L{X2GoSessionProfiles} is a public API class. Use this class in your Python X2Go based 
+L{X2GoSessionProfiles} is a public API class. Use this class in your Python X2Go based
 applications.
 
 """
diff --git a/x2go/backends/profiles/httpbroker.py b/x2go/backends/profiles/httpbroker.py
index f8f25c0..7925a5d 100644
--- a/x2go/backends/profiles/httpbroker.py
+++ b/x2go/backends/profiles/httpbroker.py
@@ -20,7 +20,7 @@
 """\
 L{X2GoSessionProfiles} class - managing x2goclient session profiles.
 
-L{X2GoSessionProfiles} is a public API class. Use this class in your Python X2Go based 
+L{X2GoSessionProfiles} is a public API class. Use this class in your Python X2Go based
 applications.
 
 """
diff --git a/x2go/backends/profiles/sshbroker.py b/x2go/backends/profiles/sshbroker.py
index d551041..0f30811 100644
--- a/x2go/backends/profiles/sshbroker.py
+++ b/x2go/backends/profiles/sshbroker.py
@@ -20,7 +20,7 @@
 """\
 L{X2GoSessionProfiles} class - managing x2goclient session profiles.
 
-L{X2GoSessionProfiles} is a public API class. Use this class in your Python X2Go based 
+L{X2GoSessionProfiles} is a public API class. Use this class in your Python X2Go based
 applications.
 
 """
diff --git a/x2go/backends/profiles/winreg.py b/x2go/backends/profiles/winreg.py
index 27115e3..3d7dd3b 100644
--- a/x2go/backends/profiles/winreg.py
+++ b/x2go/backends/profiles/winreg.py
@@ -20,7 +20,7 @@
 """\
 L{X2GoSessionProfiles} class - managing x2goclient session profiles.
 
-L{X2GoSessionProfiles} is a public API class. Use this class in your Python X2Go based 
+L{X2GoSessionProfiles} is a public API class. Use this class in your Python X2Go based
 applications.
 
 """
diff --git a/x2go/backends/proxy/base.py b/x2go/backends/proxy/base.py
index 13aca6a..d12ee1f 100644
--- a/x2go/backends/proxy/base.py
+++ b/x2go/backends/proxy/base.py
@@ -51,7 +51,7 @@ class X2GoProxy(threading.Thread):
     """\
     X2GoProxy is an abstract class for X2Go proxy connections.
 
-    This class needs to be inherited from a concrete proxy class. Only 
+    This class needs to be inherited from a concrete proxy class. Only
     currently available proxy class is: L{x2go.backends.proxy.nx3.X2GoProxy}.
 
     """
@@ -68,7 +68,7 @@ class X2GoProxy(threading.Thread):
     fw_tunnel = None
     proxy = None
 
-    def __init__(self, session_info=None, 
+    def __init__(self, session_info=None,
                  ssh_transport=None, session_log="session.log", session_errors="session.err",
                  sessions_rootdir=os.path.join(_LOCAL_HOME, _X2GO_SESSIONS_ROOTDIR),
                  proxy_options={},
@@ -241,7 +241,7 @@ class X2GoProxy(threading.Thread):
 
     def process_proxy_options(self):
         """\
-        Override this method to incorporate elements from C{proxy_options} 
+        Override this method to incorporate elements from C{proxy_options}
         into actual proxy subprocess execution.
 
         This method (if overridden) should (by design) never fail nor raise an exception.
diff --git a/x2go/backends/settings/file.py b/x2go/backends/settings/file.py
index 5124d37..b31fc3a 100644
--- a/x2go/backends/settings/file.py
+++ b/x2go/backends/settings/file.py
@@ -43,7 +43,7 @@ class X2GoClientSettings(inifiles.X2GoIniFile):
     def __init__(self, config_files=_X2GO_SETTINGS_CONFIGFILES, defaults=_X2GO_CLIENTSETTINGS_DEFAULTS, logger=None, loglevel=log.loglevel_DEFAULT):
         """\
         Constructs an L{X2GoClientSettings} instance. This is normally done from within an L{X2GoClient} instance.
-        You can retrieve this L{X2GoClientSettings} instance with the L{X2GoClient.get_client_settings()} 
+        You can retrieve this L{X2GoClientSettings} instance with the L{X2GoClient.get_client_settings()}
         method.
 
         On construction the L{X2GoClientSettings} object is filled with values from the configuration files::
@@ -51,7 +51,7 @@ class X2GoClientSettings(inifiles.X2GoIniFile):
             /etc/x2goclient/settings
             ~/.x2goclient/settings
 
-        The files are read in the specified order and config options of both files are merged. Options 
+        The files are read in the specified order and config options of both files are merged. Options
         set in the user configuration file (C{~/.x2goclient/settings}) override global options set in
         C{/etc/x2goclient/settings}.
 
diff --git a/x2go/backends/settings/gconf.py b/x2go/backends/settings/gconf.py
index 7238c26..9a4b62f 100644
--- a/x2go/backends/settings/gconf.py
+++ b/x2go/backends/settings/gconf.py
@@ -47,7 +47,7 @@ class X2GoClientSettings(object):
     def __init__(self, defaults=_X2GO_CLIENTSETTINGS_DEFAULTS, logger=None, loglevel=log.loglevel_DEFAULT):
         """\
         Constructs an L{X2GoClientSettings} instance. This is normally done from within an L{X2GoClient} instance.
-        You can retrieve this L{X2GoClientSettings} instance with the L{X2GoClient.get_client_settings()} 
+        You can retrieve this L{X2GoClientSettings} instance with the L{X2GoClient.get_client_settings()}
         method.
 
         On construction the L{X2GoClientSettings} object is filled with values as found in GConf::
diff --git a/x2go/backends/settings/winreg.py b/x2go/backends/settings/winreg.py
index 16f04c3..109a49a 100644
--- a/x2go/backends/settings/winreg.py
+++ b/x2go/backends/settings/winreg.py
@@ -48,7 +48,7 @@ class X2GoClientSettings(inifiles.X2GoIniFile):
     def __init__(self, defaults=_X2GO_CLIENTSETTINGS_DEFAULTS, logger=None, loglevel=log.loglevel_DEFAULT):
         """\
         Constructs an L{X2GoClientSettings} instance. This is normally done from within an L{X2GoClient} instance.
-        You can retrieve this L{X2GoClientSettings} instance with the L{X2GoClient.get_client_settings()} 
+        You can retrieve this L{X2GoClientSettings} instance with the L{X2GoClient.get_client_settings()}
         method.
 
         On construction the L{X2GoClientSettings} object is filled with values from the Windows registry::
diff --git a/x2go/backends/terminal/plain.py b/x2go/backends/terminal/plain.py
index d38b39d..786ad8d 100644
--- a/x2go/backends/terminal/plain.py
+++ b/x2go/backends/terminal/plain.py
@@ -20,7 +20,7 @@
 """\
 X2GoTerminalSession class - core functions for handling your individual X2Go sessions.
 
-This backend handles X2Go server implementations that respond with session infos 
+This backend handles X2Go server implementations that respond with session infos
 via server-side PLAIN text output.
 
 """
@@ -127,8 +127,8 @@ class X2GoSessionParams(object):
         Rewrite the X2Go session type, so that the X2Go server
         can understand it (C{desktop} -> C{D}, etc.).
 
-        Also if the object's C{command} property is a known window 
-        manager, the session type will be set to 'D' 
+        Also if the object's C{command} property is a known window
+        manager, the session type will be set to 'D'
         (i.e. desktop).
 
         @return: 'D' if session should probably a desktop session,
@@ -171,7 +171,7 @@ class X2GoSessionParams(object):
         the passed on dictionary.
 
         @param properties_to_be_updated: a dictionary with L{X2GoSessionParams}
-            property names as keys und their values to be update in 
+            property names as keys und their values to be update in
             L{X2GoSessionParams} object.
         @type properties_to_be_updated: C{dict}
 
@@ -185,16 +185,16 @@ class X2GoTerminalSession(object):
     """\
     Class for managing X2Go terminal sessions on a remote X2Go server via Paramiko/SSH.
 
-    With the L{x2go.backends.terminal.plain.X2GoTerminalSession} class you can start new X2Go sessions, resume suspended 
-    sessions or suspend resp. terminate currently running sessions on a 
+    With the L{x2go.backends.terminal.plain.X2GoTerminalSession} class you can start new X2Go sessions, resume suspended
+    sessions or suspend resp. terminate currently running sessions on a
     connected X2Go server.
 
     An L{x2go.backends.terminal.plain.X2GoTerminalSession} object uses two main data structure classes:
 
-        - L{X2GoSessionParams}: stores all parameters that have been passed to the 
+        - L{X2GoSessionParams}: stores all parameters that have been passed to the
         constructor method.
 
-        - C{X2GoServerSessionInfo*} backend class: when starting or resuming a session, an object of this class 
+        - C{X2GoServerSessionInfo*} backend class: when starting or resuming a session, an object of this class
         will be used to store all information retrieved from the X2Go server.
 
     The terminal session instance works closely together (i.e. depends on) a connected control
@@ -240,8 +240,8 @@ class X2GoTerminalSession(object):
         @type pack: C{str}
         @param dpi: dots-per-inch value for the session screen (has an impact on the font size on screen)
         @type dpi: C{str}
-        @param cache_type: a dummy parameter that is passed to the L{x2go.backends.proxy.base.X2GoProxy}. In NX Proxy 
-            (class C{X2GoProxyNX3}) this originally is the session name. With X2Go it 
+        @param cache_type: a dummy parameter that is passed to the L{x2go.backends.proxy.base.X2GoProxy}. In NX Proxy
+            (class C{X2GoProxyNX3}) this originally is the session name. With X2Go it
             defines the name of the NX cache directory. Best is to leave it untouched.
         @type cache_type: C{str}
         @param kbtype: keyboard type, e.g. C{pc105/us} (default), C{pc105/de}, ...
@@ -255,7 +255,7 @@ class X2GoTerminalSession(object):
         @type clipboard: C{str}
         @param session_type: either C{desktop}, C{application} (rootless session) or C{shared}
         @type session_type: C{str}
-        @param snd_system: sound system to be used on server (C{none}, C{pulse} (default), 
+        @param snd_system: sound system to be used on server (C{none}, C{pulse} (default),
             C{arts} (obsolete) or C{esd})
         @type snd_system: C{str}
         @param snd_port: local sound port for network capable audio system
@@ -554,9 +554,9 @@ class X2GoTerminalSession(object):
                     self.control_session._x2go_sftp_put(local_path=cookie_filepath, remote_path='%s/.pulse-cookie' % self.session_info.remote_container)
 
                     # start reverse SSH tunnel for pulse stream
-                    _tunnel = rforward.X2GoRevFwTunnel(server_port=self.session_info.snd_port, 
-                                                       remote_host='127.0.0.1', 
-                                                       remote_port=self.snd_port, 
+                    _tunnel = rforward.X2GoRevFwTunnel(server_port=self.session_info.snd_port,
+                                                       remote_host='127.0.0.1',
+                                                       remote_port=self.snd_port,
                                                        ssh_transport=self.control_session.get_transport(),
                                                        session_instance=self.session_instance,
                                                        logger=self.logger
@@ -579,9 +579,9 @@ class X2GoTerminalSession(object):
                 self.control_session._x2go_sftp_put(local_path='%s/.esd_auth' % _LOCAL_HOME, remote_path='%s/.esd_auth' % self.control_session._x2go_remote_home)
 
                 # start reverse SSH tunnel for pulse stream
-                _tunnel = rforward.X2GoRevFwTunnel(server_port=self.session_info.snd_port, 
-                                                   remote_host='127.0.0.1', 
-                                                   remote_port=self.snd_port, 
+                _tunnel = rforward.X2GoRevFwTunnel(server_port=self.session_info.snd_port,
+                                                   remote_host='127.0.0.1',
+                                                   remote_port=self.snd_port,
                                                    ssh_transport=self.control_session.get_transport(),
                                                    session_instance=self.session_instance,
                                                    logger=self.logger
@@ -670,7 +670,7 @@ class X2GoTerminalSession(object):
         self.print_queue = printqueue.X2GoPrintQueue(profile_name=self.profile_name,
                                                      session_name=self.session_info.name,
                                                      spool_dir=spool_dir,
-                                                     print_action=self.print_action, 
+                                                     print_action=self.print_action,
                                                      print_action_args=self.print_action_args,
                                                      client_instance=self.client_instance,
                                                      printing_backend=self.printing_backend,
@@ -823,10 +823,10 @@ class X2GoTerminalSession(object):
         """\
         Share a local folder with the X2Go session.
 
-        @param local_path: the full path to an existing folder on the local 
+        @param local_path: the full path to an existing folder on the local
             file system
         @type local_path: C{str}
-        @param folder_type: one of 'disk' (a folder on your local hard drive), 'rm' (removeable device), 
+        @param folder_type: one of 'disk' (a folder on your local hard drive), 'rm' (removeable device),
             'cdrom' (CD/DVD Rom) or 'spool' (for X2Go print spooling)
         @type folder_type: C{str}
 
@@ -918,7 +918,7 @@ class X2GoTerminalSession(object):
                              '\'%s\'' % _CURRENT_LOCAL_USER,
                              _x2go_key_fname,
                              '%s__PRINT_SPOOL___REVERSESSH_PORT__%s; ' % (local_path, self.session_info.sshfs_port),
-                             'rm -f %s %s.ident' % (_x2go_key_fname, _x2go_key_fname), 
+                             'rm -f %s %s.ident' % (_x2go_key_fname, _x2go_key_fname),
                            ]
 
             elif folder_type == 'mimebox':
@@ -930,7 +930,7 @@ class X2GoTerminalSession(object):
                              '\'%s\'' % _CURRENT_LOCAL_USER,
                              _x2go_key_fname,
                              '%s__MIMEBOX_SPOOL___REVERSESSH_PORT__%s; ' % (local_path, self.session_info.sshfs_port),
-                             'rm -f %s %s.ident' % (_x2go_key_fname, _x2go_key_fname), 
+                             'rm -f %s %s.ident' % (_x2go_key_fname, _x2go_key_fname),
                            ]
 
             (stdin, stdout, stderr) = self.control_session._x2go_exec_command(cmd_line)
@@ -961,7 +961,7 @@ class X2GoTerminalSession(object):
         self.logger('unsharing all local folders from session %s' % self.session_info, log.loglevel_INFO)
 
         cmd_line = [ 'export HOSTNAME &&',
-                     'x2goumount-session', 
+                     'x2goumount-session',
                      self.session_info.name,
                    ]
 
@@ -984,7 +984,7 @@ class X2GoTerminalSession(object):
         self.logger('unsharing local folder from session %s' % self.session_info, log.loglevel_INFO)
 
         cmd_line = [ 'export HOSTNAME &&',
-                     'x2goumount-session', 
+                     'x2goumount-session',
                      self.session_info.name,
                      "'%s'" % local_path,
                    ]
@@ -1241,7 +1241,7 @@ class X2GoTerminalSession(object):
         """\
         Run a command in this session.
 
-        After L{x2go.backends.terminal.plain.X2GoTerminalSession.start()} has been called 
+        After L{x2go.backends.terminal.plain.X2GoTerminalSession.start()} has been called
         one or more commands can be executed with L{x2go.backends.terminal.plain.X2GoTerminalSession.run_command()}
         within the current X2Go session.
 
@@ -1280,10 +1280,10 @@ class X2GoTerminalSession(object):
         if '/' in cmd:
             cmd = os.path.basename(cmd)
 
-        cmd_line = [ "setsid x2goruncommand", 
+        cmd_line = [ "setsid x2goruncommand",
                      str(self.session_info.display),
                      str(self.session_info.agent_pid),
-                     str(self.session_info.name), 
+                     str(self.session_info.name),
                      str(self.session_info.snd_port),
                      _rewrite_blanks(_rewrite_cmd(cmd, params=self.params)),
                      str(self.params.snd_system),
@@ -1437,7 +1437,7 @@ class X2GoTerminalSession(object):
         """\
         X2Go session connected?
 
-        @return: Returns C{True} if this X2Go session's Paramiko/SSH transport is 
+        @return: Returns C{True} if this X2Go session's Paramiko/SSH transport is
             connected/authenticated, C{False} else.
         @rtype: C{bool}
 
@@ -1531,7 +1531,7 @@ class X2GoTerminalSession(object):
                                                                )
 
         # set up SSH tunnel for X11 graphical elements
-        self.proxy = self.proxy_backend(session_info=self.session_info, 
+        self.proxy = self.proxy_backend(session_info=self.session_info,
                                         ssh_transport=self.control_session.get_transport(),
                                         sessions_rootdir=self.sessions_rootdir,
                                         session_instance=self.session_instance,
@@ -1557,7 +1557,7 @@ class X2GoTerminalSession(object):
 
     def resume(self):
         """\
-        Resume a running/suspended X2Go session. 
+        Resume a running/suspended X2Go session.
 
         @return: C{True} if the session could successfully be resumed
         @rtype: C{bool}
@@ -1620,11 +1620,11 @@ class X2GoTerminalSession(object):
         # local path may be a Windows path, so we use the path separator of the local system
         self.session_info.local_container = os.path.join(self.params.rootdir, 'S-%s' % self.session_info.name)
         # remote path is always a UniX path...
-        self.session_info.remote_container = '%s/.x2go/C-%s' % (self.control_session._x2go_remote_home, 
+        self.session_info.remote_container = '%s/.x2go/C-%s' % (self.control_session._x2go_remote_home,
                                                                 self.session_info.name,
                                                                )
-        self.proxy = self.proxy_backend(session_info=self.session_info, 
-                                        ssh_transport=self.control_session.get_transport(), 
+        self.proxy = self.proxy_backend(session_info=self.session_info,
+                                        ssh_transport=self.control_session.get_transport(),
                                         sessions_rootdir=self.sessions_rootdir,
                                         session_instance=self.session_instance,
                                         proxy_options=self.proxy_options,
diff --git a/x2go/cache.py b/x2go/cache.py
index f5c79b6..6c8c6ce 100644
--- a/x2go/cache.py
+++ b/x2go/cache.py
@@ -231,7 +231,7 @@ class X2GoListSessionsCache(object):
     def list_desktops(self, session_uuid):
         """\
         Retrieve a list of available desktop sessions from the current cache content of
-        L{X2GoListSessionsCache} for a given L{X2GoSession} instance (specified by its 
+        L{X2GoListSessionsCache} for a given L{X2GoSession} instance (specified by its
         unique session UUID).
 
         @param session_uuid: unique identifier of session to query cache for
@@ -250,7 +250,7 @@ class X2GoListSessionsCache(object):
     def list_mounts(self, session_uuid):
         """\
         Retrieve a list of mounted client shares from the current cache content of
-        L{X2GoListSessionsCache} for a given L{X2GoSession} instance (specified by its 
+        L{X2GoListSessionsCache} for a given L{X2GoSession} instance (specified by its
         unique session UUID).
 
         @param session_uuid: unique identifier of session to query cache for
diff --git a/x2go/checkhosts.py b/x2go/checkhosts.py
index 58bc29f..599ce20 100644
--- a/x2go/checkhosts.py
+++ b/x2go/checkhosts.py
@@ -174,7 +174,7 @@ class X2GoInteractiveAddPolicy(X2GoMissingHostKeyPolicy):
     in your application---will then try to call the L{X2GoClient.HOOK_check_host_dialog()},
     which then will return C{True} by default if not customized in your application.
 
-    To accept host key checks, make sure to either customize the 
+    To accept host key checks, make sure to either customize the
     L{X2GoClient.HOOK_check_host_dialog()} method or the L{X2GoSession.HOOK_check_host_dialog()}
     method and hook some interactive user dialog to either of them.
 
@@ -188,7 +188,7 @@ class X2GoInteractiveAddPolicy(X2GoMissingHostKeyPolicy):
         in your application---will then try to call the L{X2GoClient.HOOK_check_host_dialog()},
         which then will return C{True} by default if not customized in your application.
 
-        To accept host key checks, make sure to either customize the 
+        To accept host key checks, make sure to either customize the
         L{X2GoClient.HOOK_check_host_dialog()} method or the L{X2GoSession.HOOK_check_host_dialog()}
         method and hook some interactive user dialog to either of them.
 
diff --git a/x2go/cleanup.py b/x2go/cleanup.py
index c469df5..7ba17d0 100644
--- a/x2go/cleanup.py
+++ b/x2go/cleanup.py
@@ -37,8 +37,8 @@ if _X2GOCLIENT_OS == 'Windows':
 
 def x2go_cleanup(e=None, threads=None):
     """\
-    For every Python X2Go application you write, please make sure to 
-    capture the C{KeyboardInterrupt} and the C{SystemExit} exceptions and 
+    For every Python X2Go application you write, please make sure to
+    capture the C{KeyboardInterrupt} and the C{SystemExit} exceptions and
     call this function if either of the exceptions occurs.
 
     Example::
@@ -54,8 +54,8 @@ def x2go_cleanup(e=None, threads=None):
         except (KeyboardInterrupt, SystemExit):
             x2go.x2go_cleanup()
 
-    @param e: if L{x2go_cleanup} got called as you caught an exception in your code this can be the 
-        C{Exception} that we will process at the end of the clean-up (or if clean-up failed or was not 
+    @param e: if L{x2go_cleanup} got called as you caught an exception in your code this can be the
+        C{Exception} that we will process at the end of the clean-up (or if clean-up failed or was not
         appropriate)
     @type e: C{exception}
     @param threads: a list of threads to clean up
diff --git a/x2go/client.py b/x2go/client.py
index a58c1a6..925d230 100644
--- a/x2go/client.py
+++ b/x2go/client.py
@@ -19,7 +19,7 @@
 # 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA.
 
 """\
-L{X2GoClient} is a public API class. Use this class in your Python X2Go based 
+L{X2GoClient} is a public API class. Use this class in your Python X2Go based
 applications.  Use it as a parent class for your own object oriented L{X2GoClient}'ish
 class implementation.
 
@@ -43,7 +43,7 @@ Supported Features
 
 Non-Profile Sessions
 ====================
-    A new non-profile based X2Go session within an L{X2GoClient} instance is setup in the 
+    A new non-profile based X2Go session within an L{X2GoClient} instance is setup in the
     following way:
 
         - import the Python X2Go module and call the session constructor::
@@ -60,7 +60,7 @@ Non-Profile Sessions
 
             x2go_client.connect_session(x2go_sess_uuid)
 
-        - via the connected X2Go client session you can start or resume a remote 
+        - via the connected X2Go client session you can start or resume a remote
           X-windows session on an X2Go server now::
 
             x2go_client.start_session(x2go_sess_uuid)
@@ -76,7 +76,7 @@ Non-Profile Sessions
 
 Profiled Sessions
 =================
-    A new profile based X2Go session (i.e. using pre-defined session profiles) within an 
+    A new profile based X2Go session (i.e. using pre-defined session profiles) within an
     L{X2GoClient} instance is setup in a much easier way:
 
         - import the Python X2Go module and call the session constructor::
@@ -354,7 +354,7 @@ class X2GoClient(object):
                                                     auto_update_listdesktops_cache=auto_update_listdesktops_cache & use_listsessions_cache,
                                                     auto_update_listmounts_cache=auto_update_listmounts_cache & use_listsessions_cache,
                                                     auto_update_sessionregistry=auto_update_sessionregistry,
-                                                    auto_register_sessions=auto_register_sessions, 
+                                                    auto_register_sessions=auto_register_sessions,
                                                     no_auto_reg_pubapp_sessions=no_auto_reg_pubapp_sessions,
                                                     refresh_interval=refresh_interval,
                                                     logger=self.logger
@@ -555,7 +555,7 @@ class X2GoClient(object):
 
         """
         self.logger('HOOK_on_control_session_death: the control session of profile %s has died unexpectedly' % profile_name, loglevel=log.loglevel_WARN)
- 
+
     def HOOK_on_failing_SFTP_client(self, profile_name, session_name):
         """\
         HOOK method: called SFTP client support is unavailable for the session.
@@ -828,16 +828,16 @@ class X2GoClient(object):
 
     def register_all_session_profiles(self, return_objects=False):
         """\
-        Register all session profiles found in the C{sessions} configuration node 
+        Register all session profiles found in the C{sessions} configuration node
         as potential X2Go sessions.
 
         @param return_objects: if set to C{True} this methods returns a list of L{X2GoSession}
-            instances, otherwise a list of session UUIDs representing the corresponding 
+            instances, otherwise a list of session UUIDs representing the corresponding
             registered sessions is returned
         @type return_objects: C{bool}
 
-        @return: a Python dictionary containing one registered session for each available session profile 
-            configuration, whereas the profile names are used as dictionary keys and L{X2GoSession} 
+        @return: a Python dictionary containing one registered session for each available session profile
+            configuration, whereas the profile names are used as dictionary keys and L{X2GoSession}
             instances as their values
         @rtype: C{list}
 
@@ -850,8 +850,8 @@ class X2GoClient(object):
     __register_all_session_profiles = register_all_session_profiles
 
     def register_session(self, server=None, profile_id=None, profile_name=None, session_name=None,
-                         allow_printing=False, 
-                         allow_share_local_folders=False, share_local_folders=[], 
+                         allow_printing=False,
+                         allow_share_local_folders=False, share_local_folders=[],
                          allow_mimebox=False, mimebox_extensions=[], mimebox_action='OPEN',
                          add_to_known_hosts=False, known_hosts=None, forward_sshagent=False,
                          proxy_options={},
@@ -877,7 +877,7 @@ class X2GoClient(object):
         as the L{X2GoSession} constructor itself. For a complete set of session options refer
         there.
 
-        Alternatively, you can also pass a profile name or a profile id 
+        Alternatively, you can also pass a profile name or a profile id
         to this method. If you do this, Python X2Go tries to find the specified session
         in the C{sessions} configuration node and then derives the necessary session parameters
         from the session profile configuration. Additional L{X2GoSession} parameters can
@@ -886,7 +886,7 @@ class X2GoClient(object):
 
         @param server: hostname of the remote X2Go server
         @type server: C{str}
-        @param profile_id: id (config section name) of a session profile to load 
+        @param profile_id: id (config section name) of a session profile to load
             from your session config
         @type profile_id: C{str}
         @param profile_name: name of a session profile to load from your session
@@ -915,8 +915,8 @@ class X2GoClient(object):
         @param proxy_options: a set of very C{X2GoProxy*} backend specific options; any option that is not known
             to the C{X2GoProxy*} backend will simply be ignored
         @type proxy_options: C{dict}
-        @param return_object: normally this method returns a unique session UUID. If 
-            C{return_object} is set to C{True} an X2GoSession object will be returned 
+        @param return_object: normally this method returns a unique session UUID. If
+            C{return_object} is set to C{True} an X2GoSession object will be returned
             instead
         @type return_object: C{bool}
         @param kwargs: any option that is also valid for the L{X2GoSession} constructor
@@ -1079,8 +1079,8 @@ class X2GoClient(object):
         @param session_uuid: the X2Go session's UUID registry hash
         @type session_uuid: C{str}
 
-        @return: the host an X2Go session is connected to 
-            (as an C{(addr,port)} tuple) 
+        @return: the host an X2Go session is connected to
+            (as an C{(addr,port)} tuple)
         @rtype: tuple
 
         """
@@ -1090,13 +1090,13 @@ class X2GoClient(object):
     def get_session_server_hostname(self, session_uuid):
         """\
         Retrieve the server hostname as provided by the calling
-        application (e.g. like it has been specified in the session 
+        application (e.g. like it has been specified in the session
         profile).
 
         @param session_uuid: the X2Go session's UUID registry hash
         @type session_uuid: C{str}
 
-        @return: the hostname for the queried X2Go session as specified 
+        @return: the hostname for the queried X2Go session as specified
             by the calling application
         @rtype: str
 
@@ -1326,7 +1326,7 @@ class X2GoClient(object):
         @type session_uuid: C{str}
         @param username: user name to be used for session authentication
         @type username: C{str}
-        @param password: the user's password for the X2Go server that is going to be 
+        @param password: the user's password for the X2Go server that is going to be
             connected to
         @type password: C{str}
         @param passphrase: a passphrase to use for unlocking
@@ -1341,8 +1341,8 @@ class X2GoClient(object):
             a private key needed for the SSH proxy host in case the sshproxy_password is already needed for
             two-factor authentication
         @type sshproxy_passphrase: C{str}
-        @param add_to_known_hosts: non-Paramiko option, if C{True} paramiko.AutoAddPolicy() 
-            is used as missing-host-key-policy. If set to C{False} L{checkhosts.X2GoInteractiveAddPolicy()} 
+        @param add_to_known_hosts: non-Paramiko option, if C{True} paramiko.AutoAddPolicy()
+            is used as missing-host-key-policy. If set to C{False} L{checkhosts.X2GoInteractiveAddPolicy()}
             is used
         @type add_to_known_hosts: C{bool}
         @param force_password_auth: disable SSH pub/priv key authentication mechanisms
@@ -1393,26 +1393,26 @@ class X2GoClient(object):
         Currently, there are five different print actions available, each defined as an individual
         print action class:
 
-            - B{PDFVIEW} (L{X2GoPrintActionPDFVIEW}): view an incoming spool job (a PDF file) 
+            - B{PDFVIEW} (L{X2GoPrintActionPDFVIEW}): view an incoming spool job (a PDF file)
               locally in a PDF viewer
-            - B{PDFSAVE} (L{X2GoPrintActionPDFSAVE}): save an incoming spool job (a PDF file) 
+            - B{PDFSAVE} (L{X2GoPrintActionPDFSAVE}): save an incoming spool job (a PDF file)
               under a nice name in a designated folder
             - B{PRINT} (L{X2GoPrintActionPRINT}): really print the incoming spool job on a real printing device
-            - B{PRINTCMD} L{X2GoPrintActionPRINTCMD}: on each incoming spool job execute an 
-              external command that lets the client user handle the further processing of the 
+            - B{PRINTCMD} L{X2GoPrintActionPRINTCMD}: on each incoming spool job execute an
+              external command that lets the client user handle the further processing of the
               print job (PDF) file
-            - B{DIALOG} (L{X2GoPrintActionDIALOG}): on each incoming spool job this print action 
+            - B{DIALOG} (L{X2GoPrintActionDIALOG}): on each incoming spool job this print action
               will call L{X2GoClient.HOOK_open_print_dialog()}
 
         Each of the print action classes accepts different print action arguments. For detail
-        information on these print action arguments please refer to the constructor methods of 
+        information on these print action arguments please refer to the constructor methods of
         each class individually.
 
         @param session_uuid: the X2Go session's UUID registry hash
         @type session_uuid: C{str}
         @param print_action: one of the named above print actions, either as string or class instance
         @type print_action: C{str} or C{instance}
-        @param kwargs: additional information for the given print action (print 
+        @param kwargs: additional information for the given print action (print
             action arguments), for possible print action arguments and their values see each individual
             print action class
         @type kwargs: C{dict}
@@ -1472,11 +1472,11 @@ class X2GoClient(object):
     def start_session(self, session_uuid, **sessionopts):
         """\
         Start a new X2Go session on the remote X2Go server. This method
-        will open---if everything has been successful till here---the X2Go 
+        will open---if everything has been successful till here---the X2Go
         session window.
 
         Before calling this method you have to register your desired session
-        with L{register_session} (initialization of session parameters) and 
+        with L{register_session} (initialization of session parameters) and
         connect to it with L{connect_session} (authentication).
 
         @param session_uuid: the X2Go session's UUID registry hash
@@ -1592,14 +1592,14 @@ class X2GoClient(object):
 
         Alternatively, you can suspend a non-associated X2Go session:
         To do this you simply neeed to register (with the L{register_session}
-        method) an X2Go session on the to-be-addressed remote X2Go server and 
-        connect (L{connect_session}) to it. Then call this method with 
+        method) an X2Go session on the to-be-addressed remote X2Go server and
+        connect (L{connect_session}) to it. Then call this method with
         the freshly obtained C{session_uuid} and the remote X2Go session
         name (as shown e.g. in x2golistsessions output).
 
         @param session_uuid: the X2Go session's UUID registry hash
         @type session_uuid: C{str}
-        @param session_name: the server-side name of an X2Go session (for 
+        @param session_name: the server-side name of an X2Go session (for
             non-associated session suspend)
         @type session_name: C{str}
         @param match_profile_name: only suspend a session if this profile name matches
@@ -1637,7 +1637,7 @@ class X2GoClient(object):
         """\
         Terminate an X2Go session.
 
-        Normally you will use this method to terminate a registered session that you 
+        Normally you will use this method to terminate a registered session that you
         have formerly started/resumed from within your recent
         L{X2GoClient} instance. For this you simply call this method
         using the session's C{session_uuid}, leave the C{session_name}
@@ -1645,8 +1645,8 @@ class X2GoClient(object):
 
         Alternatively, you can terminate a non-associated X2Go session:
         To do this you simply neeed to register (L{register_session})
-        an X2Go session on the to-be-addressed remote X2Go server and 
-        connect (L{connect_session}) to it. Then call this method with 
+        an X2Go session on the to-be-addressed remote X2Go server and
+        connect (L{connect_session}) to it. Then call this method with
         the freshly obtained C{session_uuid} and the remote X2Go session
         name (as shown in e.g. x2golistsessions output).
 
@@ -1693,7 +1693,7 @@ class X2GoClient(object):
         For profile based sessions this will be the profile name as used
         in x2goclient's »sessions« configuration file.
 
-        For non-profile based session this will either be a C{profile_name} that 
+        For non-profile based session this will either be a C{profile_name} that
         was passed to L{register_session} or it will be the application that
         instantiated this L{X2GoClient} instance.
 
@@ -1791,7 +1791,7 @@ class X2GoClient(object):
 
     def is_session_running(self, session_uuid, session_name=None):
         """\
-        Test if the X2Go session registered as C{session_uuid} is up 
+        Test if the X2Go session registered as C{session_uuid} is up
         and running.
 
         @param session_uuid: the X2Go session's UUID registry hash
@@ -1811,7 +1811,7 @@ class X2GoClient(object):
 
     def is_session_suspended(self, session_uuid, session_name=None):
         """\
-        Test if the X2Go session registered as C{session_uuid} 
+        Test if the X2Go session registered as C{session_uuid}
         is in suspended state.
 
         @param session_uuid: the X2Go session's UUID registry hash
@@ -1831,7 +1831,7 @@ class X2GoClient(object):
 
     def has_session_terminated(self, session_uuid, session_name=None):
         """\
-        Test if the X2Go session registered as C{session_uuid} 
+        Test if the X2Go session registered as C{session_uuid}
         has terminated.
 
         @param session_uuid: the X2Go session's UUID registry hash
@@ -1882,7 +1882,7 @@ class X2GoClient(object):
         Share a local folder with the X2Go session registered as C{session_uuid}.
 
         When calling this method the given client-side folder is mounted
-        on the X2Go server (via sshfs) and (if in desktop mode) provided as a 
+        on the X2Go server (via sshfs) and (if in desktop mode) provided as a
         desktop icon on your remote session's desktop.
 
         @param session_uuid: the X2Go session's UUID registry hash
@@ -1921,7 +1921,7 @@ class X2GoClient(object):
         Unshare all local folders mounted in X2Go session registered as
         C{session_uuid}.
 
-        When calling this method all client-side mounted folders on the X2Go 
+        When calling this method all client-side mounted folders on the X2Go
         server (via sshfs) for session with ID <session_uuid> will get
         unmounted.
 
@@ -1952,7 +1952,7 @@ class X2GoClient(object):
         Unshare local folder that is mounted in the X2Go session registered as
         C{session_uuid}.
 
-        When calling this method the given client-side mounted folder on the X2Go 
+        When calling this method the given client-side mounted folder on the X2Go
         server (via sshfs) for session with ID <session_uuid> will get
         unmounted.
 
@@ -2042,7 +2042,7 @@ class X2GoClient(object):
 
     ###
     ### Provide access to the X2GoClient's session registry
-    ### 
+    ###
 
     def client_connected_sessions(self, return_objects=False, return_profile_names=False, return_profile_ids=False, return_session_names=False):
         """\
@@ -2408,7 +2408,7 @@ class X2GoClient(object):
 
     ###
     ### Provide access to the X2Go server's sessions DB
-    ### 
+    ###
 
     def server_is_alive(self, session_uuid):
         """\
@@ -2567,8 +2567,8 @@ class X2GoClient(object):
         Find running X2Go sessions that have previously been started by the
         connected user on the remote X2Go server and terminate them.
 
-        Before calling this method you have to setup a pro forma remote X2Go session 
-        with L{X2GoClient.register_session()} (even if you do not intend to open 
+        Before calling this method you have to setup a pro forma remote X2Go session
+        with L{X2GoClient.register_session()} (even if you do not intend to open
         a real X2Go session window on the remote server) and connect to this session (with
         L{X2GoClient.connect_session()}.
 
@@ -2599,8 +2599,8 @@ class X2GoClient(object):
         retrieve a list of running or suspended X2Go sessions from the
         connected X2Go server (for the authenticated user).
 
-        Before calling this method you have to setup a pro forma remote X2Go session 
-        with L{X2GoClient.register_session()} (even if you do not intend to open 
+        Before calling this method you have to setup a pro forma remote X2Go session
+        with L{X2GoClient.register_session()} (even if you do not intend to open
         a real X2Go session window on the remote server) and connect to this session (with
         L{X2GoClient.connect_session()}.
 
@@ -2671,7 +2671,7 @@ class X2GoClient(object):
         return _session_list
     __list_sessions = list_sessions
 
-    def list_desktops(self, session_uuid=None, 
+    def list_desktops(self, session_uuid=None,
                       profile_name=None, profile_id=None,
                       no_cache=False, refresh_cache=False,
                       exclude_session_types=[],
@@ -2823,7 +2823,7 @@ class X2GoClient(object):
 
     ###
     ### Provide access to config file class objects
-    ### 
+    ###
 
     def get_profiles(self):
         """\
@@ -2883,7 +2883,7 @@ class X2GoClient(object):
 
     ###
     ### Session profile oriented methods
-    ### 
+    ###
 
     def get_profile_config(self, profile_id_or_name, parameter=None):
         """\
@@ -3070,13 +3070,13 @@ class X2GoClient(object):
         @type profile_name: C{str}
         @param cache_types: specify what cache type to update (available: C{sessions}, C{desktops}, C{mounts})
         @type cache_types: C{tuple} or C{list}
-        @param update_sessions: instead of giving a list of cache types, plainly say C{True} here, if 
+        @param update_sessions: instead of giving a list of cache types, plainly say C{True} here, if
             you want to update sessions in the session list cache.
         @type update_sessions: C{bool}
-        @param update_desktops: instead of giving a list of cache types, plainly say C{True} here, if 
+        @param update_desktops: instead of giving a list of cache types, plainly say C{True} here, if
             you want to update available desktops in the desktop list cache.
         @type update_desktops: C{bool}
-        @param update_mounts: instead of giving a list of cache types, plainly say C{True} here, if 
+        @param update_mounts: instead of giving a list of cache types, plainly say C{True} here, if
             you want to update mounted shares in the mount list cache.
         @type update_mounts: C{bool}
 
@@ -3102,13 +3102,13 @@ class X2GoClient(object):
         @type session_uuid: C{str}
         @param cache_types: specify what cache type to update (available: C{sessions}, C{desktops}, C{mounts})
         @type cache_types: C{tuple} or C{list}
-        @param update_sessions: instead of giving a list of cache types, plainly say C{True} here, if 
+        @param update_sessions: instead of giving a list of cache types, plainly say C{True} here, if
             you want to update sessions in the session list cache.
         @type update_sessions: C{bool}
-        @param update_desktops: instead of giving a list of cache types, plainly say C{True} here, if 
+        @param update_desktops: instead of giving a list of cache types, plainly say C{True} here, if
             you want to update available desktops in the desktop list cache.
         @type update_desktops: C{bool}
-        @param update_mounts: instead of giving a list of cache types, plainly say C{True} here, if 
+        @param update_mounts: instead of giving a list of cache types, plainly say C{True} here, if
             you want to update mounted shares in the mount list cache.
         @type update_mounts: C{bool}
 
@@ -3128,13 +3128,13 @@ class X2GoClient(object):
 
         @param cache_types: specify what cache type to update (available: C{sessions}, C{desktops}, C{mounts})
         @type cache_types: C{tuple} or C{list}
-        @param update_sessions: instead of giving a list of cache types, plainly say C{True} here, if 
+        @param update_sessions: instead of giving a list of cache types, plainly say C{True} here, if
             you want to update sessions in the session list cache.
         @type update_sessions: C{bool}
-        @param update_desktops: instead of giving a list of cache types, plainly say C{True} here, if 
+        @param update_desktops: instead of giving a list of cache types, plainly say C{True} here, if
             you want to update available desktops in the desktop list cache.
         @type update_desktops: C{bool}
-        @param update_mounts: instead of giving a list of cache types, plainly say C{True} here, if 
+        @param update_mounts: instead of giving a list of cache types, plainly say C{True} here, if
             you want to update mounted shares in the mount list cache.
         @type update_mounts: C{bool}
 
@@ -3183,7 +3183,7 @@ class X2GoClient(object):
 
     def register_available_server_sessions_by_session_uuid(self, session_uuid, skip_pubapp_sessions=False):
         """\
-        Register available sessions that are found on the X2Go server that the L{X2GoSession} instance 
+        Register available sessions that are found on the X2Go server that the L{X2GoSession} instance
         with session identifier <session_uuid> is connected to.
 
         @param session_uuid: the X2Go session's UUID registry hash
diff --git a/x2go/defaults.py b/x2go/defaults.py
index c1ad125..9f71813 100644
--- a/x2go/defaults.py
+++ b/x2go/defaults.py
@@ -52,7 +52,7 @@ X2GO_SSH_ROOTDIR = os.path.join('.x2go','.ssh')
 
 # setting OS dependent variables
 if X2GOCLIENT_OS == "Windows":
-    # on Windows we will use the current directory as ,,ROOTDIR'' which 
+    # on Windows we will use the current directory as ,,ROOTDIR'' which
     # will normally be the application directory
     ROOT_DIR = os.path.abspath(os.path.curdir)
     ETC_DIR = os.path.join(ROOT_DIR, 'etc')
@@ -176,7 +176,7 @@ X2GO_CLIENTSETTINGS_DEFAULTS = {
     },
     'General': {
         # clientport is not needed for Python X2Go
-        'clientport': 22, 
+        'clientport': 22,
         'autoresume': True,
     },
     'Authorization': {
@@ -215,15 +215,15 @@ X2GO_CLIENTPRINTING_DEFAULTS = {
         'folder': 'PDF',
     },
     'view': {
-        # If General->pdfview is true: 
+        # If General->pdfview is true:
         #   if open is true, the PDF viewer command is executed
-        #   if open is false, the incoming print job is saved in ~/PDF folder 
+        #   if open is false, the incoming print job is saved in ~/PDF folder
         'open': True,
         # command to execute as PDF viewer
         'command': 'xdg-open',
     },
     'CUPS': {
-        # default print queue for CUPS, if print queue does not exist, the default 
+        # default print queue for CUPS, if print queue does not exist, the default
         # CUPS queue is detected
         'defaultprinter': 'PDF',
     },
@@ -249,7 +249,7 @@ if X2GOCLIENT_OS == 'Windows':
             'display': 'localhost:40',
             'last_display': 'localhost:40',
             'process_name': 'vcxsrv.exe',
-            'test_installed': os.path.join(os.environ['ProgramFiles'], 'VcXsrv', 'vcxsrv.exe'), 
+            'test_installed': os.path.join(os.environ['ProgramFiles'], 'VcXsrv', 'vcxsrv.exe'),
             'run_command': os.path.join(os.environ['ProgramFiles'], 'VcXsrv', 'vcxsrv.exe'),
             'parameters': [':40', '-clipboard', '-multiwindow', '-notrayicon', '-nowinkill', '-nounixkill', '-swcursor', ],
         },
@@ -257,7 +257,7 @@ if X2GOCLIENT_OS == 'Windows':
             'display': 'localhost:40',
             'last_display': 'localhost:40',
             'process_name': 'vcxsrv.exe',
-            'test_installed': os.path.join(os.getcwd(), 'VcXsrv', 'vcxsrv.exe'), 
+            'test_installed': os.path.join(os.getcwd(), 'VcXsrv', 'vcxsrv.exe'),
             'run_command': os.path.join(os.getcwd(), 'VcXsrv', 'vcxsrv.exe'),
             'parameters': [':40', '-clipboard', '-multiwindow', '-notrayicon', '-nowinkill', '-nounixkill', '-swcursor', ],
         },
@@ -273,7 +273,7 @@ if X2GOCLIENT_OS == 'Windows':
             'display': 'localhost:40',
             'last_display': 'localhost:40',
             'process_name': 'Xming.exe',
-            'test_installed': os.path.join(os.environ['ProgramFiles'], 'Xming', 'Xming.exe'), 
+            'test_installed': os.path.join(os.environ['ProgramFiles'], 'Xming', 'Xming.exe'),
             'run_command': os.path.join(os.environ['ProgramFiles'], 'Xming', 'Xming.exe'),
             'parameters': [':40', '-clipboard', '-multiwindow', '-notrayicon', '-nowinkill', '-nounixkill', '-swcursor', ],
         },
@@ -358,7 +358,7 @@ pack_methods_nx3_formatted="""
            '\', \''.join(pack_methods_nx3_noqual[57:62]), \
            '\', \''.join(pack_methods_nx3_noqual[62:]))
 
-# pack_methods_nx3 is the complete list of NX3 pack methods that can be used to check options 
+# pack_methods_nx3 is the complete list of NX3 pack methods that can be used to check options
 # against
 pack_methods_nx3 = [ m for m in pack_methods_nx3_noqual if "%" not in m ]
 for meth in [ m for m in pack_methods_nx3_noqual if "%" in m ]:
@@ -417,7 +417,7 @@ X2GO_MIMEBOX_ACTIONS = {
 """Relating MIME box action names and classes."""
 
 X2GO_MIMEBOX_EXTENSIONS_BLACKLIST = [
-    'LOCK', 'SYS', 'SWP', 
+    'LOCK', 'SYS', 'SWP',
     'EXE', 'COM', 'CMD', 'PS1', 'PS2', 'BAT',
     'JS', 'PY', 'PL', 'SH',
 ]
diff --git a/x2go/forward.py b/x2go/forward.py
index 5f92195..9f63140 100644
--- a/x2go/forward.py
+++ b/x2go/forward.py
@@ -223,7 +223,7 @@ class X2GoFwServer(StreamServer):
 
 def start_forward_tunnel(local_host='127.0.0.1', local_port=22022,
                          remote_host='127.0.0.1', remote_port=22,
-                         ssh_transport=None, 
+                         ssh_transport=None,
                          session_instance=None,
                          session_name=None,
                          subsystem=None,
diff --git a/x2go/guardian.py b/x2go/guardian.py
index 820ddf8..b9683f8 100644
--- a/x2go/guardian.py
+++ b/x2go/guardian.py
@@ -36,18 +36,18 @@ import log
 
 class X2GoSessionGuardian(threading.Thread):
     """\
-    L{X2GoSessionGuardian} thread controls X2Go session threads and their sub-threads (like 
+    L{X2GoSessionGuardian} thread controls X2Go session threads and their sub-threads (like
     reverse forwarding tunnels, Paramiko transport threads, etc.). Its main function is
-    to tidy up once a session gets interrupted (SIGTERM, SIGINT). 
+    to tidy up once a session gets interrupted (SIGTERM, SIGINT).
 
     There is one L{X2GoSessionGuardian} for each L{X2GoClient} instance (thus: for normal
     setups there should be _one_ L{X2GoClient} and _one_ L{X2GoSessionGuardian} in use).
 
     """
-    def __init__(self, client_instance, 
-                 auto_update_listsessions_cache=False, 
-                 auto_update_listdesktops_cache=False, 
-                 auto_update_listmounts_cache=False, 
+    def __init__(self, client_instance,
+                 auto_update_listsessions_cache=False,
+                 auto_update_listdesktops_cache=False,
+                 auto_update_listmounts_cache=False,
                  auto_update_sessionregistry=False,
                  auto_register_sessions=False,
                  no_auto_reg_pubapp_sessions=False,
@@ -62,7 +62,7 @@ class X2GoSessionGuardian(threading.Thread):
         @type auto_update_listmounts_cache: C{bool}
         @param auto_update_sessionregistry: if set to C{True} the session status will be updated in regular intervals
         @type auto_update_sessionregistry: C{bool}
-        @param auto_register_sessions: register new sessions automatically once they appear in the X2Go session (e.g. 
+        @param auto_register_sessions: register new sessions automatically once they appear in the X2Go session (e.g.
             instantiated by another client that is connected to the same X2Go server under same user ID)
         @type auto_register_sessions: C{bool}
         @param no_auto_reg_pubapp_sessions: do not auto-register published applications sessions
@@ -111,7 +111,7 @@ class X2GoSessionGuardian(threading.Thread):
                 self.logger('Entering X2Go Guardian client management loop...', loglevel=log.loglevel_DEBUG)
 
                 if self.auto_update_listsessions_cache:
-                    self.client_instance.update_cache_all_profiles(update_sessions=self.auto_update_listsessions_cache, 
+                    self.client_instance.update_cache_all_profiles(update_sessions=self.auto_update_listsessions_cache,
                                                                    update_desktops=self.auto_update_listdesktops_cache,
                                                                    update_mounts=self.auto_update_listmounts_cache,
                                                                   )
diff --git a/x2go/inifiles.py b/x2go/inifiles.py
index e3150a4..9bb7b3b 100644
--- a/x2go/inifiles.py
+++ b/x2go/inifiles.py
@@ -48,7 +48,7 @@ class X2GoIniFile(object):
     X2Go client ini file (settings, printing, sessions, xconfig).
 
     If entries are omitted in an ini file, they are filled with
-    default values (as hard coded in Python X2Go), so the resulting objects 
+    default values (as hard coded in Python X2Go), so the resulting objects
     always contain the same fields.
 
     """
@@ -142,7 +142,7 @@ class X2GoIniFile(object):
         Stores a value for a given section and key.
 
         This methods affects a SafeConfigParser object held in
-        RAM. No configuration file is affected by this 
+        RAM. No configuration file is affected by this
         method. To write the configuration to disk use
         the L{write()} method.
 
@@ -165,9 +165,9 @@ class X2GoIniFile(object):
 
     def _fill_defaults(self):
         """\
-        Fills a C{SafeConfigParser} object with the default ini file 
-        values as pre-defined in Python X2Go or. This SafeConfigParser 
-        object is held in RAM. No configuration file is affected by this 
+        Fills a C{SafeConfigParser} object with the default ini file
+        values as pre-defined in Python X2Go or. This SafeConfigParser
+        object is held in RAM. No configuration file is affected by this
         method.
 
         """
diff --git a/x2go/log.py b/x2go/log.py
index 2894047..fd7d45f 100644
--- a/x2go/log.py
+++ b/x2go/log.py
@@ -55,12 +55,12 @@ class X2GoLogger(object):
     level = -1
     destination = sys.stderr
 
-    _loglevel_NAMES = {8: 'error', 
-                   16: 'warn', 
-                   32: 'notice', 
-                   64: 'info', 
-                   128: 'debug', 
-                   1024: 'debug-sftpxfer', 
+    _loglevel_NAMES = {8: 'error',
+                   16: 'warn',
+                   32: 'notice',
+                   64: 'info',
+                   128: 'debug',
+                   1024: 'debug-sftpxfer',
                   }
 
     def __init__(self, name=sys.argv[0], loglevel=loglevel_DEFAULT, tag=None):
diff --git a/x2go/mimebox.py b/x2go/mimebox.py
index 3ae5de3..92bce8e 100644
--- a/x2go/mimebox.py
+++ b/x2go/mimebox.py
@@ -21,8 +21,8 @@
 L{X2GoMIMEboxQueue} sets up a thread that listens for incoming files that
 shall be opened locally on the client.
 
-For each file that gets dropped in the MIME box an individual 
-thread is started (L{X2GoMIMEboxJob}) that handles the processing 
+For each file that gets dropped in the MIME box an individual
+thread is started (L{X2GoMIMEboxJob}) that handles the processing
 of the incoming file.
 
 """
@@ -56,7 +56,7 @@ class X2GoMIMEboxQueue(threading.Thread):
     active_jobs = {}
     mimebox_history = []
 
-    def __init__(self, profile_name='UNKNOWN', session_name='UNKNOWN', 
+    def __init__(self, profile_name='UNKNOWN', session_name='UNKNOWN',
                        mimebox_dir=None, mimebox_action=None, mimebox_extensions=[],
                        client_instance=None, logger=None, loglevel=log.loglevel_DEFAULT):
         """\
@@ -115,7 +115,7 @@ class X2GoMIMEboxQueue(threading.Thread):
 
     def pause(self):
         """\
-        Prevent acceptance of new incoming files. The processing of MIME box jobs that 
+        Prevent acceptance of new incoming files. The processing of MIME box jobs that
         are currently still active will be completed, though.
 
         """
@@ -125,7 +125,7 @@ class X2GoMIMEboxQueue(threading.Thread):
 
     def resume(self):
         """\
-        Resume operation of the X2Go MIME box queue and continue accepting new incoming 
+        Resume operation of the X2Go MIME box queue and continue accepting new incoming
         files.
 
         """
@@ -157,7 +157,7 @@ class X2GoMIMEboxQueue(threading.Thread):
 
     def set_mimebox_action(self, mimebox_action, **kwargs):
         """\
-        Modify the MIME box action of this L{X2GoMIMEboxQueue} thread during runtime. The 
+        Modify the MIME box action of this L{X2GoMIMEboxQueue} thread during runtime. The
         change of the MIME box action will be valid for the next incoming file in the MIME box
         directory.
 
@@ -190,12 +190,12 @@ class X2GoMIMEboxQueue(threading.Thread):
                     for _job in self._incoming_mimebox_jobs:
                         self.logger('processing incoming X2Go MIME box job: %s' % _job, loglevel=log.loglevel_NOTICE)
                         _new_mimeboxjob_thread = X2GoMIMEboxJob(target=x2go_mimeboxjob_handler,
-                                                                kwargs={ 
+                                                                kwargs={
                                                                   'mimebox_file': _job,
                                                                   'mimebox_extensions': self.mimebox_extensions,
                                                                   'mimebox_action': self.mimebox_action,
                                                                   'parent_thread': self,
-                                                                  'logger': self.logger, 
+                                                                  'logger': self.logger,
                                                                 }
                                                                )
                         self.active_jobs['%s' % _job] = _new_mimeboxjob_thread
@@ -206,7 +206,7 @@ class X2GoMIMEboxQueue(threading.Thread):
             gevent.sleep(1)
 
 
-def x2go_mimeboxjob_handler(mimebox_file=None, 
+def x2go_mimeboxjob_handler(mimebox_file=None,
                             mimebox_extensions=[],
                             mimebox_action=None,
                             parent_thread=None, logger=None, ):
@@ -258,10 +258,10 @@ def x2go_mimeboxjob_handler(mimebox_file=None,
 
 class X2GoMIMEboxJob(threading.Thread):
     """\
-    For each X2Go MIME box job we create a sub-thread that let's 
+    For each X2Go MIME box job we create a sub-thread that let's
     the MIME box job be processed in the background.
 
-    As a handler for this class the function L{x2go_mimeboxjob_handler()} 
+    As a handler for this class the function L{x2go_mimeboxjob_handler()}
     is used.
 
     """
diff --git a/x2go/mimeboxactions.py b/x2go/mimeboxactions.py
index 7709a94..7d3d2ca 100644
--- a/x2go/mimeboxactions.py
+++ b/x2go/mimeboxactions.py
@@ -237,7 +237,7 @@ class X2GoMIMEboxActionOPENWITH(X2GoMIMEboxAction):
 
 class X2GoMIMEboxActionSAVEAS(X2GoMIMEboxAction):
     """\
-    MIME box action that allows saving incoming MIME box files to a local folder. What this 
+    MIME box action that allows saving incoming MIME box files to a local folder. What this
     MIME box actually does is calling a hook method in the L{X2GoClient} instance that
     can be hi-jacked by one of your application's methods which then can handle the ,,Save as...''
     request.
@@ -248,7 +248,7 @@ class X2GoMIMEboxActionSAVEAS(X2GoMIMEboxAction):
 
     def __init__(self, client_instance=None, logger=None, loglevel=log.loglevel_DEFAULT):
         """\
-        @param client_instance: an L{X2GoClient} instance, within your customized L{X2GoClient} make sure 
+        @param client_instance: an L{X2GoClient} instance, within your customized L{X2GoClient} make sure
             you have a C{HOOK_open_mimebox_saveas_dialog(filename=<str>)} method defined that will actually
             handle the incoming mimebox file.
         @type client_instance: C{obj}
diff --git a/x2go/printactions.py b/x2go/printactions.py
index d709ba1..b483df8 100644
--- a/x2go/printactions.py
+++ b/x2go/printactions.py
@@ -19,9 +19,9 @@
 
 """\
 Print jobs can either be sent to any of the local print queues (CUPS, Win32API),
-be opened in an external PDF viewer, be saved to a local folder or be handed 
+be opened in an external PDF viewer, be saved to a local folder or be handed
 over to a custom (print) command. This is defined by four print action classes
-(L{X2GoPrintActionDIALOG}, L{X2GoPrintActionPDFVIEW}, L{X2GoPrintActionPDFSAVE}, L{X2GoPrintActionPRINT} and 
+(L{X2GoPrintActionDIALOG}, L{X2GoPrintActionPDFVIEW}, L{X2GoPrintActionPDFSAVE}, L{X2GoPrintActionPRINT} and
 L{X2GoPrintActionPRINTCMD}).
 
 """
@@ -61,7 +61,7 @@ class X2GoPrintAction(object):
 
     def __init__(self, client_instance=None, logger=None, loglevel=log.loglevel_DEFAULT):
         """\
-        This is a meta class and has no functionality as such. It is used as parent 
+        This is a meta class and has no functionality as such. It is used as parent
         class by »real« X2Go print actions.
 
         @param client_instance: the underlying L{X2GoClient} instance
@@ -398,7 +398,7 @@ class X2GoPrintActionPRINT(X2GoPrintAction):
                 cmd_line = [ 'lpr',
                              '-h',
                              '-r',
-                             '-J%s' % job_title, 
+                             '-J%s' % job_title,
                              '%s' % _hr_filename,
                            ]
             else:
@@ -406,7 +406,7 @@ class X2GoPrintActionPRINT(X2GoPrintAction):
                              '-h',
                              '-r',
                              '-P%s' % self.printer,
-                             '-J%s' % job_title, 
+                             '-J%s' % job_title,
                              '%s' % _hr_filename,
                            ]
             self.logger('executing local print command: %s' % " ".join(cmd_line), loglevel=log.loglevel_DEBUG)
@@ -451,7 +451,7 @@ class X2GoPrintActionPRINTCMD(X2GoPrintAction):
 
     def _do_print(self, pdf_file, job_title, spool_dir):
         """\
-        Execute an external command that has been defined on construction 
+        Execute an external command that has been defined on construction
         of this L{X2GoPrintActionPRINTCMD} instance.
 
         @param pdf_file: PDF file name as placed in to the X2Go spool directory
@@ -492,7 +492,7 @@ class X2GoPrintActionDIALOG(X2GoPrintAction):
 
     def __init__(self, client_instance=None, logger=None, loglevel=log.loglevel_DEFAULT):
         """\
-        @param client_instance: an L{X2GoClient} instance, within your customized L{X2GoClient} make sure 
+        @param client_instance: an L{X2GoClient} instance, within your customized L{X2GoClient} make sure
             you have a C{HOOK_open_print_dialog(filename=<str>)} method defined that will actually
             open the print dialog.
         @type client_instance: C{obj}
@@ -512,7 +512,7 @@ class X2GoPrintActionDIALOG(X2GoPrintAction):
 
     def _do_print(self, pdf_file, job_title, spool_dir):
         """\
-        Execute an external command that has been defined on construction 
+        Execute an external command that has been defined on construction
         of this L{X2GoPrintActionPRINTCMD} instance.
 
         @param pdf_file: PDF file name as placed in to the X2Go spool directory
diff --git a/x2go/printqueue.py b/x2go/printqueue.py
index 05cb7d3..3404c58 100644
--- a/x2go/printqueue.py
+++ b/x2go/printqueue.py
@@ -20,8 +20,8 @@
 """\
 L{X2GoPrintQueue} sets up a thread that listens for incoming print jobs.
 
-For each incoming print job in an X2Go session's spool directory an 
-individual thread is started (L{X2GoPrintJob}) that handles the processing 
+For each incoming print job in an X2Go session's spool directory an
+individual thread is started (L{X2GoPrintJob}) that handles the processing
 of the incoming print job.
 
 """
@@ -53,7 +53,7 @@ class X2GoPrintQueue(threading.Thread):
     active_jobs = {}
     job_history = []
 
-    def __init__(self, 
+    def __init__(self,
                  profile_name='UNKNOWN',
                  session_name='UNKNOWN',
                  spool_dir=None,
@@ -71,7 +71,7 @@ class X2GoPrintQueue(threading.Thread):
         @param print_action: name or instance of either of the possible X2Go print action classes
         @type print_action: C{str} or instance
         @param print_action_args: depending of the chosen C{print_action} this dictionary may contain different
-            values; the C{print_action_args} will be passed on to the X2Go print action instance constructor, so 
+            values; the C{print_action_args} will be passed on to the X2Go print action instance constructor, so
             refer to either of these: L{X2GoPrintActionPDFVIEW}, L{X2GoPrintActionPRINT} et al.
         @param client_instance: the underlying L{X2GoClient} instance
         @type client_instance: C{obj}
@@ -113,7 +113,7 @@ class X2GoPrintQueue(threading.Thread):
 
     def pause(self):
         """\
-        Prevent acceptance of new incoming print jobs. The processing of print jobs that 
+        Prevent acceptance of new incoming print jobs. The processing of print jobs that
         are currently still active will be completed, though.
 
         """
@@ -123,7 +123,7 @@ class X2GoPrintQueue(threading.Thread):
 
     def resume(self):
         """\
-        Resume operation of the X2Go print spooler and continue accepting new incoming 
+        Resume operation of the X2Go print spooler and continue accepting new incoming
         print jobs.
 
         """
@@ -163,7 +163,7 @@ class X2GoPrintQueue(threading.Thread):
 
     def set_print_action(self, print_action, **kwargs):
         """\
-        Modify the print action of this L{X2GoPrintQueue} thread during runtime. The 
+        Modify the print action of this L{X2GoPrintQueue} thread during runtime. The
         change of print action will be valid for the next incoming print job.
 
         As kwargs you can pass arguments for the print action class to be set. Refer
@@ -199,13 +199,13 @@ class X2GoPrintQueue(threading.Thread):
                     for _job in self._incoming_print_jobs:
                         self.logger('processing incoming X2Go print job: %s' % _job[1], loglevel=log.loglevel_NOTICE)
                         _new_printjob_thread = X2GoPrintJob(target=x2go_printjob_handler,
-                                                            kwargs={ 
+                                                            kwargs={
                                                             'job_file': _job[0],
                                                             'pdf_file': _job[1],
                                                             'job_title': _job[2],
                                                             'print_action': self.print_action,
-                                                            'parent_thread': self, 
-                                                            'logger': self.logger, 
+                                                            'parent_thread': self,
+                                                            'logger': self.logger,
                                                           }
                                                   )
                         self.active_jobs['%s' % _job[1]] = _new_printjob_thread
@@ -218,7 +218,7 @@ class X2GoPrintQueue(threading.Thread):
 
 def x2go_printjob_handler(job_file=None, pdf_file=None, job_title=None, print_action=None, parent_thread=None, logger=None, ):
     """\
-    This function is called as a handler function for each incoming X2Go print job 
+    This function is called as a handler function for each incoming X2Go print job
     represented by the class L{X2GoPrintJob}.
 
     The handler function will (re-)read the »printing« configuration file (if no
@@ -240,11 +240,11 @@ def x2go_printjob_handler(job_file=None, pdf_file=None, job_title=None, print_ac
     if print_action is None:
         if parent_thread.client_instance is not None and parent_thread.client_instance.has_custom_client_rootdir:
             _printing = parent_thread.printing_backend(config_files=[os.path.join(parent_thread.client_instance.get_client_rootdir(), _X2GO_PRINTING_FILENAME)],
-                                                       client_instance=parent_thread.client_instance, 
+                                                       client_instance=parent_thread.client_instance,
                                                        logger=logger
                                                       )
         else:
-            _printing = parent_thread.printing_backend(client_instance=parent_thread.client_instance, 
+            _printing = parent_thread.printing_backend(client_instance=parent_thread.client_instance,
                                                        logger=logger
                                                       )
 
@@ -268,7 +268,7 @@ def x2go_printjob_handler(job_file=None, pdf_file=None, job_title=None, print_ac
     del parent_thread.active_jobs['%s' % pdf_file]
     parent_thread.job_history.append(pdf_file)
 
-    # in case we print a lot we do not want to risk an endlessly growing 
+    # in case we print a lot we do not want to risk an endlessly growing
     # print job history
     if len(parent_thread.job_history) > 100:
         parent_thread.job_history = parent_thread.job_history[-100:]
@@ -276,10 +276,10 @@ def x2go_printjob_handler(job_file=None, pdf_file=None, job_title=None, print_ac
 
 class X2GoPrintJob(threading.Thread):
     """\
-    For each X2Go print job we create a sub-thread that let's 
+    For each X2Go print job we create a sub-thread that let's
     the print job be processed in the background.
 
-    As a handler for this class the function L{x2go_printjob_handler()} 
+    As a handler for this class the function L{x2go_printjob_handler()}
     is used.
 
     """
diff --git a/x2go/pulseaudio.py b/x2go/pulseaudio.py
index e426059..7426f45 100644
--- a/x2go/pulseaudio.py
+++ b/x2go/pulseaudio.py
@@ -91,7 +91,7 @@ class X2GoPulseAudio(threading.Thread):
 
     def run(self):
         """\
-        This method is called once the C{X2GoPulseAudio.start()} method has been called. To tear 
+        This method is called once the C{X2GoPulseAudio.start()} method has been called. To tear
         down the Pulseaudio daemon call the L{X2GoPulseAudio.stop_thread()} method.
 
         """
diff --git a/x2go/registry.py b/x2go/registry.py
index a342548..3add0a6 100644
--- a/x2go/registry.py
+++ b/x2go/registry.py
@@ -119,7 +119,7 @@ class X2GoSessionRegistry(object):
         """\
         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 
+        assure that the session registry does not get filled with session UUID
         duplicates.
 
         """
@@ -231,7 +231,7 @@ class X2GoSessionRegistry(object):
         @param profile_name: alternatively, a profile name can be specified (the stati of all registered sessions for this session
             profile will be updated)
         @type profile_name: C{str}
-        @param profile_id: alternatively, a profile ID can be given (the stati of all registered sessions for this session 
+        @param profile_id: alternatively, a profile ID can be given (the stati of all registered sessions for this session
             profile will be updated)
         @type profile_id: C{str}
         @param session_list: an optional C{X2GoServerSessionList*} instance (as returned by the L{X2GoClient.list_sessions()} command can
@@ -243,7 +243,7 @@ class X2GoSessionRegistry(object):
         @return: C{True} if this method has been successful
         @rtype: C{bool}
 
-        @raise X2GoSessionRegistryException: if the combination of C{session_uuid}, C{profile_name} and C{profile_id} does not match the requirement: 
+        @raise X2GoSessionRegistryException: if the combination of C{session_uuid}, C{profile_name} and C{profile_id} does not match the requirement:
             only one of them
 
         """
@@ -405,7 +405,7 @@ class X2GoSessionRegistry(object):
         _session_names = [ self(s_uuid).session_name for s_uuid in _registered_sessions if self(s_uuid).session_name is not None ]
 
         if _connected_sessions:
-            # any of the connected sessions is valuable for accessing the profile's control 
+            # any of the connected sessions is valuable for accessing the profile's control
             # session commands, so we simply take the first that comes in...
             _ctrl_session = self(_connected_sessions[0])
 
@@ -437,11 +437,11 @@ class X2GoSessionRegistry(object):
                     kwargs['client_rootdir'] = _clone_kwargs['client_rootdir']
                     kwargs['sessions_rootdir'] = _clone_kwargs['sessions_rootdir']
 
-                    try: del kwargs['server'] 
+                    try: del kwargs['server']
                     except: pass
                     try: del kwargs['profile_name']
                     except: pass
-                    try: del kwargs['profile_id'] 
+                    try: del kwargs['profile_id']
                     except: pass
 
                     # this if clause catches problems when x2golistsessions commands give weird results
@@ -559,11 +559,11 @@ class X2GoSessionRegistry(object):
             self._profile_locks[profile_id].release()
             return session_uuid
 
-        try: del _params['server'] 
+        try: del _params['server']
         except: pass
         try: del _params['profile_name']
         except: pass
-        try: del _params['profile_id'] 
+        try: del _params['profile_id']
         except: pass
 
         s = session.X2GoSession(server=server, control_session=control_session,
@@ -951,7 +951,7 @@ class X2GoSessionRegistry(object):
     def virgin_sessions_of_profile_name(self, profile_name, return_objects=True, return_session_names=False):
         """\
         For a given session profile name retrieve a list of sessions that are registered with this L{X2GoClient} instance but have not
-        yet been started (i.e. sessions that are in virgin state). If none of the C{return_*} options is specified a list of 
+        yet been started (i.e. sessions that are in virgin state). If none of the C{return_*} options is specified a list of
         session UUID hashes will be returned.
 
         @param profile_name: session profile name
diff --git a/x2go/rforward.py b/x2go/rforward.py
index 6f001ee..6e0d864 100644
--- a/x2go/rforward.py
+++ b/x2go/rforward.py
@@ -40,16 +40,16 @@ def x2go_transport_tcp_handler(chan, (origin_addr, origin_port), (server_addr, s
     """\
     An X2Go customized TCP handler for the Paramiko/SSH C{Transport()} class.
 
-    Incoming channels will be put into Paramiko's default accept queue. This corresponds to 
+    Incoming channels will be put into Paramiko's default accept queue. This corresponds to
     the default behaviour of Paramiko's C{Transport} class.
 
     However, additionally this handler function checks the server port of the incoming channel
-    and detects if there are Paramiko/SSH reverse forwarding tunnels waiting for the incoming 
+    and detects if there are Paramiko/SSH reverse forwarding tunnels waiting for the incoming
     channels. The Paramiko/SSH reverse forwarding tunnels are initiated by an L{X2GoSession} instance
     (currently supported: reverse tunneling auf audio data, reverse tunneling of SSH requests).
 
-    If the server port of an incoming Paramiko/SSH channel matches the configured port of an L{X2GoRevFwTunnel} 
-    instance, this instance gets notified of the incoming channel and a new L{X2GoRevFwChannelThread} is 
+    If the server port of an incoming Paramiko/SSH channel matches the configured port of an L{X2GoRevFwTunnel}
+    instance, this instance gets notified of the incoming channel and a new L{X2GoRevFwChannelThread} is
     started. This L{X2GoRevFwChannelThread} then takes care of the new channel's incoming data stream.
 
     """
@@ -70,7 +70,7 @@ def x2go_transport_tcp_handler(chan, (origin_addr, origin_port), (server_addr, s
 
 class X2GoRevFwTunnel(threading.Thread):
     """\
-    L{X2GoRevFwTunnel} class objects are used to reversely tunnel 
+    L{X2GoRevFwTunnel} class objects are used to reversely tunnel
     X2Go audio, X2Go printing and X2Go folder sharing / device mounting
     through Paramiko/SSH.
 
@@ -80,14 +80,14 @@ class X2GoRevFwTunnel(threading.Thread):
         Setup a reverse tunnel through Paramiko/SSH.
 
         After the reverse tunnel has been setup up with L{X2GoRevFwTunnel.start()} it waits
-        for notification from L{X2GoRevFwTunnel.notify()} to accept incoming channels. This 
-        notification (L{X2GoRevFwTunnel.notify()} gets called from within the transport's 
+        for notification from L{X2GoRevFwTunnel.notify()} to accept incoming channels. This
+        notification (L{X2GoRevFwTunnel.notify()} gets called from within the transport's
         TCP handler function L{x2go_transport_tcp_handler} of the L{X2GoSession} instance.
 
-        @param server_port: the TCP/IP port on the X2Go server (starting point of the tunnel), 
+        @param server_port: the TCP/IP port on the X2Go server (starting point of the tunnel),
             normally some number above 30000
         @type server_port: int
-        @param remote_host: the target address for reversely tunneled traffic. With X2Go this should 
+        @param remote_host: the target address for reversely tunneled traffic. With X2Go this should
             always be set to the localhost (IPv4) address.
         @type remote_host: str
         @param remote_port: the TCP/IP port on the X2Go client (end point of the tunnel),
@@ -204,7 +204,7 @@ class X2GoRevFwTunnel(threading.Thread):
         try:
             self._requested_port = self.ssh_transport.request_port_forward('127.0.0.1', self.server_port, handler=x2go_transport_tcp_handler)
         except paramiko.SSHException:
-            # if port forward request fails, we try to tell the server to cancel all foregoing port forward requests on 
+            # if port forward request fails, we try to tell the server to cancel all foregoing port forward requests on
             # self.server_port
             self.cancel_port_forward('', self.server_port)
             gevent.sleep(1)
@@ -228,11 +228,11 @@ class X2GoRevFwTunnel(threading.Thread):
         this context means, that its start point on the X2Go server matches the class's
         property C{server_port}.
 
-        Once a new incoming channel gets announced by the L{notify()} method, a new 
+        Once a new incoming channel gets announced by the L{notify()} method, a new
         L{X2GoRevFwChannelThread} instance will be initialized. As a data stream handler,
         the function L{x2go_rev_forward_channel_handler()} will be used.
 
-        The channel will last till the connection gets dropped on the X2Go server side or 
+        The channel will last till the connection gets dropped on the X2Go server side or
         until the tunnel gets paused by an L{X2GoRevFwTunnel.pause()} call or stopped via the
         L{X2GoRevFwTunnel.stop_thread()} method.
 
@@ -255,14 +255,14 @@ class X2GoRevFwTunnel(threading.Thread):
 
             self.incoming_channel.release()
             if self._accept_channels and self._keepalive:
-                _new_chan_thread = X2GoRevFwChannelThread(_chan, (self.remote_host, self.remote_port), 
-                                                          target=x2go_rev_forward_channel_handler, 
-                                                          kwargs={ 
+                _new_chan_thread = X2GoRevFwChannelThread(_chan, (self.remote_host, self.remote_port),
+                                                          target=x2go_rev_forward_channel_handler,
+                                                          kwargs={
                                                             'chan': _chan,
                                                             'addr': self.remote_host,
                                                             'port': self.remote_port,
-                                                            'parent_thread': self, 
-                                                            'logger': self.logger, 
+                                                            'parent_thread': self,
+                                                            'logger': self.logger,
                                                           }
                                                   )
                 _new_chan_thread.start()
@@ -271,15 +271,15 @@ class X2GoRevFwTunnel(threading.Thread):
 
 def x2go_rev_forward_channel_handler(chan=None, addr='', port=0, parent_thread=None, logger=None, ):
     """\
-    Handle the data stream of a requested channel that got set up by a L{X2GoRevFwTunnel} (Paramiko/SSH 
+    Handle the data stream of a requested channel that got set up by a L{X2GoRevFwTunnel} (Paramiko/SSH
     reverse forwarding tunnel).
 
     The channel (and the corresponding connections) close either ...
 
-        - ... if the connecting application closes the connection and thus, drops 
+        - ... if the connecting application closes the connection and thus, drops
         the channel, or
         - ... if the L{X2GoRevFwTunnel} parent thread gets paused. The call
-        of L{X2GoRevFwTunnel.pause()} on the instance can be used to shut down all incoming 
+        of L{X2GoRevFwTunnel.pause()} on the instance can be used to shut down all incoming
         tunneled SSH connections associated to this L{X2GoRevFwTunnel} instance
         from within a Python X2Go application.
 
@@ -310,7 +310,7 @@ def x2go_rev_forward_channel_handler(chan=None, addr='', port=0, parent_thread=N
         return
 
     logger('Connected! Reverse tunnel open %r -> %r -> %r' % (chan.origin_addr,
-                                                              chan.getpeername(), (addr, port)), 
+                                                              chan.getpeername(), (addr, port)),
                                                               loglevel=log.loglevel_INFO)
     while parent_thread._accept_channels:
         r, w, x = select.select([fw_socket, chan], [], [])
diff --git a/x2go/session.py b/x2go/session.py
index 947b975..d37c038 100644
--- a/x2go/session.py
+++ b/x2go/session.py
@@ -18,7 +18,7 @@
 # 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA.
 
 """\
-X2GoSession class - a public API of Python X2Go, handling standalone X2Go 
+X2GoSession class - a public API of Python X2Go, handling standalone X2Go
 sessions.
 
 This class is normally embedded into the context of an L{X2GoClient}
@@ -29,7 +29,7 @@ To launch a session manually from the Python interactive shell, perform these
 simple steps::
 
   $ python
-  Python 2.6.6 (r266:84292, Dec 26 2010, 22:31:48) 
+  Python 2.6.6 (r266:84292, Dec 26 2010, 22:31:48)
   [GCC 4.4.5] on linux2
   Type "help", "copyright", "credits" or "license" for more information.
   >>> import x2go
@@ -124,7 +124,7 @@ class X2GoSession(object):
     within an L{X2GoClient} instance. However, Python X2Go is designed in a way that it also
     allows the management of singel L{X2GoSession} instance.
 
-    Thus, you can use the L{X2GoSession} class to manually set up X2Go sessions without 
+    Thus, you can use the L{X2GoSession} class to manually set up X2Go sessions without
     L{X2GoClient} context (session registry, session list cache, auto-registration of new
     sessions etc.).
 
@@ -757,15 +757,15 @@ class X2GoSession(object):
         @type params: C{dict}
 
         """
-        try: del params['server'] 
+        try: del params['server']
         except KeyError: pass
         try: del params['profile_name']
         except KeyError: pass
-        try: del params['profile_id'] 
+        try: del params['profile_id']
         except KeyError: pass
         try:
             self.printing = params['printing']
-            del params['printing'] 
+            del params['printing']
         except KeyError: pass
         try:
             self.allow_share_local_folders = params['allow_share_local_folders']
@@ -773,7 +773,7 @@ class X2GoSession(object):
         except KeyError: pass
         try:
             self.share_local_folders = params['share_local_folders']
-            del params['share_local_folders'] 
+            del params['share_local_folders']
         except KeyError: pass
         try:
             self.restore_shared_local_folders = params['restore_shared_local_folders']
@@ -787,7 +787,7 @@ class X2GoSession(object):
             self.mimebox_extensions = params['mimebox_extensions']
             del params['mimebox_extensions']
         except KeyError: pass
-        try: 
+        try:
             self.mimebox_action = params['mimebox_action']
             del params['mimebox_action']
         except KeyError: pass
@@ -1213,7 +1213,7 @@ class X2GoSession(object):
                 use_sshproxy=None, sshproxy_user=None, sshproxy_password=None, sshproxy_passphrase=None,
                 sshproxy_force_password_auth=None, sshproxy_reuse_authinfo=None, ):
         """\
-        Connects to the L{X2GoSession}'s server host. This method basically wraps around 
+        Connects to the L{X2GoSession}'s server host. This method basically wraps around
         the C{X2GoControlSession*.connect()} method.
 
         @param username: the username for the X2Go server that is going to be
@@ -1452,7 +1452,7 @@ class X2GoSession(object):
 
         @param print_action: one of the named above print actions, either as string or class instance
         @type print_action: C{str} or C{instance}
-        @param kwargs: additional information for the given print action (print 
+        @param kwargs: additional information for the given print action (print
             action arguments), for possible print action arguments and their values see each individual
             print action class
         @type kwargs: C{dict}
@@ -1502,7 +1502,7 @@ class X2GoSession(object):
 
     def list_sessions(self, raw=False):
         """\
-        List all sessions on the remote X2Go server that are owned by the authenticated user 
+        List all sessions on the remote X2Go server that are owned by the authenticated user
 
         @param raw: if C{True} the output of this method equals
             the output of the server-side C{x2golistsessions} command
@@ -1670,9 +1670,9 @@ class X2GoSession(object):
         @param very_raw: retrieve a very raw output of the server list of published applications (as-is output of x2gogetapps script)
         @type very_raw: C{bool}
 
-        @return: A C{list} of C{dict} elements. Each C{dict} elements has a 
+        @return: A C{list} of C{dict} elements. Each C{dict} elements has a
             C{desktop} key containing the text output of a .desktop file and
-            an C{icon} key which contains the desktop icon data base64 encoded 
+            an C{icon} key which contains the desktop icon data base64 encoded
         @rtype: C{list}
 
         """
@@ -2482,7 +2482,7 @@ class X2GoSession(object):
         """\
         Check if this session will display properly with the local screen's color depth.
 
-        @return: C{True} if the session will display on this client screen, 
+        @return: C{True} if the session will display on this client screen,
             C{False} otherwise. If no terminal session is yet registered with this session, C{None} is returned.
         @rtype: C{bool}
 
@@ -2499,7 +2499,7 @@ class X2GoSession(object):
 
     def is_connected(self):
         """\
-        Test if the L{X2GoSession}'s control session is connected to the 
+        Test if the L{X2GoSession}'s control session is connected to the
         remote X2Go server.
 
         @return: C{True} if session is connected, C{False} otherwise
diff --git a/x2go/sftpserver.py b/x2go/sftpserver.py
index 77fc56b..fd4ed31 100644
--- a/x2go/sftpserver.py
+++ b/x2go/sftpserver.py
@@ -2,7 +2,7 @@
 
 # Copyright (C) 2010-2016 by Mike Gabriel <mike.gabriel at das-netzwerkteam.de>
 
-# The Python X2Go sFTPServer code was originally written by Richard Murri, 
+# The Python X2Go sFTPServer code was originally written by Richard Murri,
 # for further information see his website: http://www.richardmurri.com
 
 # Python X2Go is free software; you can redistribute it and/or modify
@@ -21,11 +21,11 @@
 # 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA.
 
 """\
-For sharing local folders via sFTP/sshfs Python X2Go implements its own sFTP 
+For sharing local folders via sFTP/sshfs Python X2Go implements its own sFTP
 server (as end point of reverse forwarding tunnel requests). Thus, Python X2Go
 does not need a locally installed SSH daemon on the client side machine.
 
-The Python X2Go sFTP server code was originally written by Richard Murri, 
+The Python X2Go sFTP server code was originally written by Richard Murri,
 for further information see his website: http://www.richardmurri.com
 
 """
@@ -45,7 +45,7 @@ import log
 
 class _SSHServer(paramiko.ServerInterface):
     """\
-    Implementation of a basic SSH server that is supposed 
+    Implementation of a basic SSH server that is supposed
     to run with its sFTP server implementation.
 
     """
@@ -502,7 +502,7 @@ class X2GoRevFwTunnelToSFTP(rforward.X2GoRevFwTunnel):
         Start a Paramiko/SSH reverse forwarding tunnel, that has an sFTP server listening at
         the endpoint of the tunnel.
 
-        @param server_port: the TCP/IP port on the X2Go server (starting point of the tunnel), 
+        @param server_port: the TCP/IP port on the X2Go server (starting point of the tunnel),
             normally some number above 30000
         @type server_port: C{int}
         @param ssh_transport: the L{X2GoSession}'s Paramiko/SSH transport instance
@@ -550,12 +550,12 @@ class X2GoRevFwTunnelToSFTP(rforward.X2GoRevFwTunnel):
         this context means, that its starting point on the X2Go server matches the class's
         property C{server_port}.
 
-        Once a new incoming channel gets announced by the L{notify()} method, a new 
+        Once a new incoming channel gets announced by the L{notify()} method, a new
         L{X2GoRevFwSFTPChannelThread} instance will be initialized. As a data stream handler,
         the function L{x2go_rev_forward_sftpchannel_handler()} will be used.
 
-        The channel will last till the connection gets dropped on the X2Go server side or 
-        until the tunnel gets paused by an L{X2GoRevFwTunnelToSFTP.pause()} call or 
+        The channel will last till the connection gets dropped on the X2Go server side or
+        until the tunnel gets paused by an L{X2GoRevFwTunnelToSFTP.pause()} call or
         stopped via the C{X2GoRevFwTunnelToSFTP.stop_thread()} method.
 
         """
@@ -578,11 +578,11 @@ class X2GoRevFwTunnelToSFTP(rforward.X2GoRevFwTunnel):
             self.incoming_channel.release()
             if self._accept_channels and self._keepalive:
                 _new_chan_thread = X2GoRevFwSFTPChannelThread(_chan,
-                                                              target=x2go_rev_forward_sftpchannel_handler, 
-                                                              kwargs={ 
+                                                              target=x2go_rev_forward_sftpchannel_handler,
+                                                              kwargs={
                                                                'chan': _chan,
                                                                'auth_key': self.auth_key,
-                                                               'logger': self.logger, 
+                                                               'logger': self.logger,
                                                               }
                                                              )
                 _new_chan_thread.start()
@@ -596,10 +596,10 @@ def x2go_rev_forward_sftpchannel_handler(chan=None, auth_key=None, logger=None):
 
     The channel (and the corresponding connections) close either ...
 
-        - ... if the connecting application closes the connection and thus, drops 
+        - ... if the connecting application closes the connection and thus, drops
         the sFTP channel, or
         - ... if the L{X2GoRevFwTunnelToSFTP} parent thread gets paused. The call
-        of L{X2GoRevFwTunnelToSFTP.pause()} on the instance can be used to shut down all incoming 
+        of L{X2GoRevFwTunnelToSFTP.pause()} on the instance can be used to shut down all incoming
         tunneled SSH connections associated to this L{X2GoRevFwTunnelToSFTP} instance
         from within a Python X2Go application.
 
diff --git a/x2go/sshproxy.py b/x2go/sshproxy.py
index 1335b4d..3036bb0 100644
--- a/x2go/sshproxy.py
+++ b/x2go/sshproxy.py
@@ -62,7 +62,7 @@ class X2GoSSHProxy(paramiko.SSHClient, threading.Thread):
                  sshproxy_password=None, sshproxy_force_password_auth=False, sshproxy_key_filename=None, sshproxy_pkey=None, sshproxy_passphrase=None,
                  sshproxy_look_for_keys=False, sshproxy_allow_agent=False,
                  sshproxy_tunnel=None,
-                 ssh_rootdir=os.path.join(_LOCAL_HOME, _X2GO_SSH_ROOTDIR), 
+                 ssh_rootdir=os.path.join(_LOCAL_HOME, _X2GO_SSH_ROOTDIR),
                  session_instance=None,
                  logger=None, loglevel=log.loglevel_DEFAULT, ):
         """\
@@ -126,7 +126,7 @@ class X2GoSSHProxy(paramiko.SSHClient, threading.Thread):
         @param sshproxy_allow_agent: alias for C{allow_agent}
         @type sshproxy_allow_agent: C{bool}
 
-        @param sshproxy_tunnel: a string of the format <local_host>:<local_port>:<remote_host>:<remote_port> 
+        @param sshproxy_tunnel: a string of the format <local_host>:<local_port>:<remote_host>:<remote_port>
             which will override---if used---the options: C{local_host}, C{local_port}, C{remote_host} and C{remote_port}
         @type sshproxy_tunnel: C{str}
 
diff --git a/x2go/telekinesis.py b/x2go/telekinesis.py
index f9f2db7..21a63a2 100644
--- a/x2go/telekinesis.py
+++ b/x2go/telekinesis.py
@@ -62,7 +62,7 @@ class X2GoTelekinesisClient(threading.Thread):
     TEKICLIENT_ENV = {}
     """Provide environment variables to the Telekinesis client command."""
 
-    def __init__(self, session_info=None, 
+    def __init__(self, session_info=None,
                  ssh_transport=None,
                  sessions_rootdir=os.path.join(_LOCAL_HOME, _X2GO_SESSIONS_ROOTDIR),
                  session_instance=None,
diff --git a/x2go/tests/runalltests.py b/x2go/tests/runalltests.py
index 7703f4a..d495701 100644
--- a/x2go/tests/runalltests.py
+++ b/x2go/tests/runalltests.py
@@ -18,7 +18,7 @@
 # 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA.
 
 """\
-This file is a default test runner as found in ZOPE/Plone products. It works 
+This file is a default test runner as found in ZOPE/Plone products. It works
 fine for any kind of Python unit testing---as we do here for Python X2Go.
 """
 
diff --git a/x2go/utils.py b/x2go/utils.py
index 599c1ed..2cd9725 100644
--- a/x2go/utils.py
+++ b/x2go/utils.py
@@ -69,7 +69,7 @@ def is_in_nx3packmethods(method):
 
 def find_session_line_in_x2golistsessions(session_name, stdout):
     """\
-    Return the X2Go session meta information as returned by the 
+    Return the X2Go session meta information as returned by the
     C{x2golistsessions} server command for session C{session_name}.
 
     @param session_name: name of a session
@@ -428,7 +428,7 @@ def unique(seq):
 
 def known_encodings():
     """\
-    Render a list of all-known-to-Python character encodings (including 
+    Render a list of all-known-to-Python character encodings (including
     all known aliases)
 
     """
diff --git a/x2go/xserver.py b/x2go/xserver.py
index 3133ac3..120d978 100644
--- a/x2go/xserver.py
+++ b/x2go/xserver.py
@@ -54,7 +54,7 @@ class X2GoClientXConfig(inifiles.X2GoIniFile):
     def __init__(self, config_files=_X2GO_XCONFIG_CONFIGFILES, defaults=_X2GO_CLIENTXCONFIG_DEFAULTS, logger=None, loglevel=log.loglevel_DEFAULT):
         """\
         Constructs an L{X2GoClientXConfig} instance. This is normally done by an L{X2GoClient} instance.
-        You can retrieve this L{X2GoClientXConfig} instance with the C{X2GoClient.get_client_xconfig()} 
+        You can retrieve this L{X2GoClientXConfig} instance with the C{X2GoClient.get_client_xconfig()}
         method.
 
         On construction the L{X2GoClientXConfig} instance is filled with values from the configuration files::
@@ -246,7 +246,7 @@ class X2GoClientXConfig(inifiles.X2GoIniFile):
                 self.update_value(xserver_name, 'last_display', _new_display)
                 _parameters = self.get_value(xserver_name, 'parameters')
                 _parameters[0] = ":%s" % (_detect_xserver_port -6000)
-                self.update_value(xserver_name, 'parameters', tuple(_parameters))  
+                self.update_value(xserver_name, 'parameters', tuple(_parameters))
                 self.write_user_config = True
                 self.write()
                 return _new_display

--
Alioth's /srv/git/code.x2go.org/python-x2go.git//..//_hooks_/post-receive-email on /srv/git/code.x2go.org/python-x2go.git


More information about the x2go-commits mailing list