Salome HOME
updated copyright message
[modules/kernel.git] / bin / runSession.py
index fde468001a926bcf7b8934023b0fe55f67104107..39d20593d9f57b44787d1eab9513fa5094d6ec17 100644 (file)
@@ -1,5 +1,5 @@
 #  -*- coding: iso-8859-1 -*-
-# Copyright (C) 2007-2019  CEA/DEN, EDF R&D, OPEN CASCADE
+# Copyright (C) 2007-2023  CEA, EDF, OPEN CASCADE
 #
 # Copyright (C) 2003-2007  OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
 # CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
@@ -150,6 +150,11 @@ User "myself" connects to remotemachine to run the script concatenate.py in
         os.environ['OMNIORB_CONFIG'] = fileOmniConfig
         # --- set environment variables for port and hostname of NamingService
         host, port = getNSparams()
+        try:
+            # keep short name for host, for a correct comparison with getShortHostName() later
+            host=host.split('.')[0]
+        except Exception:
+            pass
       else:
         # No running session
         host = "no_host"
@@ -215,7 +220,7 @@ def __runLocalSession(command):
         if proc.returncode != 0:
           any_error = True
           error_code = proc.returncode
-      except:
+      except Exception:
           any_error = True
           pass
 
@@ -308,10 +313,12 @@ def __runRemoteSession(sa_obj, params):
   tmp_in, tmp_out, tmp_script = __copyFiles(params.user, params.machine, script, sa_obj.args or [], sa_obj.out or [])
 
   # execute command on the remote SALOME application
-  command = "ssh %s@%s %s/salome shell " % (params.user, params.machine, params.directory)
+  command = "%s/salome shell" % (params.directory)
   if params.port:
-    command = command + "-p %s "%params.port
-  command = command + " %s %s args:%s"%(header, tmp_script, ",".join(tmp_in))
+    command += " -p %s "%params.port
+  command += " %s %s args:%s"%(header, tmp_script, ",".join(tmp_in))
+  # salome shell command must run in a login shell because of module function
+  command = "ssh %s@%s -t 'bash -l -c \"%s\"'" % (params.user, params.machine, command)
   print('[  SSH   ] ' + command)
   os.system(command)