GNU/Linux >> Linux Esercitazione >  >> Linux

Come visualizzare il contenuto di un backup del file di database Dconf?

Ho eseguito un backup del file in cui il mio dconf il database è memorizzato (~/.config/dconf/user che è un file binario), e ora ho bisogno di spostare alcune chiavi dal backup a dconf in uso.

Come posso visualizzare il contenuto di dconf di cui è stato eseguito il backup senza metterlo "al suo posto" e visualizzarlo ad esempio con dconf-editor ?

Risposta accettata:

Per visualizzare il contenuto di quel file è possibile rinominarlo, ad es. test – mettilo sotto ~/.config/dconf/ e quindi avere dconf leggere/scaricare le impostazioni da quel file.
Per impostazione predefinita, dconf legge il db utente trovato in $XDG_CONFIG_HOME/dconf/ :

Un "user-db" line specifica un database utente.
Questi database si trovano in $XDG_CONFIG_HOME/dconf/ . Il nome del file da aprire in quella directory
è esattamente come è scritto nel profilo. Questo file
dovrebbe essere nel formato database binario dconf. Nota che XDG_CONFIG_HOME non può essere impostato/modificato per terminale o sessione,
perché allora lo scrittore e il lettore lavorerebbero su DB diversi
(lo scrittore viene avviato da DBus e non può vedere quella variabile).

Di conseguenza, avresti bisogno di un profilo personalizzato che punti a quel particolare file db, ad es. user-db:test e poi istruisci dconf per scaricare i dati (usando il profilo personalizzato) tramite il DCONF_PROFILE variabile d'ambiente:

cd
cp /path_to_backup_dconf/user ~/.config/dconf/test
printf %s\\n "user-db:test" > db_profile
DCONF_PROFILE=~/db_profile dconf dump / > old_settings

Il risultato è un file (old_settings ) contenente le impostazioni di dconf di cui è stato eseguito il backup file, es.:

[org/gnome/desktop/interface]
font-name='DejaVu Sans Oblique 10'
document-font-name='DejaVu Sans Oblique 10'
gtk-im-module='gtk-im-context-simple'
clock-show-seconds=true
icon-theme='HighContrast'
monospace-font-name='DejaVu Sans Mono Oblique 10'

[org/gnome/desktop/input-sources]
[email protected](ss) []
[email protected] []

[org/gnome/desktop/wm/preferences]
num-workspaces=4
titlebar-font='DejaVu Sans Bold Oblique 10'

.......

Puoi quindi rimuovere quei file:

rm -f ~/db_profile ~/.config/dconf/test

e carica le vecchie impostazioni nel database corrente:

dconf load / < old_settings

Se vuoi scaricare solo impostazioni specifiche, fornisci semplicemente il percorso:

DCONF_PROFILE=~/db_profile dconf dump /org/gnome/desktop/wm/preferences/
[/]
num-workspaces=4
titlebar-font='DejaVu Sans Bold Oblique 10'

ma nota che per ogni percorso dovresti avere un file diverso e quando lo carichi dovresti specificare il percorso di conseguenza:

dconf load /org/gnome/desktop/wm/preferences/ < old_wm_settings

Nota anche che, a causa di modifiche a monte, il vecchio dconf i database potrebbero contenere percorsi, chiavi e valori che non sono validi nelle versioni più recenti, quindi piena compatibilità tra i file db creati da diverse versioni di dconf non è sempre garantito. In tal caso, dovresti controllare le old_settings risultanti file e rimuovere o modificare manualmente le voci non valide prima di caricarlo nel database corrente.

Correlati:Centos – DNSMasq – Risposte diverse per indirizzi MAC specifici?
Linux
  1. Come aggiungere una nuova riga alla fine di un file?

  2. Come conservare la tavolozza dei colori del terminale Gnome?

  3. Come eseguire il backup del database Mysql con phpMyAdmin?

  4. Come aggiungere l'output a un file?

  5. Come reindirizzare l'output di system() su un file?

Come eseguire il backup del database MSSQL da SolidCP?

Come eseguire il backup del database MSSQL da WebsitePanel 2.1?

Come eseguire il backup del database MySQL da WebsitePanel 2.1?

Come controllare il nome del database Joomla?

Come eseguire un backup del database su Plesk

5 comandi per visualizzare il contenuto di un file nella riga di comando di Linux