code: def StartGuiSession(self):
  		
  		from UcsBase import WriteUcsWarning, UcsUtils, UcsValidationException
  		import urllib, tempfile, fileinput, os, subprocess, platform
  
  		osSupport = ["Windows", "Linux", "Microsoft"]
  
  		if platform.system() not in osSupport:
  			raise UcsValidationException("Currently works with Windows OS and Ubuntu")
  		# raise Exception("Currently works with Windows OS and Ubuntu")
  
  		try:
  			javawsPath = UcsUtils.GetJavaInstallationPath()
  			# print r"%s" %(javawsPath)
  			if javawsPath != None:
  
  				url = "%s/ucsm/ucsm.jnlp" % (self.Uri())
  				source = urllib.urlopen(url).read()
  
  				jnlpdir = tempfile.gettempdir()
  				jnlpfile = os.path.join(jnlpdir, "temp.jnlp")
  
  				if os.path.exists(jnlpfile):
  					os.remove(jnlpfile)
  
  				jnlpFH = open(jnlpfile, "w+")
  				jnlpFH.write(source)
  				jnlpFH.close()
  
  				for line in fileinput.input(jnlpfile, inplace=1):
  					if re.search(r'^\s*</resources>\s*$', line):
  						print '\t<property name="log.show.encrypted" value="true"/>'
  					print line,
  
  				subprocess.call([javawsPath, jnlpfile])
  
  				if os.path.exists(jnlpfile):
  					os.remove(jnlpfile)
  			else:
  				return None
  
  		except Exception, err:
  			fileinput.close()
  			if os.path.exists(jnlpfile):
  				os.remove(jnlpfile)
  			raise
docs: Launches the UCSM GUI via specific UCS handle.