Why aren't my MATLAB preferences saved on Linux?

173 views (last 30 days)
I'm using R2022b on Linux. On first boot, I switched my keyboard shortcuts to Windows style and turned on font anti-aliasing. These affects persist between sessions.
Now, however, whatever changes I make to the preferences do not persist. e.g. If I switch the font size to 12, it reverts to 10. If I change the theming, it reverts.
Running `prefsdir` in MATLAB always shows the same directory, `~/.matlab/R2022b`, so I don't think it has trouble finding the directory. The only error that pops up when I launch `matlab` from terminal is related to libcanberra, but that's a sound library.
Any ideas? Am I missing something obvious? I'd really like to have persistant preferences. Thanks.
  3 Comments
Chris
Chris on 21 Sep 2022
Nice. Seems like it may get some attention as a bug too, looking at the other post.

Sign in to comment.

Accepted Answer

Shervin Sahba
Shervin Sahba on 21 Sep 2022
Edited: Shervin Sahba on 2 Dec 2022
Found a fix. It looks like some sort of issue with how matlab is utilizing the /tmp directory. I don't fully understand what's happening, but as a hack, you can create an auxiliiary temp directory for MATLAB to use inside your home directory. I put it under the cache directory, like so:
mkdir ~/.cache/matlab-tmp
Then matlab can be launched from command line with the environment variable for the TMPDIR exported as
TMPDIR=~/.cache/matlab-tmp matlab -desktop
Any changes to preferences made while using this surrogate temp directory should actually save and persist on your next session.
I'll probably rely on this temp directory from here on out, as I don't see an issue with using it. To launch matlab with this environment variable more easily, you can write up a shell script or add a desktop file like the following. Here's my ~/.local/share/applications/matlab.desktop, which tells Matlab to rely on the new tmp and purges its contents after you're done.
NOTE: Change <username> below to your username! This is only a placeholder, and leaving it unchanged may damage your system!
[Desktop Entry]
Type=Application
Version=R2022b
Name=MATLAB
Comment=Scientific computing software
Icon=/home/<username>/.local/share/applications/matlab_logo.png
Exec=bash -c "export TMPDIR=/home/<username>/.cache/matlab-tmp; matlab -desktop; rm -r $TMPDIR/*"
Terminal=False
  8 Comments
Antonio Javier Barragán Piña
It worked for me in a Linux Mint with MATLAB 2022b.
The code export TMPDIR=~/.matlab/R2022b/; is just needed when you want to change the settings.

Sign in to comment.

More Answers (1)

Batuhan Baserdem
Batuhan Baserdem on 30 Dec 2022
This fix is not working for me; coupled with another bug that vcs integration causes matlab to crash; matlab is completely unusable for me; unless I act quick enough to open preferences and disable vcs integration on every launch. Really annoying.

Categories

Find more on Startup and Shutdown in Help Center and File Exchange

Products


Release

R2022b

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!