使用 SSH 连接启动 sikulix 服务器
Launch sikulix server with SSH connection
一些有用的信息:虚拟机在 Azur 上 运行 Windows 10,我的本地计算机也是 运行 Windows 10,我有 OpenSSH_server安装在我的虚拟机上,端口 22 和 50001 都为 inboud/outbound.
打开
这是我的问题:
我有一个程序 运行 在我的本地计算机 (compA) 上有一个图形界面,它允许我使用 SSH 连接到远程计算机(使用 python 的 fabric 模块),并且在文本小部件内显示输出。我成功连接到我的虚拟机 (compB),并通过 SSH a .cmd 在 compB 上 运行。 .cmd 文件只有一行:java -jar C:\Redacted\sikulix\sikulix.jar -d 2 -s
手动执行时,效果很好,我可以访问 http://localhost:50001/
,我可以执行脚本。
当我通过 SSH 执行它时,我看到的只是 OpenJDK 平台二进制进程正在启动,但我无法访问 http://localhost:50001/
并且无法执行脚本。
我可以执行其他命令,例如 ipconfig
、dir
。
有什么原因会阻止 sikuli 服务器通过 SSH 启动吗?有什么我想念的吗?
编辑 1:
下面是我如何进行 SSH 连接(使用 fabric 模块)
client = fabric.Connection(host=hostname, user='redacted', connect_kwargs={'password': 'Redacted'})
这里我是如何运行命令(结构模块)
command = "java -jar C:\SaisigoWriter\sikulix\sikulix.jar -d 2 -s"
client.run(command)
我还有一个输出重定向器:
class TextReddirector(object):
def __init__(self, widget, tag="stdout"):
self.widget = widget
self.tag = tag
def writer(self, output_str):
self.widget.config(state="normal")
self.widget.insert("end", output_str, (self.tag,))
self.widget.see(tk.END)
self.widget.update()
self.widget.config(state="disabled")
def flush(self):
print("")
嗯,我发现,在尝试启动 java 命令之前执行 echo
,一切正常,太棒了。
一些有用的信息:虚拟机在 Azur 上 运行 Windows 10,我的本地计算机也是 运行 Windows 10,我有 OpenSSH_server安装在我的虚拟机上,端口 22 和 50001 都为 inboud/outbound.
打开这是我的问题:
我有一个程序 运行 在我的本地计算机 (compA) 上有一个图形界面,它允许我使用 SSH 连接到远程计算机(使用 python 的 fabric 模块),并且在文本小部件内显示输出。我成功连接到我的虚拟机 (compB),并通过 SSH a .cmd 在 compB 上 运行。 .cmd 文件只有一行:java -jar C:\Redacted\sikulix\sikulix.jar -d 2 -s
手动执行时,效果很好,我可以访问 http://localhost:50001/
,我可以执行脚本。
当我通过 SSH 执行它时,我看到的只是 OpenJDK 平台二进制进程正在启动,但我无法访问 http://localhost:50001/
并且无法执行脚本。
我可以执行其他命令,例如 ipconfig
、dir
。
有什么原因会阻止 sikuli 服务器通过 SSH 启动吗?有什么我想念的吗?
编辑 1:
下面是我如何进行 SSH 连接(使用 fabric 模块)
client = fabric.Connection(host=hostname, user='redacted', connect_kwargs={'password': 'Redacted'})
这里我是如何运行命令(结构模块)
command = "java -jar C:\SaisigoWriter\sikulix\sikulix.jar -d 2 -s"
client.run(command)
我还有一个输出重定向器:
class TextReddirector(object):
def __init__(self, widget, tag="stdout"):
self.widget = widget
self.tag = tag
def writer(self, output_str):
self.widget.config(state="normal")
self.widget.insert("end", output_str, (self.tag,))
self.widget.see(tk.END)
self.widget.update()
self.widget.config(state="disabled")
def flush(self):
print("")
嗯,我发现,在尝试启动 java 命令之前执行 echo
,一切正常,太棒了。