Come posso cambiare le chiavi di dconf senza una gui (per uno script post-installazione)?


31

Ho installato dconf-tools. In questo caso sto manipolando la visualizzazione di un nome nel pannello sull'indicatore di sessione.

Posso cambiarlo nella gui di dconf-editor senza problemi, vado in app / sessione-indicatore e deseleziono show-real-name-on-panel.

Tuttavia, ho anche provato a attivarlo semplicemente usando dconf dalla riga di comando:

dconf write /com/canonical/indicator/session/show-real-name-on-panel false

Dopo il riavvio, il pannello rimane invariato e anche la chiave nell'editor dconf rimane invariata.

Inoltre, il tentativo di aggiornare il database dconf tramite il terminale genera un errore:

$ dconf update
fatal: Error opening directory '/etc/dconf/db': No such file or directory

Dalla mia esperienza sembra che dconf e dconf-editor non abbiano relazioni, quindi mi chiedo solo cosa sto facendo di sbagliato.

Se riesco a capire questo, voglio semplicemente inserire il comando in uno script bash per eseguirlo la prossima volta che devo fare un'installazione pulita per un aggiornamento *. Faccio molte modifiche in 6 mesi e voglio solo automatizzare il più possibile da ora in poi.

  • Leggermente fuori tema: il meccanismo di aggiornamento della distribuzione non ha mai funzionato senza intoppi per me; L'ho provato anche dall'11.04 all'11.10.

Risposte:


35

Puoi usare lo gsettingsstrumento.

gsettings set com.canonical.indicator.session show-real-name-on-panel false

Grazie, ha funzionato! Funziona ovunque come farebbe dconf? Sarà deprecato a favore di dconf o continuerà ad essere utilizzato per il prossimo futuro?
Inkayacu,

Sì, gsettings può essere usato ovunque dconf.
Anonimo il

1
No, non sarà deprecato. dconf ha sostituito gconf che sarà deprecato. gconf può essere modificato con gconf-editoro gconftool-2. dconf può essere modificato con dconf-editoro gsettings.
Anonimo il

gconf salva i suoi file nella directory home nella directory .gconf /.
Anonimo il

12

Quanto segue ha funzionato per me su Ubuntu 14.04:

dconf write /org/gnome/gnome-session/auto-save-session true

Il valore è cambiato e è rimasto modificato dopo il riavvio. Ho avuto un altro problema che le finestre non sono state salvate ma è un problema completamente diverso.


6

dconf dump+ loadesportazione e ripristino di massa

  1. Scarica tutte le impostazioni in un file:

    dconf dump / >~/.config/dconf/user.conf
    
  2. Apri quel file su un editor di testo e seleziona le impostazioni che ti interessano:

    editor ~/.config/dconf/user.conf
    

    Se usi Vim, vorrai evidenziare questa sintassi .

  3. Se non conosci il nome dell'impostazione, ma sai come modificarlo da una GUI come unity-control-center, esegui:

    dconf watch /
    

    e poi modificarli. L'impostazione esatta apparirà quindi sul terminale.

  4. Quando si desidera ripristinare tali impostazioni, eseguire:

    dconf load / <~/.config/dconf/user.conf
    
  5. Git traccia il file di configurazione per non perderlo mai. https://github.com/andsens/homeshickhomesick è il mio metodo preferito attuale.

Testato su Ubuntu 15.10. Suggerimento adattato da: http://catern.com/2014/12/21/plain-text-configuration-gnome.html


1

Sembra (almeno nel 15.10) che ci sono alcune cose (in particolare compiz) che memorizzano solo la configurazione a dconflivello e non possono essere impostate tramite gsettings. È possibile che ciò influisca su altri percorsi di configurazione, ma probabilmente improbabile - dal momento che compiz è a un livello inferiore rispetto all'unità, non mi sorprende che si comporti diversamente.

Ad esempio, questo funzionerà:

dconf write /org/compiz/profiles/unity/plugins/core/outputs "['3200x1800+288+2160', '3840x2160+0+0']"

mentre ciò non:

gsettings set org.compiz.profiles.unity.plugins.core outputs "['3200x1800+288+2160', '3840x2160+0+0']"
# No such schema 'org.compiz.profiles.unity.plugins.core'

Ora, se solo potessi capire come ricaricare Compiz senza andare in crash tutto ...

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.