How do I restore MATE panel settings from old backup
I was playing around with the MATE Tweak tool and suddenly a stupid option removed all my panel applets and replaced with a default layout - that thing doesn't even confirm the destructive action first!
However, I do have a backup of my home folder in the old PC... What should I copy over to get my panel back? I tried looking for .mateconf
, .config/mate
or dconf/user
to no avail - both on my new and old computers the DConf Editor didn't show anything useful under org.mate.panel, only default stuff.
If you have backup of your dconf database file, which is usually in ~/.config/dconf/user
you can restore settings from that database. But some work needs to be done.
Dconf reads database values from a profile file (See wiki here). And the path of that profile file is read from the DCONF_PROFILE
environment variable.
-
So, first create a file named
user2
in your home directory with content like thisuser-db:user2
Put your old dconf database file in
~/.config/dconf/
directory with nameuser2
. There should be a file with nameuser
already.-
Open a terminal and extract the settings from old database
DCONF_PROFILE=~/user2 dconf dump /org/mate > ~/mate-old
This will dump the values from old dconf database in key-value format in
~/mate-old
file. -
Now load the settings back into the current database
dconf load /org/mate/ < ~/mate-old
This will restore most of the settings of mate.
Extra: If you want you can restore the whole database using /
in place of /org/mate
. But I'm not recommending this.
These preferences are stored in the dconf
database, which is written to when making changes in the GUI, the gsettings
CLI (where lots of panel settings can be found) or dconf
CLI.
According to /usr/share/doc/dconf-gsettings-backend/README
All preferences are stored in a single large binary file.
I have determined by experiment (changing settings and observing the modification time of the file) that this single large binary file in Ubuntu MATE 16.04 is most definitely
~/.config/dconf/user
which isn't human readable, of course
$ file ~/.config/dconf/user
: GVariant Database file, version 0
If you don't have this file in your backup, then you probably can't use the backup to restore your panel settings :(