我正在编写一个tkinter脚本,它接受来自UI的linux命令。单击提交按钮后,我想运行从远程linux服务器上的UI获取的命令,并收集输出并显示在Tkinter窗口上。
关于tkinter零件,我做得很好。问题是当我想在远程服务器上执行此命令并收集输出时。 我将在 Conda
的虚拟环境中运行我的程序关于谷歌的一项小型研究,我看到的最常见的解决方案是使用面料,如此link所示 我看到的其他解决方案是使用plink和popen。
但我不清楚在哪里提到使用上述任何解决方案连接到远程服务器的主机名和密码。我将如何发送命令并将输出接收回我的tkinter流程。如果由于某种原因我执行的命令失败了,我能理解吗?
对此有任何帮助将不胜感激!提前谢谢
答案 0 :(得分:0)
您想使用host_string
动态指定目的地。在执行命令之前更改它。
一个例子是:
from fabric.api import run, env
env.host_string = 'user@host.com'
def ls():
run("ls")
答案 1 :(得分:0)
所以我找到了我正在寻找的解决方案..可能是我没有读过我之前正在浏览的文档.. 在这里
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
就是这样!