MATLAB Answers

How can I get the session history programmatically in headless?

1 view (last 30 days)
I would like to be able to programmatically query the session history in MATLAB (equivalent to what can be seen in the Command History). As there is no documented way to do this, I use the undocumented feature:
>> com.mathworks.mlservices.MLCommandHistoryServices.getSessionHistory
Unfortunately, in headless environment (no graphics), such as an SSH connection, this command throws:
Java exception occurred:
java.awt.HeadlessException
at java.awt.dnd.DragSource.<init>(Unknown Source)
at com.mathworks.mde.cmdhist.AltHistoryTable.<init>(AltHistoryTable.java:155)
at com.mathworks.mde.cmdhist.AltHistory$9.<init>(AltHistory.java:530)
at com.mathworks.mde.cmdhist.AltHistory.<init>(AltHistory.java:530)
at com.mathworks.mde.cmdhist.AltHistory.getInstance(AltHistory.java:268)
at com.mathworks.mde.cmdhist.AltHistory.getSessionCommands(AltHistory.java:408)
at
com.mathworks.mde.cmdhist.CmdHistoryRegistrar.getSessionHistory(CmdHistoryRegistrar.java:23)
at
com.mathworks.mlservices.MLCommandHistoryServices.getSessionHistory(MLCommandHistoryServices.java:33)

Accepted Answer

MathWorks Support Team
MathWorks Support Team on 11 Sep 2019
There is currently no documented way to query the session history.
Also, 'getSessionHistory' throws in headless, but there is not other undocumented feature that could work in headless.
The only workaround would be to manually parse the 'History.xml' file in the 'prefdir'. Note however that the structure of the 'History.xml' file is undocumented, and as such, can change at any time.

  0 Comments

Sign in to comment.

More Answers (0)

Sign in to answer this question.

Products


Release

R2015b

Translated by