Skip to content

Maxima Plugin under Linux

mkraska edited this page Oct 25, 2026 · 1 revision

Using the Maxima plugin on Linux

The Maxima plugin was written for Windows: it starts Maxima by calling maxima.bat -s <port> from the path stored in its configuration. On Linux, a small shell script with the same name does the job.

Tested with: SMath Studio 1.5.0.9678 (AppImage, Ubuntu 24.04), Maxima plugin 1.98, Maxima 5.46.0 from the Ubuntu repositories in a Claude sandbox (Ubuntu 24.04, glibc 2.39).

SMath_Linux_Maxima_UI

1. Install Maxima

sudo apt install maxima
maxima --version

Note the version number; it is used in the next step.

2. Create the wrapper script maxima.bat

Keep the folder name maxima-<version>. The plugin appears to derive the Maxima version from it.

mkdir -p ~/maxima-5.46.0/bin
printf '#!/bin/sh\nexec /usr/bin/maxima "$@"\n' > ~/maxima-5.46.0/bin/maxima.bat
chmod +x ~/maxima-5.46.0/bin/maxima.bat

The script passes all arguments (including -s <port>) on to the system Maxima.

3. Enter the path in the plugin configuration

Close SMath Studio, then open the plugin's configuration file

~/.config/SMath/extensions/plugins/44011c1e-5d0d-4533-8e68-e32b5badce41/maxima.xml

and set the full path of the script (replace <user> with your user name; ~ is not expanded here):

<PathToMaxima.bat>/home/<user>/maxima-5.46.0/bin/maxima.bat</PathToMaxima.bat>

4. Test

Start SMath Studio and evaluate

MaximaControl("restart")

The result should be "Maxima started successfully.". After that, Maxima(), MaximaDefine(), ODE_2(), Solve() and the other plugin functions work as on Windows.

Troubleshooting

  • "Maxima not found" or no answer: run the script by hand (~/maxima-5.46.0/bin/maxima.bat); it must open a Maxima prompt. Check that it is executable and that the path in maxima.xml is absolute.
  • Settings lost: edit maxima.xml only while SMath Studio is closed; SMath may write the file back on exit.
  • Different Maxima location (e.g. compiled from source or installed via Snap/Flatpak): use the output of which maxima in the script instead of /usr/bin/maxima.