Next: applygnupgdefaults, Previous: addgnupghome, Up: Helper Tools

### 7.4 Modify .gnupg home directories.

The `gpgconf` is a utility to automatically and reasonable safely query and modify configuration files in the `.gnupg` home directory. It is designed not to be invoked manually by the user, but automatically by graphical user interfaces (GUI).1

`gpgconf` provides access to the configuration of one or more components of the GnuPG system. These components correspond more or less to the programs that exist in the GnuPG framework, like GnuPG, GPGSM, DirMngr, etc. But this is not a strict one-to-one relationship. Not all configuration options are available through `gpgconf`. `gpgconf` provides a generic and abstract method to access the most important configuration options that can feasibly be controlled via such a mechanism.

`gpgconf` can be used to gather and change the options available in each component, and can also provide their default values. `gpgconf` will give detailed type information that can be used to restrict the user's input without making an attempt to commit the changes.

`gpgconf` provides the backend of a configuration editor. The configuration editor would usually be a graphical user interface program, that allows to display the current options, their default values, and allows the user to make changes to the options. These changes can then be made active with `gpgconf` again. Such a program that uses `gpgconf` in this way will be called GUI throughout this section.

#### Footnotes

[1] Please note that currently no locking is done, so concurrent access should be avoided. There are some precautions to avoid corruption with concurrent usage, but results may be inconsistent and some changes may get lost. The stateless design makes it difficult to provide more guarantees.