From 641b72f3d1518368470ea8d261243b5a6b2c32f4 Mon Sep 17 00:00:00 2001 From: guanghongwei Date: Fri, 31 Oct 2014 18:42:55 +0800 Subject: [PATCH] =?UTF-8?q?=E6=B7=87=EE=86=BD=E6=95=BC=20foo.setwinsize()?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- jumpserver.py | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-) diff --git a/jumpserver.py b/jumpserver.py index 92e0e7082..4cfa42b67 100755 --- a/jumpserver.py +++ b/jumpserver.py @@ -62,7 +62,10 @@ class PyCrypt(object): def sigwinch_passthrough(sig, data): """This function use to set the window size of the terminal!""" winsize = getwinsize() - foo.setwinsize(winsize[0], winsize[1]) + try: + foo.setwinsize(winsize[0], winsize[1]) + except: + pass def getwinsize(): @@ -70,7 +73,7 @@ def getwinsize(): if 'TIOCGWINSZ' in dir(termios): TIOCGWINSZ = termios.TIOCGWINSZ else: - TIOCGWINSZ = 1074295912L # Assume + TIOCGWINSZ = 1074295912L # Assume s = struct.pack('HHHH', 0, 0, 0, 0) x = fcntl.ioctl(sys.stdout.fileno(), TIOCGWINSZ, s) return struct.unpack('HHHH', x)[0:2] @@ -118,11 +121,9 @@ def connect(host, port, user, password): foo.logfile = logfile foo.sendline('') signal.signal(signal.SIGWINCH, sigwinch_passthrough) - size = getwinsize() - foo.setwinsize(size[0], size[1]) - foo.interact() + foo.interact(escape_character=chr(28)) except pxssh.ExceptionPxssh as e: - print('密码错误: %s' % e) + print('登录失败: %s' % e) except KeyboardInterrupt: foo.logout()