Saya telah mengambil cadangan file tempat dconf
saya database disimpan (~/.config/dconf/user
yang merupakan file biner), dan sekarang saya perlu memindahkan beberapa kunci dari cadangan ke dconf
sedang digunakan.
Bagaimana cara melihat konten dconf
yang dicadangkan? tanpa meletakkannya "di tempatnya" dan melihatnya dengan misalnya dconf-editor
?
Jawaban yang Diterima:
Untuk melihat konten file itu, Anda dapat mengganti namanya – mis. test
– letakkan di bawah ~/.config/dconf/
dan kemudian memiliki dconf
baca/buang pengaturan dari file itu.
Secara default, dconf
membaca user-db ditemukan di $XDG_CONFIG_HOME/dconf/
:
Sebuah
"user-db"
baris menentukan basis data pengguna.
Basis data ini ditemukan di$XDG_CONFIG_HOME/dconf/
. Nama file yang akan dibuka di direktori
itu persis seperti yang tertulis di profil. File ini
diharapkan dalam format database dconf biner. Perhatikan bahwaXDG_CONFIG_HOME
tidak dapat diatur/dimodifikasi per terminal atau sesi,
karena penulis dan pembaca akan bekerja pada DB yang berbeda
(penulis dimulai oleh DBus dan tidak dapat melihat variabel tersebut).
Akibatnya, Anda memerlukan profil khusus yang menunjuk ke file db tertentu – mis. user-db:test
dan kemudian menginstruksikan dconf
untuk membuang data (menggunakan profil khusus) melalui DCONF_PROFILE
variabel lingkungan:
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
Hasilnya adalah sebuah file (old_settings
) yang berisi pengaturan dari dconf
yang dicadangkan Anda file, misalnya:
[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'
.......
Anda kemudian dapat menghapus file-file itu:
rm -f ~/db_profile ~/.config/dconf/test
dan muat pengaturan lama ke dalam database saat ini:
dconf load / < old_settings
Jika Anda hanya ingin membuang pengaturan tertentu, berikan saja jalurnya:
DCONF_PROFILE=~/db_profile dconf dump /org/gnome/desktop/wm/preferences/
[/]
num-workspaces=4
titlebar-font='DejaVu Sans Bold Oblique 10'
tetapi perhatikan bahwa untuk setiap jalur Anda harus memiliki file yang berbeda dan ketika Anda memuatnya, Anda harus menentukan jalur yang sesuai:
dconf load /org/gnome/desktop/wm/preferences/ < old_wm_settings
Perhatikan juga bahwa, karena perubahan upstream, dconf
yang lebih lama database mungkin berisi jalur, kunci, dan nilai yang tidak valid dalam versi yang lebih baru sehingga kompatibilitas penuh antara file db yang dibuat oleh versi dconf
yang berbeda tidak selalu dijamin. Dalam hal ini, Anda harus memeriksa old_settings
yang dihasilkan file dan secara manual menghapus atau mengedit entri yang tidak valid sebelum memuatnya ke database Anda saat ini.