0

サーバーでPythonスクリプトを実行したい(PythonスクリプトにはGUIがあります)。しかし、私はそれをsshから始めたいと思います。このようなもの:

  • ssh me@server -i my_key "nohup python script.py" ...>スクリプトを永久に実行させますが、sshターミナルを出力として使用しようとしているため、「ビデオドライバーにアクセスできません」というメッセージが表示されます。

どういうわけか、コマンド出力を端末ではなくサーバーマシンで実行することはできますか...基本的に「wake-on-lan機能」のようなもの->サーバーに何かが必要なことを伝えると、サーバーは独自のシステムを使用してすべてを実行します(送信しない出力バック)

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拡張機能を使用することはできませんか?

それは:

  • 1つのプロセスとして実行
  • 呼び出しがすべての可能なシステム間で同じになることを保証します
  • 「実行」によるオーバーヘッドを失う
  • sshを介してすべてを送信します(次のような入力について心配する必要はありません"; possibly local executed command

そうでない場合は、PiotrWadesが提案したものを使用してください。

于 2012-09-20T08:58:22.900 に答える