I’m trying to configure the terminal (Ptyxis) on a system-wide basis. I.e. when a new user is created and they open the terminal for the first time, the configuration should be applied. Specifically, I want to change the default theme (because the blue on dark background has very low contrast).
I have recently learned that dconf-based applications can still be configured via text files by placing them in /etc/dconf/db/local.d/. This works great for most apps I need to configure, but not Ptyxis. The theme is configured on a per-profile basis. The first profile is only created when the user opens the application for the first time. A profile is referred to with some kind of UUID. I’ve tried dconf dump and put the result in the above mentioned location:
Hello there! I ran into this while chasing what I thought was a bug from upgrading to Ubuntu 25.10, on a surface pro. I mean who knows how many bugs I was experiencing with that setup, but it resulted in a lot of learning for me! So I thought i’d pass the details along.
The dconf can be updated almost exactly like you are describing and a few others ways depending on how you installed Ptyxis - the exact locations and route you take to get there might be different from mine. (i.e. distro packaging or flathub or nightly flatpak as the README calls out).
I was able to ‘dump’ the dconf to a file, completely ‘reset’ the settings, and then ‘load’ the file again to bring the profiles back through a few lines in the terminal. I’m new to changing the settings in dconf, I wound up dumping the dconf keys and values into a file again because I was unsure about the naming / schema / formatting / etc. etc. and i’m not sure if they are documented or easy to view otherwise.
If it helps to know, I also found that I was able to use the ‘dconf commands’ to create a profile from scratch.
Also, you can use ‘gsetting commands’, which is probably preferred? And it is mentioned in the README file for setting opacity!
Basically that UUID just needs to be in the right 2 or 3 places if you want the profile to actually show up as a selectable option, and if you want it to be the ‘default’ profile that is used when a user starts a Ptyxis session. Also note that it will take any string for the UUID, as long as the schema is being followed.
for example:
; side note - make sure to keep the right settings in the right "[]" if writing a file, or "path" if using a script like below!
[/]
default-profile-uuid='dev-testing'
profile-uuids=['dev-testing','98b8e52b9af866698178242d6907dd24']
; ...other options
[Profiles]
default-profile-uuid='dev-testing'
; ...other options
[Profiles/'dev-testing']
label='[DEV] Testing - label'
; ...other options
[Profiles/98b8e52b9af866698178242d6907dd24]
bold-is-bright=true
label='The other profile!'
palette='Everforest'
; ....more other options
# to dump the stored dconf settings to a file:
dconf dump /org/gnome/Ptyxis/ > ~/ptyxis-dconf-backup.ini
# to restore from that file:
dconf dump /org/gnome/Ptyxis/ > ~/ptyxis-dconf-backup.ini
# set the label that is visible for the profile you want to create - without this, you might wind up with a bunch of "unknown profiles" listed
dconf write /org/gnome/Ptyxis/Profiles/dev-testing/label "'[DEV] Testing - label'"
# to "set the UUIDs of available profiles" - if they aren't listted here they will not show up as an option!
dconf write /org/gnome/Ptyxis/profile-uuids "['dev-testing','98b8e52b9af866698178242d6907dd24']"
# to set the "default profile" - "UUID"
dconf write /org/gnome/Ptyxis/Profiles/default-profile-uuid "'dev-testing'"
An example from the README (for setting opacity):
# gsettings....
gsettings set org.gnome.Ptyxis.Profile:/org/gnome/Ptyxis/Profiles/$UUID/ opacity .85
# this is the same as hitting dconf key....
/org/gnome/Ptyxis/Profiles/$UUID/opacity
Anyways, hope this leads to decent solution for you if you are still testing configurations.