Где хранить пользовательские настройки для приложения?

Если я хочу, чтобы мое приложение сохраняло несколько настроек, которые сохраняются, когда приложение закрывается, тогда где я должен их хранить?

Я не говорю ничего сложного: два логических значения и строка (хотя в будущем я мог бы захотеть сохранить более сложные настройки)

Я слышал, что gconf, dconf, gsettings и т. д. все упомянуты. Что такое «предпочтительный» метод? Предпочтительно, что это хорошо и легко в Python.

12
задан 3 September 2011 в 14:43

21 ответ

gconf устарел, поэтому для нового проекта я бы не использовал его. dconf является бэкэнд для хранения настроек, как разработчик приложений, вам обычно не нужно беспокоиться об этом.

Что вам, по-вашему, нужно gsettings, API высокого уровня (документация по API для C) сохранять / извлекать настройки, не беспокоясь о том, как они хранятся. gsettings является частью gio, который является одним из основных пакетов gnome (например, glib и gobject).

Если вы не хотите никаких зависимостей от gio (например, вы не разрабатываете приложение GNOME) и хотите хранить простые файлы конфигурации, Я бы предложил использовать каталог $HOME/.config (или любой другой каталог, определенный $XDG_CONFIG_DIRS) вместо $HOME/.your_appname, в соответствии с документацией API для C .

9
ответ дан 25 May 2018 в 19:01
  • 1
    Кажется, ваша ссылка на сообщение в блоге мертва. Есть ли у вас шанс? – Seth♦ 2 April 2015 в 23:19
  • 2
    @Seth, к сожалению, сообщение в блоге, с которым я связывался, похоже, больше не доступно. Я заменил ссылку ссылкой на другое сообщение в блоге, которое также должно стать хорошей отправной точкой. – Marcel Stimberg 8 April 2015 в 15:28

gconf устарел, поэтому для нового проекта я бы не использовал его. dconf является бэкэнд для хранения настроек, как разработчик приложений, вам обычно не нужно беспокоиться об этом.

Что вам, по-вашему, нужно gsettings, API высокого уровня (документация по API для C) сохранять / извлекать настройки, не беспокоясь о том, как они хранятся. gsettings является частью gio, который является одним из основных пакетов gnome (например, glib и gobject).

Если вы не хотите никаких зависимостей от gio (например, вы не разрабатываете приложение GNOME) и хотите хранить простые файлы конфигурации, Я бы предложил использовать каталог $HOME/.config (или любой другой каталог, определенный $XDG_CONFIG_DIRS) вместо $HOME/.your_appname, в соответствии с документацией API для C .

9
ответ дан 25 July 2018 в 21:22

gconf устарел, поэтому для нового проекта я бы не использовал его. dconf является бэкэнд для хранения настроек, как разработчик приложений, вам обычно не нужно беспокоиться об этом.

Что вам, по-вашему, нужно gsettings, API высокого уровня (документация по API для C) сохранять / извлекать настройки, не беспокоясь о том, как они хранятся. gsettings является частью gio, который является одним из основных пакетов gnome (например, glib и gobject).

Если вы не хотите никаких зависимостей от gio (например, вы не разрабатываете приложение GNOME) и хотите хранить простые файлы конфигурации, Я бы предложил использовать каталог $HOME/.config (или любой другой каталог, определенный $XDG_CONFIG_DIRS) вместо $HOME/.your_appname, в соответствии с документацией API для C .

9
ответ дан 31 July 2018 в 10:44

gconf устарел, поэтому для нового проекта я бы не использовал его. dconf является бэкэнд для хранения настроек, как разработчик приложений, вам обычно не нужно беспокоиться об этом.

Что вам, по-вашему, нужно gsettings, API высокого уровня (документация по API для C) сохранять / извлекать настройки, не беспокоясь о том, как они хранятся. gsettings является частью gio, который является одним из основных пакетов gnome (например, glib и gobject).

Если вы не хотите никаких зависимостей от gio (например, вы не разрабатываете приложение GNOME) и хотите хранить простые файлы конфигурации, Я бы предложил использовать каталог $HOME/.config (или любой другой каталог, определенный $XDG_CONFIG_DIRS) вместо $HOME/.your_appname, в соответствии с документацией API для C .

9
ответ дан 2 August 2018 в 03:02

gconf устарел, поэтому для нового проекта я бы не использовал его. dconf является бэкэнд для хранения настроек, как разработчик приложений, вам обычно не нужно беспокоиться об этом.

Что вам, по-вашему, нужно gsettings, API высокого уровня (документация по API для C) сохранять / извлекать настройки, не беспокоясь о том, как они хранятся. gsettings является частью gio, который является одним из основных пакетов gnome (например, glib и gobject).

Если вы не хотите никаких зависимостей от gio (например, вы не разрабатываете приложение GNOME) и хотите хранить простые файлы конфигурации, Я бы предложил использовать каталог $HOME/.config (или любой другой каталог, определенный $XDG_CONFIG_DIRS) вместо $HOME/.your_appname, в соответствии с документацией API для C .

9
ответ дан 4 August 2018 в 18:52

gconf устарел, поэтому для нового проекта я бы не использовал его. dconf является бэкэнд для хранения настроек, как разработчик приложений, вам обычно не нужно беспокоиться об этом.

Что вам, по-вашему, нужно gsettings, API высокого уровня (документация по API для C) сохранять / извлекать настройки, не беспокоясь о том, как они хранятся. gsettings является частью gio, который является одним из основных пакетов gnome (например, glib и gobject).

Если вы не хотите никаких зависимостей от gio (например, вы не разрабатываете приложение GNOME) и хотите хранить простые файлы конфигурации, Я бы предложил использовать каталог $HOME/.config (или любой другой каталог, определенный $XDG_CONFIG_DIRS) вместо $HOME/.your_appname, в соответствии с документацией API для C .

9
ответ дан 6 August 2018 в 03:15

gconf устарел, поэтому для нового проекта я бы не использовал его. dconf является бэкэнд для хранения настроек, как разработчик приложений, вам обычно не нужно беспокоиться об этом.

Что вам, по-вашему, нужно gsettings, API высокого уровня (документация по API для C) сохранять / извлекать настройки, не беспокоясь о том, как они хранятся. gsettings является частью gio, который является одним из основных пакетов gnome (например, glib и gobject).

Если вы не хотите никаких зависимостей от gio (например, вы не разрабатываете приложение GNOME) и хотите хранить простые файлы конфигурации, Я бы предложил использовать каталог $HOME/.config (или любой другой каталог, определенный $XDG_CONFIG_DIRS) вместо $HOME/.your_appname, в соответствии с документацией API для C .

9
ответ дан 7 August 2018 в 20:56

Приложение работает в системе

, подходящим местом для хранения настроек будет:

/etc/[application]/

, где подкаталог является необязательным.

Приложение запускается в режиме пользователя

настройки должны храниться в пользовательском HOME, предпочтительно в скрытом каталоге:

/home/<user>/<.application>/

См. также FBS Debian.

Приложения, запущенные в X-Desktop

Приложения для X-Desktop (например, GNOME, KDE, Unity, Xfce) должны ссылаться на Debian FHS , где в локальных переменных определены следующие расположения файлов:

$XDG_DATA_HOME определяет базовый каталог, по отношению к которому должны храниться файлы данных конкретного пользователя. Если $ XDG_DATA_HOME либо не задан, либо пуст, следует использовать значение по умолчанию, равное $ HOME / .local / share. $XDG_CONFIG_HOME определяет базовый каталог, по которому должны храниться файлы конфигурации конкретного пользователя. Если $ XDG_CONFIG_HOME либо не задан, либо пуст, следует использовать значение по умолчанию, равное $ HOME / .config. $XDG_DATA_DIRS определяет упорядоченный по предпочтению набор базовых каталогов для поиска файлов данных в дополнение к базовому каталогу $ XDG_DATA_HOME. Каталоги в $ XDG_DATA_DIRS должны быть разделены двоеточием::. If $XDG_DATA_DIRS либо не установлен, либо пуст, должно использоваться значение, равное / usr / local / share /: / usr / share /. $XDG_CONFIG_DIRS определяет упорядоченный по предпочтению набор базовых каталогов для поиска файлов конфигурации в дополнение к базовому каталогу $ XDG_CONFIG_HOME. Каталоги в $ XDG_CONFIG_DIRS должны быть разделены двоеточием::. Если $ XDG_CONFIG_DIRS либо не задано, либо пустое, должно использоваться значение, равное / etc / xdg.
10
ответ дан 25 May 2018 в 19:01
  • 1
    Нет, они должны быть в /home/<user>/.config/application/ – Anonymous 28 October 2011 в 15:02
  • 2
    @Anonymous: Было бы здорово иметь ссылку на это. Настоящая политика Debian требует FHS 2.3 с исключением , что приложения рекомендуется для хранения пользовательских настроек в точечном файле (или каталоге) в ДОМЕ пользователя. – Takkat 28 October 2011 в 16:05

Быстро, что является одним из новых помощников для разработки приложений для Ubuntu, по умолчанию сохраняется все настройки с помощью desktopcouch. Преимущество заключается в том, что эти настройки можно синхронизировать с другими установками с помощью инструментов Ubuntu One.

1
ответ дан 25 May 2018 в 19:01

Приложение работает в системе

, подходящим местом для хранения настроек будет:

/etc/[application]/

, где подкаталог является необязательным.

Приложение запускается в режиме пользователя

настройки должны храниться в пользовательском HOME, предпочтительно в скрытом каталоге:

/home/<user>/<.application>/

См. также FBS Debian.

Приложения, запущенные в X-Desktop

Приложения для X-Desktop (например, GNOME, KDE, Unity, Xfce) должны ссылаться на Debian FHS , где в локальных переменных определены следующие расположения файлов:

$XDG_DATA_HOME определяет базовый каталог, по отношению к которому должны храниться файлы данных конкретного пользователя. Если $ XDG_DATA_HOME либо не задан, либо пуст, следует использовать значение по умолчанию, равное $ HOME / .local / share. $XDG_CONFIG_HOME определяет базовый каталог, по которому должны храниться файлы конфигурации конкретного пользователя. Если $ XDG_CONFIG_HOME либо не задан, либо пуст, следует использовать значение по умолчанию, равное $ HOME / .config. $XDG_DATA_DIRS определяет упорядоченный по предпочтению набор базовых каталогов для поиска файлов данных в дополнение к базовому каталогу $ XDG_DATA_HOME. Каталоги в $ XDG_DATA_DIRS должны быть разделены двоеточием::. If $XDG_DATA_DIRS либо не установлен, либо пуст, должно использоваться значение, равное / usr / local / share /: / usr / share /. $XDG_CONFIG_DIRS определяет упорядоченный по предпочтению набор базовых каталогов для поиска файлов конфигурации в дополнение к базовому каталогу $ XDG_CONFIG_HOME. Каталоги в $ XDG_CONFIG_DIRS должны быть разделены двоеточием::. Если $ XDG_CONFIG_DIRS либо не задано, либо пустое, должно использоваться значение, равное / etc / xdg.
10
ответ дан 25 July 2018 в 21:22
  • 1
    Нет, они должны быть в /home/<user>/.config/application/ – Anonymous 28 October 2011 в 15:02
  • 2
    @Anonymous: Было бы здорово иметь ссылку на это. Настоящая политика Debian требует FHS 2.3 с исключением , что приложения рекомендуется для хранения пользовательских настроек в точечном файле (или каталоге) в ДОМЕ пользователя. – Takkat 28 October 2011 в 16:05

Быстро, что является одним из новых помощников для разработки приложений для Ubuntu, по умолчанию сохраняется все настройки с помощью desktopcouch. Преимущество заключается в том, что эти настройки можно синхронизировать с другими установками с помощью инструментов Ubuntu One.

1
ответ дан 25 July 2018 в 21:22

Приложение работает в системе

, подходящим местом для хранения настроек будет:

/etc/[application]/

, где подкаталог является необязательным.

Приложение запускается в режиме пользователя

настройки должны храниться в пользовательском HOME, предпочтительно в скрытом каталоге:

/home/<user>/<.application>/

См. также FBS Debian.

Приложения, запущенные в X-Desktop

Приложения для X-Desktop (например, GNOME, KDE, Unity, Xfce) должны ссылаться на Debian FHS , где в локальных переменных определены следующие расположения файлов:

$XDG_DATA_HOME определяет базовый каталог, по отношению к которому должны храниться файлы данных конкретного пользователя. Если $ XDG_DATA_HOME либо не задан, либо пуст, следует использовать значение по умолчанию, равное $ HOME / .local / share. $XDG_CONFIG_HOME определяет базовый каталог, по которому должны храниться файлы конфигурации конкретного пользователя. Если $ XDG_CONFIG_HOME либо не задан, либо пуст, следует использовать значение по умолчанию, равное $ HOME / .config. $XDG_DATA_DIRS определяет упорядоченный по предпочтению набор базовых каталогов для поиска файлов данных в дополнение к базовому каталогу $ XDG_DATA_HOME. Каталоги в $ XDG_DATA_DIRS должны быть разделены двоеточием::. If $XDG_DATA_DIRS либо не установлен, либо пуст, должно использоваться значение, равное / usr / local / share /: / usr / share /. $XDG_CONFIG_DIRS определяет упорядоченный по предпочтению набор базовых каталогов для поиска файлов конфигурации в дополнение к базовому каталогу $ XDG_CONFIG_HOME. Каталоги в $ XDG_CONFIG_DIRS должны быть разделены двоеточием::. Если $ XDG_CONFIG_DIRS либо не задано, либо пустое, должно использоваться значение, равное / etc / xdg.
10
ответ дан 31 July 2018 в 10:44
  • 1
    Нет, они должны быть в /home/<user>/.config/application/ – Anonymous 28 October 2011 в 15:02
  • 2
    @Anonymous: Было бы здорово иметь ссылку на это. Настоящая политика Debian требует FHS 2.3 с исключением , что приложения рекомендуется для хранения пользовательских настроек в точечном файле (или каталоге) в ДОМЕ пользователя. – Takkat 28 October 2011 в 16:05

Быстро, что является одним из новых помощников для разработки приложений для Ubuntu, по умолчанию сохраняется все настройки с помощью desktopcouch. Преимущество заключается в том, что эти настройки можно синхронизировать с другими установками с помощью инструментов Ubuntu One.

1
ответ дан 31 July 2018 в 10:44

Приложение работает в системе

, подходящим местом для хранения настроек будет:

/etc/[application]/

, где подкаталог является необязательным.

Приложение запускается в режиме пользователя

настройки должны храниться в пользовательском HOME, предпочтительно в скрытом каталоге:

/home/<user>/<.application>/

См. также FBS Debian.

Приложения, запущенные в X-Desktop

Приложения для X-Desktop (например, GNOME, KDE, Unity, Xfce) должны ссылаться на Debian FHS , где в локальных переменных определены следующие расположения файлов:

$XDG_DATA_HOME определяет базовый каталог, по отношению к которому должны храниться файлы данных конкретного пользователя. Если $ XDG_DATA_HOME либо не задан, либо пуст, следует использовать значение по умолчанию, равное $ HOME / .local / share. $XDG_CONFIG_HOME определяет базовый каталог, по которому должны храниться файлы конфигурации конкретного пользователя. Если $ XDG_CONFIG_HOME либо не задан, либо пуст, следует использовать значение по умолчанию, равное $ HOME / .config. $XDG_DATA_DIRS определяет упорядоченный по предпочтению набор базовых каталогов для поиска файлов данных в дополнение к базовому каталогу $ XDG_DATA_HOME. Каталоги в $ XDG_DATA_DIRS должны быть разделены двоеточием::. If $XDG_DATA_DIRS либо не установлен, либо пуст, должно использоваться значение, равное / usr / local / share /: / usr / share /. $XDG_CONFIG_DIRS определяет упорядоченный по предпочтению набор базовых каталогов для поиска файлов конфигурации в дополнение к базовому каталогу $ XDG_CONFIG_HOME. Каталоги в $ XDG_CONFIG_DIRS должны быть разделены двоеточием::. Если $ XDG_CONFIG_DIRS либо не задано, либо пустое, должно использоваться значение, равное / etc / xdg.
10
ответ дан 2 August 2018 в 03:02
  • 1
    Нет, они должны быть в /home/<user>/.config/application/ – Anonymous 28 October 2011 в 15:02
  • 2
    @Anonymous: Было бы здорово иметь ссылку на это. Настоящая политика Debian требует FHS 2.3 с исключением , что приложения рекомендуется для хранения пользовательских настроек в точечном файле (или каталоге) в ДОМЕ пользователя. – Takkat 28 October 2011 в 16:05

Быстро, что является одним из новых помощников для разработки приложений для Ubuntu, по умолчанию сохраняется все настройки с помощью desktopcouch. Преимущество заключается в том, что эти настройки можно синхронизировать с другими установками с помощью инструментов Ubuntu One.

1
ответ дан 2 August 2018 в 03:02

Приложение работает в системе

, подходящим местом для хранения настроек будет:

/etc/[application]/

, где подкаталог является необязательным.

Приложение запускается в режиме пользователя

настройки должны храниться в пользовательском HOME, предпочтительно в скрытом каталоге:

/home/<user>/<.application>/

См. также FBS Debian.

Приложения, запущенные в X-Desktop

Приложения для X-Desktop (например, GNOME, KDE, Unity, Xfce) должны ссылаться на Debian FHS , где в локальных переменных определены следующие расположения файлов:

$XDG_DATA_HOME определяет базовый каталог, по отношению к которому должны храниться файлы данных конкретного пользователя. Если $ XDG_DATA_HOME либо не задан, либо пуст, следует использовать значение по умолчанию, равное $ HOME / .local / share. $XDG_CONFIG_HOME определяет базовый каталог, по которому должны храниться файлы конфигурации конкретного пользователя. Если $ XDG_CONFIG_HOME либо не задан, либо пуст, следует использовать значение по умолчанию, равное $ HOME / .config. $XDG_DATA_DIRS определяет упорядоченный по предпочтению набор базовых каталогов для поиска файлов данных в дополнение к базовому каталогу $ XDG_DATA_HOME. Каталоги в $ XDG_DATA_DIRS должны быть разделены двоеточием::. If $XDG_DATA_DIRS либо не установлен, либо пуст, должно использоваться значение, равное / usr / local / share /: / usr / share /. $XDG_CONFIG_DIRS определяет упорядоченный по предпочтению набор базовых каталогов для поиска файлов конфигурации в дополнение к базовому каталогу $ XDG_CONFIG_HOME. Каталоги в $ XDG_CONFIG_DIRS должны быть разделены двоеточием::. Если $ XDG_CONFIG_DIRS либо не задано, либо пустое, должно использоваться значение, равное / etc / xdg.
10
ответ дан 4 August 2018 в 18:52
  • 1
    Нет, они должны быть в /home/<user>/.config/application/ – Anonymous 28 October 2011 в 15:02
  • 2
    @Anonymous: Было бы здорово иметь ссылку на это. Настоящая политика Debian требует FHS 2.3 с исключением , что приложения рекомендуется для хранения пользовательских настроек в точечном файле (или каталоге) в ДОМЕ пользователя. – Takkat 28 October 2011 в 16:05

Быстро, что является одним из новых помощников для разработки приложений для Ubuntu, по умолчанию сохраняется все настройки с помощью desktopcouch. Преимущество заключается в том, что эти настройки можно синхронизировать с другими установками с помощью инструментов Ubuntu One.

1
ответ дан 4 August 2018 в 18:52

Приложение работает в системе

, подходящим местом для хранения настроек будет:

/etc/[application]/

, где подкаталог является необязательным.

Приложение запускается в режиме пользователя

настройки должны храниться в пользовательском HOME, предпочтительно в скрытом каталоге:

/home/<user>/<.application>/

См. также FBS Debian.

Приложения, запущенные в X-Desktop

Приложения для X-Desktop (например, GNOME, KDE, Unity, Xfce) должны ссылаться на Debian FHS , где в локальных переменных определены следующие расположения файлов:

$XDG_DATA_HOME определяет базовый каталог, по отношению к которому должны храниться файлы данных конкретного пользователя. Если $ XDG_DATA_HOME либо не задан, либо пуст, следует использовать значение по умолчанию, равное $ HOME / .local / share. $XDG_CONFIG_HOME определяет базовый каталог, по которому должны храниться файлы конфигурации конкретного пользователя. Если $ XDG_CONFIG_HOME либо не задан, либо пуст, следует использовать значение по умолчанию, равное $ HOME / .config. $XDG_DATA_DIRS определяет упорядоченный по предпочтению набор базовых каталогов для поиска файлов данных в дополнение к базовому каталогу $ XDG_DATA_HOME. Каталоги в $ XDG_DATA_DIRS должны быть разделены двоеточием::. If $XDG_DATA_DIRS либо не установлен, либо пуст, должно использоваться значение, равное / usr / local / share /: / usr / share /. $XDG_CONFIG_DIRS определяет упорядоченный по предпочтению набор базовых каталогов для поиска файлов конфигурации в дополнение к базовому каталогу $ XDG_CONFIG_HOME. Каталоги в $ XDG_CONFIG_DIRS должны быть разделены двоеточием::. Если $ XDG_CONFIG_DIRS либо не задано, либо пустое, должно использоваться значение, равное / etc / xdg.
10
ответ дан 6 August 2018 в 03:15
  • 1
    Нет, они должны быть в /home/<user>/.config/application/ – Anonymous 28 October 2011 в 15:02
  • 2
    @Anonymous: Было бы здорово иметь ссылку на это. Настоящая политика Debian требует FHS 2.3 с исключением , что приложения рекомендуется для хранения пользовательских настроек в точечном файле (или каталоге) в ДОМЕ пользователя. – Takkat 28 October 2011 в 16:05

Быстро, что является одним из новых помощников для разработки приложений для Ubuntu, по умолчанию сохраняется все настройки с помощью desktopcouch. Преимущество заключается в том, что эти настройки можно синхронизировать с другими установками с помощью инструментов Ubuntu One.

1
ответ дан 6 August 2018 в 03:15

Приложение работает в системе

, подходящим местом для хранения настроек будет:

/etc/[application]/

, где подкаталог является необязательным.

Приложение запускается в режиме пользователя

настройки должны храниться в пользовательском HOME, предпочтительно в скрытом каталоге:

/home/<user>/<.application>/

См. также FBS Debian.

Приложения, запущенные в X-Desktop

Приложения для X-Desktop (например, GNOME, KDE, Unity, Xfce) должны ссылаться на Debian FHS , где в локальных переменных определены следующие расположения файлов:

$XDG_DATA_HOME определяет базовый каталог, по отношению к которому должны храниться файлы данных конкретного пользователя. Если $ XDG_DATA_HOME либо не задан, либо пуст, следует использовать значение по умолчанию, равное $ HOME / .local / share. $XDG_CONFIG_HOME определяет базовый каталог, по которому должны храниться файлы конфигурации конкретного пользователя. Если $ XDG_CONFIG_HOME либо не задан, либо пуст, следует использовать значение по умолчанию, равное $ HOME / .config. $XDG_DATA_DIRS определяет упорядоченный по предпочтению набор базовых каталогов для поиска файлов данных в дополнение к базовому каталогу $ XDG_DATA_HOME. Каталоги в $ XDG_DATA_DIRS должны быть разделены двоеточием::. If $XDG_DATA_DIRS либо не установлен, либо пуст, должно использоваться значение, равное / usr / local / share /: / usr / share /. $XDG_CONFIG_DIRS определяет упорядоченный по предпочтению набор базовых каталогов для поиска файлов конфигурации в дополнение к базовому каталогу $ XDG_CONFIG_HOME. Каталоги в $ XDG_CONFIG_DIRS должны быть разделены двоеточием::. Если $ XDG_CONFIG_DIRS либо не задано, либо пустое, должно использоваться значение, равное / etc / xdg.
10
ответ дан 7 August 2018 в 20:56
  • 1
    Нет, они должны быть в /home/<user>/.config/application/ – Anonymous 28 October 2011 в 15:02
  • 2
    @Anonymous: Было бы здорово иметь ссылку на это. Настоящая политика Debian требует FHS 2.3 с исключением , что приложения рекомендуется для хранения пользовательских настроек в точечном файле (или каталоге) в ДОМЕ пользователя. – Takkat 28 October 2011 в 16:05

Быстро, что является одним из новых помощников для разработки приложений для Ubuntu, по умолчанию сохраняется все настройки с помощью desktopcouch. Преимущество заключается в том, что эти настройки можно синхронизировать с другими установками с помощью инструментов Ubuntu One.

1
ответ дан 7 August 2018 в 20:56

Другие вопросы по тегам:

Похожие вопросы: