Where does MATE Terminal save profiles

In MATE Terminal it possible to create profiles for SSH connections etc.

In order to ease installation of Ubuntu MATE for my colleagues I need to create script which creates a number of predefined profiles.

For KDE Konsole I created a myserver.profile in ~/.kde/share/apps/konsole/ for each profile. These profile files are plain text.

Is MATE Terminals profiles saved in a similar file? Where?

Is it possible to script profile creation? How?

Thanks, Christian

1.
The mate terminal profiles are managed by dconf. They do not exist as individual text files, but are instead stored in the dconf database under /org/mate/terminal/profiles. You can open the dconf database with the dconf editor application that you can find in your mate panel menu under Applications->System Tools.

For scripting purposes, you can use the dconf command. This command can read and write keys to the database. For instance, to know what font your terminal is using, you can type (and assuming your profile is called “default”):

$ dconf read /org/mate/terminal/profiles/default/font

See the dconf man page for more information. When you get into trouble trying to do something more specific, ask here on the forums and someone will eventually help.


2.
Know that you can save some terminal configuration settings to a file. Open a terminal window and type the following commands:

$ mate-terminal --save-config=/tmp/mtconf
$ cat /tmp/mtconf

Inspect the file and see if it contains anything that might interest you. If you find this is also a potential source for your scripting needs, you can use mate-terminal --load-config in the same way to load your own custom-made files. See the man page for man-terminal

1 Like

That explains why my fgrepping -r my entire home folder for the name of my profile didn't yield results.
Thanks for the tip!

Another thing that may confuse some users, particularly those used to the gsettings command (me included), is that you cannot use it. You apparently have to use dconf.

It even gets listed as a schema if you type

$ gsettings list-schemas | grep mate.terminal.profiles
org.mate.terminal.profiles

But if you try to list any keys, you get nothing:

$ gsettings list-keys org.mate.terminal.profiles

dconf works just fine. But still today it confuses me why list-schemas lists the terminal profiles path as a schema when even the dconf editor (which, to my knowledge, uses gsettings behind the scenes) lists that path has having no schema.