4

Linux マシンで MATLAB (2013a) をリモートで使用しています。ssh -X(OpenSSH_5.9p1、OpenSSL 0.9.8y 2013 年 2 月 5 日)を使用して、ssh 経由で X11 を転送しています。X11 サーバーは、Mac OS 10.8.5 上の XQuartz 2.7.4 (xorg-server 1.13.0) です。

私の MATLAB がクラッシュすると、何らかの理由で X11 接続が切断され、新しい X11 を再確立するために ssh 経由で再接続する必要があります。そうしないと、MATLAB が起動を拒否します。X11 アプリケーションがこのようなことを行うのは正常ですか? ssh経由で再接続せずにX11を修正する方法はありますか?

これは、スプラッシュ (-nosplash)、GUI、エディター、プロットがない場合に発生します。

bash編集:シェル ( ) 内部tmux(または場合によっては )で MATLAB を実行していますscreen

4

2 に答える 2

2

接続を開始して MATLAB を起動するために使用するコマンドの完全なシーケンスと、エラー メッセージを表示すると役立ちます。例えば:

# batch mode
client$ ssh -v -x user@server           # small "x" disables X11 forwarding
server$ unset DISPLAY
server$ nohup matlab -nodesktop -nodisplay -noFigureWindows -nosplash \
          -r "ver; quit;" > m_output.out 2>&1 < /dev/null &

# interactive mode
client$ export DISPLAY=localhost:0.0
client$ ssh -v -X user@server           # enable X11 forwarding
server$ matlab

いくつかのアイデア:

  • より詳細な出力を有効にし ( ssh -vv)、SSH 接続が閉じられた理由を調査します (出力メッセージまたはログ ファイルをデバッグします)。

  • からコマンドを直接実行していますsshか、それとも 2 つのステップで実行されていますか ( を使用して接続しssh、割り当てられたシェルから対話的にコマンドを開始します)?

  • 私の理解が正しければ、これは X11 転送を使用していない場合にも発生しますか?

  • これは、 nohupまたは screen/tmuxを使用した場合にも発生しますか? これを見る

  • TCPKeepAlivessh構成に追加してみてください

  • 自動再接続 SSH 接続の使用について

  • カスタム SSH 構成を使用していますか? ssh_config(その場合は、ファイルから関連する部分を表示しsshd_configます)

  • MATLAB を開始する前に、バックグラウンドで別のプロセスを実行してみてください

MATLAB が戻ったときにbash シェルを台無しにすることがあることが以前に報告され ています。MathWorks では、代わりに別のシェル (tcsh や zsh など) を使用することを推奨しています。

于 2013-10-07T21:25:19.450 に答える