0

我想在我的服务器上运行一个 python 脚本(那个 python 脚本有 GUI)。但我想从 ssh 开始。像这样的东西:

  • ssh me@server -i my_key "nohup python script.py" ... > 让脚本永远运行,但它抱怨“无法访问视频驱动程序”,因为它试图使用我的 ssh 终端作为输出。

我能否以某种方式使我的命令输出在服务器机器上运行,而不是在我的终端上运行...基本上类似于“局域网唤醒功能”之类的东西->告诉服务器您想要一些东西,他将使用自己的系统做所有事情(不发送任何输出返回)

4

2 回答 2

0

关于什么

ssh me@server -i my_key "nohup python script.py >/dev/null 2>&1"

当然,您可以使用重定向到某个远程日志文件而不是 /dev/null。? :)

编辑:X 上的 GUI 应用程序通常使用 $DISPLAY 变量来知道它们应该显示在哪里。此外,X11 显示服务器使用授权来允许或禁止应用程序连接到其显示器。命令

export DISPLAY=:0 && xhost +

可能对你有帮助。

于 2012-09-20T08:51:44.033 回答
0

您是否可以宁愿使用python ssh 扩展而不是调用外部应用程序?

它会:

  • 作为一个进程运行
  • 保证调用在所有可能的系统中都是相同的
  • 失去“执行”的开销
  • 通过 ssh 发送所有内容(您不必担心像这样的输入"; possibly local executed command

如果没有,请遵循 Piotr Wades 的建议。

于 2012-09-20T08:58:22.900 回答