Skip to content

A Comprehensive Guide of GpgController

The GpgController in GpgFrontend is a powerful tool for configuring and managing GPG-related settings. It provides advanced options for file operations, password input methods, and custom GPG configurations, catering to both general and advanced users.

Accessing the GpgController

To access the GpgController:

  1. Navigate to the Advanced menu in the top toolbar.

  2. Select Open GnuPG Controller from the dropdown menu.

    Open GnuPG Controller

The GpgController interface includes three tabs: General, Key Database, and Advanced. Below is a detailed explanation of each tab’s features.

General Tab: Core Settings

The General tab provides essential configuration options for GpgFrontend’s interaction with GPG.

General Tab

Available Options

  1. Use Binary Mode for File Operations

    • This option determines the format used for encrypted or signed files:
      • Binary Mode: Produces compact and efficient files, ideal for storage and processing.
      • ASCII Mode: Generates human-readable files encoded in ASCII format. This is useful for sharing files over email or systems that might corrupt binary files.
    • Recommendation: Use binary mode for local file operations and ASCII mode for file sharing or email attachments.
  2. Use Pinentry as Password Input Dialog

    • GpgFrontend includes a built-in password input dialog designed as a temporary fallback when no external Pinentry program is available. However, the built-in dialog has limitations and may not work for all password input scenarios.
    • Recommendation: Users are strongly encouraged to install a full-featured Pinentry program to ensure a seamless and secure password input experience. Pinentry is optimized for GnuPG’s requirements and provides additional features such as better passphrase caching and hardware token support.
  3. Enable GpgME Debug Log

    • Enables verbose logging for troubleshooting GPG operations via the GpgME library. This is useful for advanced users diagnosing issues in encryption or signing workflows.
  4. Restart Gpg Agent on Start

    • Ensures that the GPG agent is restarted whenever GpgFrontend launches. This helps avoid issues caused by stale GPG agent processes.
  5. Kill All GPG Daemons at Close

    • Terminates all GPG-related background processes when the application exits. This ensures that no sensitive information is cached in memory or accessible after the session ends.

    • Recommendation: Always enable this option for improved security.

    Note: Changes to any settings in the General tab will require restarting GpgFrontend to take effect.


Key Database Tab: Overview

The Key Database tab allows users to manage multiple key databases. While detailed documentation is available elsewhere, note the following key points:

  • Add New Key Database: Easily create and manage isolated key databases for different projects or security requirements.

  • Switch Between Databases: Use the Key Toolbox dropdown in the main interface to select the active database.

    Key Database Tab

    For more information on key database management, refer to the dedicated documentation.


Advanced Tab: Custom GnuPG Configuration

The Advanced tab is designed for users who need to configure custom GPG installations.

Advanced Tab

Configuring Custom GnuPG

  1. Enable Custom GnuPG

    • Check the Use Custom GnuPG box to enable this feature.
  2. Specify GPG Configuration Path

    • Use the Select GnuPG Path button to locate and set the directory where gpgconf resides. This is critical because GpgFrontend relies on the paths provided by gpgconf to locate essential components like gpg, gpgsm, and gpg-agent.
  3. Verifying Custom Configuration

    • After setting the path, you can test the configuration by running gpgconf --list-components in a terminal. This command lists all available GPG components and their paths, ensuring that GpgFrontend can access them correctly.

    Test gpgconf

    Note: If gpgconf is not configured correctly, GpgFrontend may fail to locate and execute necessary GPG binaries.


Tips for Using GpgController Effectively

  1. Choose File Formats Wisely

    • Use Binary Mode for efficiency in local operations and ASCII Mode for readability and compatibility in file sharing.
  2. Install a Full-Featured Pinentry

    • Avoid relying on GpgFrontend’s built-in password dialog for critical operations. Installing Pinentry ensures better compatibility and security.