问题描述
我正在编写一个tkinter脚本,该脚本从UI接受Linux命令。 单击提交按钮后,我想运行从远程Linux服务器上的UI获得的此命令,并收集输出并显示在Tkinter窗口上。
关于tkinter的部分,我做的很好。 问题是当我想在远程服务器上执行此命令并收集输出时。 我将在Conda的虚拟环境中运行程序
在google的一项小型研究中,我看到的最常见的解决方案是使用该结构,如本所示,我看到的其他解决方案是使用plink和popen。
但是我不清楚我在哪里提到使用上述任何解决方案连接到远程服务器的主机名和密码。 我将如何发送命令并将接收的输出返回到我的tkinter流。 是否可以通过某种原因了解我执行的命令是否失败?
任何帮助,将不胜感激! 提前致谢
1楼
您要使用动态指定目标位置。 在执行命令之前进行更改。
一个例子是:
from fabric.api import run, env
env.host_string = 'user@host.com'
def ls():
run("ls")
2楼
所以我找到了我正在寻找的解决方案..可能是我没有正确阅读之前浏览过的文档..在这里
def connect():
print "starting to connect"
env.host_string = 'vpnuser@10.0.0.70'
env.password = "vpnuser "
run("ls -lrth")
将其放在fabfile.py文件中并像fab这样运行它-a connect
这就对了 !