dconf изменить строковый ключ

16

Я пытаюсь изменить строковый ключ dconf скриптом bash, используя следующую командную строку:

dconf write /org/gnome/nautilus/preferences/show-directory-item-counts 'never'

Но он возвращает следующую ошибку:

error: 0-5:unknown keyword

Usage:
  dconf write KEY VALUE 

Write a new value to a key

Arguments:
  KEY         A key path (starting, but not ending with '/')
  VALUE       The value to write (in GVariant format)

Кто-нибудь может мне помочь?

редактировать 1: я пытаюсь сделать nautilus, чтобы не считать количество элементов в каталоге (для оптимизации)

Dremor
источник
Что ты пытаешься сделать? Какой учебник вы читаете?
Jobin
Я пытаюсь заставить nautilus перестать считать количество элементов в каждом каталоге.
Дремор

Ответы:

24

Значение требует дополнительной кавычки, т. Е. Чтобы присвоить строковое значение GVariant, 'foo'вам нужно записать значение аргумента как"'foo'"

dconf write /org/gnome/nautilus/preferences/show-directory-item-counts "'never'"

См. Dconf - Простой инструмент для управления базой данных dconf по адресу https://developer.gnome.org/

steeldriver
источник
6

То, что сказал Steeldriver, является правильным способом сделать это. Однако использование gsettings - более простой способ архивировать то же самое.

gsettings set org.gnome.nautilus.preferences show-directory-item-counts never
goetzc
источник
2
Использование gsettings, вероятно, лучший подход. См developer.gnome.org/dconf/unstable/dconf-tool.html , где говорится: «dconf не может выполнить типа и проверки согласованности на значениях Утилита gsettings является альтернативой , если необходимы такие проверки.»
Пи Джей Сингх
Кажется, у gsettings не те же ключи, что и у dconf, пример dconf read /org/compiz/profiles/unity/plugins/scale/initiate-edgeвозвращается 'TopRight', но gsettings get org.compiz.profiles.unity.plugins.scale initiate-edgeвозвращаетсяNo such schema 'org.compiz.profiles.unity.plugins.scale'
Андрей Изман
0
#!/usr/bin/env bash

STATE=`gsettings get org.gnome.desktop.background show-desktop-icons`
gsettings set org.gnome.desktop.background show-desktop-icons true|false
guneysus
источник