Hide command window when using SSH tunnel on Windows #68

Closed
hfr opened this Issue Mar 15, 2012 · 1 comment

Projects

None yet

2 participants

@hfr
hfr commented Mar 15, 2012

On Windows the function SshContext.popen pops up an empty command window. The reason is the strange behaviour of the Windows console. The documentation about it is sparse, so it might be difficult for some user to get rid of it. The solution is to start the console command as if it would be a GUI application and then to hide the main window.

This can be accomplished by passing a special startupinfo to subprocess.popen in case the platform is Windows.
The additional parameter startupinfo=None should not hurt on other platforms. I have tested it under Linux.

It would be nice if there lines could be added to ssh.py so that the use is easier for user running Windows.

rpyc/utils/ssh.py:

     import subprocess
     if subprocess.mswindows:
         SUI = subprocess.STARTUPINFO()
         SUI.dwFlags |= subprocess.STARTF_USESHOWWINDOW
         SUI.wShowWindow = subprocess.SW_HIDE
     else:
         SUI=None
     ...
     cwd = self.ssh_cwd, env = self.ssh_env, shell = False, startupinfo=SUI)
@tomerfiliba
Owner

please review the commit

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment