SSHを介してリモートサーバーでPythonスクリプトを実行していますが、最後にXサーバーを有効にする必要があるpyplotを使用してグラフを保存するように要求します。長い間実行していたので、「screen」コマンドを使用し、そのままにしてから戻ってくると復元しています。問題は、復元された画面が最初に接続したときにSSHに使用したXディスプレイ(例:localhost:15.0)に出力しようとしましたが、通常はローカルコンピュータに戻るか、サーバーが自分に別のコンピュータを割り当てたとき(例:localhost: 22.0)、出力する場所が見つからないため、コードが壊れます。
このタイムアウトを防ぐか、SSHセッションで使用するディスプレイを設定する方法はありますか? -Xと-Yで接続しようとしましたが、変更はありませんか?
ありがとうございます!
ベストアンサー1
まず、Xフレームバッファを必要としないmatplotlibなどの他のフローティングライブラリを使用する方が良いでしょう。
pyplotを使用する必要がある場合は、リモート側でXvfb(仮想Xサーバー)を起動し、渡されたXディスプレイの代わりに$ DISPLAY変数を指定してみてください。これにより、問題なく画面内で実行されます。