我的最后一个问题也是同样的事情,但没有得到适当的建议,所以我再问一次。
我有一个将连接到 ssh 的 GUI。在它连接到 ssh 后,我无法执行任何操作,因此我必须通过脚本打开新终端,然后在该“新终端”中执行其余操作(显示各自的输出)。
现在我可以使用子进程打开新窗口,但它没有从 GUI 执行任何操作可能是代码问题。请帮我解决我的问题。
我在后端使用 python 和 shell 脚本,对 GUI 使用 wxpython。
注意:我正在寻找使用 Python 和 shell 脚本的解决方案。
我的代码是:
import time
import sys
import pexpect
c = pexpect.spawn("ssh -Y -L xxxx:localhost:xxxx user @ host.com")
time.sleep(0.1)
c.expect("[pP]aasword")
c.sendline("xxxxxx")
sub = subprocess.call("xfce4-terminal")
if sub:
subprocess.call("svn update",shell=True)
time.sleep(0.2)
c.interact()
c.pexpect([user@host.com~]$)
# here after its connects to ssh then command wont be executed
c.sendline("xfce4-terminal")
在 GUI 中,我有一个按钮“应用”和 5 个单选按钮。我一次可以选择 1 个单选按钮,并且必须单击“应用”按钮。然后它连接到 ssh 隧道并执行请求的操作。现在它在连接到 ssh_tunnel 后不允许进行任何操作。