コマンドラインから(つまり、カーネルをコマンドラインモードで実行しているときに)Mathematicaノートブックをどのように評価できますか?
リモートマシンで作業しているとします。ノートブックをm-fileに変換して評価することは可能ですが、ノートブックを使用して直接これを行うことができるかどうか知りたいです。
これは私がこれまでに持っているものです:
まず、リモートLinuxマシンでヘッドレスXサーバーを起動して、フロントエンドをそこで実行できるようにする(そしてノートブックを開く)必要があります。ローカルマシンで作業している場合は、この手順をスキップしてください。
Xvfb :1 &
export DISPLAY=:1
この後、私はMathematicaカーネル(math
)を起動し、次のことを行いました。
UsingFrontEnd
ノートブックを開くにはフロントエンドが必要なので、使用する必要があります。test.nbには、を含む単一の入力セルがありa=1
ます。
In[1]:= nb=UsingFrontEnd@NotebookOpen["test.nb"]
Out[1]= -NotebookObject-
ノートブックを評価しようとすると、どうやらダイアログReturn[]
が表示され、戻るために使用する必要があります。入力行が再び1からカウントを開始する理由がわかりません(新しいカーネルがフロントエンドによって開始されましたか?)a
値を取得しなかったことに注意してください。
In[2]:= UsingFrontEnd@NotebookEvaluate[nb]
In[1]:= a
Out[1]= a
In[2]:= Return[]
Out[2]= a
ダイアログから戻った後も、a
まだ値がありません。
In[3]:= a
Out[3]= a