Apa itu dconf, apa fungsinya, dan bagaimana cara menggunakannya?

78

Mark Shuttleworth baru-baru ini membuat blog tentang keputusan untuk menyertakan perpustakaan Qt dalam rilis 11.10, dengan tindak lanjut dari Jono Bacon. Mark menyatakan bahwa tantangan terbesar untuk mengintegrasikan aplikasi yang ditulis dalam Qt ke dalam sistem Ubuntu yang lebih besar adalah ketidakcocokan Qt saat ini dengan dconf.

Apa itu dconf, dan apa peran yang dimainkannya di Ubuntu?


sumber
Kemungkinan duplikat dari Bagaimana cara menggunakan editor gconf?
Pablo A

Jawaban:

88

pengantar

Seperti jawaban lain di situs ini yang membahas gconfdan dconfbersama - sama, saya hanya akan berkonsentrasi pada membahas alat-alat baris perintah seperti gsettingsdan gui dconf-editoryang digunakan untuk mengakses dconfdatabase.

Di situs resmi GNOME disebutkan bahwa

dconf adalah sistem konfigurasi tingkat rendah. Tujuan utamanya adalah untuk memberikan backend ke GSettings pada platform yang belum memiliki sistem penyimpanan konfigurasi.

dconf adalah sistem konfigurasi berbasis kunci sederhana. Kunci ada dalam database yang tidak terstruktur (tetapi dimaksudkan bahwa kunci yang secara logis dimiliki bersama dikelompokkan bersama).

Memiliki semua kunci dalam format biner tunggal yang kompak juga menghindari masalah fragmentasi intens yang saat ini dialami oleh pendekatan tree-of-directories-of-xml-file.

dconf dioptimalkan untuk dibaca. Biasanya, membaca kunci dari dconf melibatkan zero system calls dan zero context switch. Menulis kurang dioptimalkan - mereka melintasi bus dan ditangani oleh "penulis" - layanan DBus - dengan cara biasa.

Menggunakan gsettingsuntuk melihat dan mengubah pengaturan

Sekali orang mengetahui gsettingsitu bisa semudah gui dconf-editor. Opsi dapat didaftar dengan memasukkan man gsettingsatau pergi ke halaman manual Ubuntu online .

CATATAN: Karena sistem semua orang menginstal program yang berbeda, Anda mungkin harus mengganti item tertentu yang saya pilih untuk yang berbeda ketika melakukan percobaan sendiri, karena saya menggunakan XUbuntu XFce dengan banyak program GNOME.

Untuk mendaftar semua skema yang tersedia, masukkan

gsettings list-schemas

Untuk juga memasukkan semua kunci, masukkan

gsettings list-recursively

Namun , biasanya lebih mudah untuk menentukan apa yang Anda inginkan, misalnya,

gsettings list-schemas | grep -i shotwell

Ini mengembalikan daftar panjang; Saya telah mempersingkatnya menjadi:

org.yorba.shotwell
org.yorba.shotwell.preferences.ui
org.yorba.shotwell.preferences.slideshow
org.yorba.shotwell.plugins.enable-state
org.yorba.shotwell.printing
org.yorba.shotwell.preferences.editing
org.yorba.shotwell.preferences.files

Sekarang ketika Anda telah menemukan skema yang Anda minati, daftarkan kuncinya

gsettings list-keys org.yorba.shotwell.preferences.ui

Ini mengembalikan daftar (sekali lagi saya telah mempersingkatnya):

background-color
display-basic-properties
display-extended-properties
display-photo-ratings
display-photo-tags
display-photo-titles
event-photos-sort-ascending
event-photos-sort-by

Pilih satu dan lihat apa nilai saat ini

gsettings get org.yorba.shotwell.preferences.ui display-photo-tags

Ini mengembalikan nilai true, jadi untuk membalikkannya, gunakan

gsettings set org.yorba.shotwell.preferences.ui display-photo-tags false

Ini adalah contoh sepele , tetapi pada dasarnya menunjukkan bagaimana kunci dan nilai diidentifikasi dan diubah gsettings.

Menggunakan dconf-editor untuk mengubah pengaturan

Program GUI, dconf-editordiinstal dengan paket dconf-tools dengan mengklik di sini atau dengan menjalankan

sudo apt-get install dconf-tools

Kemudian jalankan dengan memasukkan di terminal atau di menu peluncuran cepat dconf-editor,.

Seperti yang dapat Anda lihat di tangkapan layar, semua berbagai skema dapat diperluas di sisi kiri dan tombol yang sesuai dipilih. Sangat mudah untuk menavigasi ke nilai yang Anda inginkan (dalam hal ini gnome-mplayerpreferensi). Anda dapat mengklik kotak centang untuk mengaktifkan nilai atau menambahkan nilai numerik ke dalam salah satu kotak lainnya. Anda juga dapat mencari di dalam editor dconf dengan Ctrl+ Fpintasan keyboard.

masukkan deskripsi gambar di sini

Anda juga dapat menambahkan catatan log lainnya log-viewerdengan menambahkan jalur dalam bentuk ['/var/log/auth.log', var .... '] pada tangkapan layar di bawah ini.

masukkan deskripsi gambar di sini

Kesimpulan

Ada banyak cara lain yang berguna yang dapat Anda atur pengaturan dengan keduanya gsettingsdan dconf-editordan mereka mudah digunakan. Layak untuk memeriksa melalui mereka untuk melihat apakah ada opsi di sana yang tidak ada dalam preferensi program, karena Anda mungkin dapat menyesuaikan program Anda seperti yang Anda inginkan. Seperti fossfreedom baru-baru ini menunjukkan dalam pertanyaan ini

mengetahui cara menggunakan gsettingsatau dconf-editorsangat berharga. Lihat juga:

Pablo A
sumber
5
Karena program gsettingsdan dconf-editorkeduanya bekerja pada dconfbasis data, mengapa mereka tidak menampilkan informasi yang sama? gsettingpada 12,04 menunjukkan nilai untuk skema com.canonical.Unity.Launcherdan kunci favoritestetapi dconf-editorbahkan tidak menawarkan com.canonical.Unityapalagi skema penuh atau kunci.
AH
@AH: pertanyaan bagus. Saya sudah bertanya di sini: askubuntu.com/q/243409/2355
Flimm
@ Aa Maaf saya lupa menjawab komentar Anda: Saya tidak bisa mengomentari Unity karena saya di Xubuntu, tetapi Flimm telah mengajukan pertanyaan terpisah yang harus mendapatkan jawaban yang bagus.
4
Tapi apa yang membuat dconf tidak kompatibel dengan Qt, toolkit GUI?
Salman von Abbas
Pada RHEL / CentOS gunakan yum install dconf-editoruntuk menginstal alat GUI.
Mark Edington
26

Bagi mereka yang datang dari windows yang menginginkan balasan sederhana, dconf adalah gnome yang setara dengan registry windows ... pohon biner besar tempat program apa pun dapat menyimpan dan berbagi konfigurasi mereka.

Mereka pertama kali bermigrasi dari konfigurasi unix tradisional (satu file teks untuk setiap aplikasi, masing-masing dengan format sendiri) ke pohon standar file XML, dikelola oleh gconf. Baru-baru ini, karena hampir tidak ada yang mengedit file XML secara langsung dan masalah kinerja membaca dan mem-parsing file BANYAK, mereka bermigrasi ke format biner dengan bermigrasi dari gconf ke dconf.

Tidak seperti windows registry, dconf harus memiliki semua entri konfigurasi terdaftar, bahkan jika mereka ditetapkan ke nilai default. Jadi tidak ada entri yang tersembunyi, Anda dapat mengubah atau mengatur ulang kemudian ke default dengan mudah.

higuita
sumber
10

dconf bukan spesifik untuk Ubuntu, itu adalah teknologi GNOME yang digunakan untuk menyimpan pengaturan aplikasi. Untuk detail lebih lanjut silakan baca http://live.gnome.org/dconf

João Pinto
sumber
Apa hubungan antara dconf dan gconf?
psusi
10
dconf adalah pengganti GNOME3 untuk gconf yang belum dipertahankan selama beberapa waktu. dconf juga diharapkan membawa peningkatan kinerja lebih dari gconf (relevan untuk startup aplikasi).
João Pinto
1
Pertanyaan dalam komentar psusi di atas sebagian dijawab dalam jawaban atas pertanyaan " Mengapa kontroversi tentang dconf dan gconf? ". Saya yakin psusi menyadarinya, setelah mengomentari pertanyaan itu, tetapi kalau-kalau ada orang yang ingin tahu lebih banyak, itu dia.
Firefeather