Dconf: Gerenciando Configurações no GNOME

Dconf: Gerenciando Configurações no GNOME


dconf é um sistema de configuração usado principalmente pelo GNOME para armazenar preferências de usuários e configurações do sistema. Ele funciona como um banco de dados binário eficiente, acessado principalmente por meio da API GSettings.

Nesse guia vamos abordar sobre:

  • dconf (CLI)
  • dconf-editor (GUI)

Dconf CLI (linha de comando)

A interface de linha de comando dconf é útil para automação, scripting e acesso rápido às configurações.

Leitura de um valor

# Exibe o valor atual da chave especificada
dconf read /org/gnome/desktop/interface/clock-format

Escrita de um valor

dconf write /org/gnome/desktop/interface/clock-format "'12h'"

Importante
Note as aspas! O valor precisa estar formatado corretamente, incluindo aspas internas se for uma string, ou colchetes para listas, etc., tudo dentro das aspas externas que o shell interpreta.

  • Exemplo Booleano: dconf write /org/gnome/desktop/peripherals/touchpad/tap-to-click true
  • Exemplo Inteiro: dconf write /org/gnome/desktop/session/idle-delay 600 (sem aspas internas)

Resetando um valor

dconf reset /org/gnome/desktop/interface/clock-format

Listando chaves/subdiretórios

# Inclua uma barra "/" no final do caminho para listar o conteúdo.
dconf list /org/gnome/desktop/interface/

Monitorando alterações

# Observa e retorna as chaves e valores alterados no caminho especificado.
dconf watch /org/gnome/

Backup de configurações

# Exporta um ramo inteiro da árvore de configurações para um arquivo.
dconf dump /org/gnome/desktop/ > gnome-desktop-settings.dconf

Restaurando configurações

# Importa configurações de um arquivo previamente salvo.
dconf load /org/gnome/desktop/ < gnome-desktop-settings.dconf

Cuidado
Este comando sobrescreve as configurações existentes no caminho especificado. Use com cautela.


Dconf GUI (Interface grafica)

O dconf-editor oferece uma maneira visual e intuitiva de interagir com o banco de dados dconf.

Instalação

# Distros baseados em arch
sudo pacman -S dconf-editor

# Distros Fedora/CentOS/RHEL
sudo dnf install dconf-editor

# Distros Debian/Ubuntu
sudo apt install dconf-editor

A ferramenta permite visualizar e modificar as configurações facilmente.


Script para backup e restore

Para simplificar o backup e a restauração seletiva de configurações, incluindo extensões do GNOME Shell, você pode utilizar o seguinte conjunto de scripts.

Estrutura de Arquivos

  • Diretorio: diretorio backup é onde vai armazenar cada configuração do backup individualmente.
  • Script de paths: onde vai armazenar todos os paths para o backup/restore.
  • Script de backup: irá salvar suas configurações atuais dentro da pasta backup.
  • Script de restore: irá usar cada arquivo existe na pasta de backup para restaurar todos as configurações salvas.

Estrutra de arquivos fica

.
├── backup/               # Diretório para armazenar backups individuais
│   ├── app-switcher.conf
│   ├── background.conf
│   ├── ...
│   └── timepp.conf
├── config-backup.sh      # Script para realizar o backup
├── config-paths.sh       # Script para definir os caminhos de backup/restauração
└── config-restore.sh     # Script para restaurar as configurações

Setup

Execute os comandos abaixo no terminal para configurar os scripts.

Crie a pasta de backup

mkdir backup

Crie o arquivo de paths

cat > config-paths.sh <<EOF
#!/bin/bash

declare -a paths=(
  "/org/gnome/terminal/"
  "/org/nemo/preferences/"
  "/org/gnome/desktop/interface/"
  "/org/gnome/shell/extensions/dash-to-dock/"
  "/org/gnome/shell/extensions/just-perfection/"
  "/org/gnome/shell/extensions/status-area-horizontal-spacing/"
  "/org/gnome/shell/app-switcher/"
  "/org/gnome/settings-daemon/plugins/power/"
  "/org/gnome/desktop/input-sources/"
  "/org/gnome/desktop/background/"
  "/org/gnome/desktop/wm/preferences/"
  "/org/gtk/gtk4/settings/file-chooser/"
  "/org/gnome/nautilus/"
)

Atenção
Personalize o array paths com os caminhos que deseja incluir no backup. Os caminhos fornecidos são apenas exemplos. Você pode descobrir os paths usando o comando dconf watch <caminho>.

Criar o script de backup (config-backup.sh)

cat > config-backup.sh <<EOF
#!/bin/bash

# Backup configurações
source config-paths.sh

BACKUP_DIR=$(cd "$(dirname "$0")" && pwd)/backup

mkdir -p "$BACKUP_DIR"

for path in "${paths[@]}"
do
    filename=$(echo "$path" | sed -r 's#.*\/([a-z-]+)\/?#\1.conf#g')

    dconf dump "$path" > "$BACKUP_DIR/$filename"
done
EOF

Criar o script de restauração (config-restore.sh)

cat > config-restore.sh <<EOF
#!/bin/bash

# Restaura configurações
source config-paths.sh

BACKUP_DIR=$(cd "$(dirname "$0")" && pwd)/backup

for path in "${paths[@]}"
do
    filename=$(echo "$path" | sed -r 's#.*\/([a-z-]+)\/?#\1.conf#g')

    dconf load "$path" < "$BACKUP_DIR/$filename"
done
EOF

Tornar os Scripts Executáveis

chmod +x config-backup.sh config-paths.sh config-restore.sh

Uso

Após a configuração, edite o arquivo config-paths.sh para incluir os caminhos das configurações que deseja salvar. Em seguida:

  • Execute ./config-backup.sh para criar o backup.
  • Execute ./config-restore.sh para restaurar as configurações.
7 curtidas

Poderia ir para artigos.

Muito bom o tutorial.
Chamando
@thespation

2 curtidas