Why aren't my MATLAB preferences saved on Linux?

38 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
Shervin Sahba
Shervin Sahba on 21 Sep 2022
@Chris got a hack working and put info in the answer section. I'm on an Arch system as well, so hopefully this bug gets resolved.
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 27 Feb 2023
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
  10 Comments
Rudy Richardson
Rudy Richardson on 27 Feb 2023
Thanks! This worked for me on Linux Mint 21.1 Xfce (based on Ubuntu 22.04 LTS) and Matlab R2202b.
Shervin Sahba
Shervin Sahba on 27 Feb 2023
I made a slight edit to the script, changing rm -r $TMPDIR/* to rm -r $TMPDIR.
This should prevent any gross file deletions if there's a typo or something that causes TMPDIR to fail to declare.
You can also just leave the removal part out entirely unless you notice matlab storing large files.

Sign in to comment.

More Answers (2)

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.

Xiaowei Lin
Xiaowei Lin on 1 Apr 2023
Edited: Xiaowei Lin on 3 Apr 2023
This fix works for me.
I combine this thread with the DPI thread: https://ch.mathworks.com/matlabcentral/answers/406956-does-matlab-support-high-dpi-screens-on-linux succesfully to get a scaled-up version of MATLAB in Ubuntu using a high resolution monitor.
However the checkboxes in the menus, the sliding bar, the opening photo of MATLAB, etc. are still small.

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!