Aller au contenu principal

Variables d'environnement

Gèrent la configuration et le comportement de l'application sans modifier le code.

Certains comportements d'Electron sont contrôlés par les variables d'environnement car ils sont initialisés avant les indicateurs de ligne de commande et le code de l'application.

Exemple sur un shell POSIX :

$ export ELECTRON_ENABLE_LOGGING=true
$ electron

Exemple sur la console Windows :

> set ELECTRON_ENABLE_LOGGING=true
> electron

Variables de production

Les variables d'environnement suivantes sont destinées principalement à être utilisée lors de l'exécution des applications Electron empaquetées.

NODE_OPTIONS

Electron inclut le support pour un sous-ensemble des NODE_OPTIONS de Node. La majorité sont supportés à l'exception de celles rentrant en conflit avec l'utilisation de BoringSSL de Chromium.

Exemple :

export NODE_OPTIONS="--no-warnings --max-old-space-size=2048"

Les options non supportées sont :

--use-bundled-ca
--force-fips
--enable-fips
--openssl-config
--use-openssl-ca

NODE_OPTIONS sont explicitement interdites dans les applications empaquetées, à l'exception des éléments suivants :

--max-http-header-size
--http-parser

If the nodeOptions fuse is disabled, NODE_OPTIONS will be ignored.

NODE_EXTRA_CA_CERTS

See Node.js cli documentation for details.

export NODE_EXTRA_CA_CERTS=/path/to/cert.pem 

If the nodeOptions fuse is disabled, NODE_EXTRA_CA_CERTS will be ignored.

GOOGLE_API_KEY

La prise en charge de la géolocalisation dans Electron nécessite l'utilisation du service web de géolocalisation de la plateforme Google Cloud . Pour activer cette fonctionnalité, vous devez obtenir une clé API Google et placer le code suivant dans votre fichier de processus principal, avant d'ouvrir une fenêtre de navigateur effectuant des requêtes de géolocalisation :

process.env.GOOGLE_API_KEY = 'VOTRE_CLE_ICI'

Par défaut, une clé Google API nouvellement générée peut ne pas être autorisée à faire des requêtes de géolocalisation. Pour activer le service Web de géolocalisation pour votre projet, activez-le à travers la bibliothèque API.

N.B. Vous devrez ajouter un Compte de Facturation au projet associé à la clé de l'API pour que le service Web de géolocalisation fonctionne.

ELECTRON_NO_ASAR

Désactive la prise en charge d'ASAR. Cette variable n’est prise en charge que dans les processus enfants issus d'un fork et les processus enfants engendrés qui définissent ELECTRON_RUN_AS_NODE.

ELECTRON_RUN_AS_NODE

Démarre le processus comme un processus normal de Node.js.

Dans ce mode, vous pourrez transmettre des options d’interface de ligne de commande à Node.js comme vous le feriez lors de l’exécution normale de Node.js, à l’exception toutefois des indicateurs suivants :

  • "--openssl-config"
  • "--use-bundled-ca"
  • "--use-openssl-ca",
  • "--force-fips"
  • "--enable-fips"

Etant donné qu’Electron utilise BoringSSL au lieu d’OpenSSL lors de la construction du module crypto de Node.js, ces indicateurs sont désactivés car ils ne fonctionneraient pas comme prévu.

If the runAsNode fuse is disabled, ELECTRON_RUN_AS_NODE will be ignored.

ELECTRON_NO_ATTACH_CONSOLE Windows

Ne s'attache pas la session courante de la console.

ELECTRON_FORCE_WINDOW_MENU_BAR Linux

N'utilise pas la bar de menu global sur Linux.

ELECTRON_TRASH Linux

Définit l’implémentation de la corbeille sous Linux. Par défaut la valeur est gio.

Options :

  • gvfs-trash
  • trash-cli
  • kioclient5
  • kioclient

ELECTRON_OZONE_PLATFORM_HINT Linux

Selects the preferred platform backend used on Linux. The default one is x11. auto selects Wayland if possible, X11 otherwise.

Options :

  • auto
  • wayland
  • x11

Variables de développement

Les variables d'environnement suivantes sont destinés principalement aux développement et débogage.

ELECTRON_ENABLE_LOGGING

Affiche les logs interne de Chromium sur la console.

Définir cette variable revient à transmettre --enable-logging sur la ligne de commande. Pour plus d'informations, voir --enable-logging dans commutateurs en ligne de commande .

ELECTRON_LOG_FILE

Définit le fichier destination pour l'enregistrement interne de Chromium.

Définir cette variable revient à transmettre --log-file sur la ligne de commande. Pour plus d'informations, voir --log-file dans commutateurs en ligne de commande .

ELECTRON_DEBUG_NOTIFICATIONS

Ajoute des logs supplémentaires à Notification aux cycles de vie sur macOS pour aider au débogage. Les logs supplémentaires seront affichés lorsque de nouvelles Notifications seront créées ou activées. Ils seront également affichés lorsque des actions courantes : affichage d'une notification, son rejet, son bouton cliqué, ou qu'il lui a été répondu.

Exemple de sortie :

Notification created (com.github.Electron:notification:EAF7B87C-A113-43D7-8E76-F88EC9D73D44)
Notification displayed (com.github.Electron:notification:EAF7B87C-A113-43D7-8E76-F88EC9D73D44)
Notification activated (com.github.Electron:notification:EAF7B87C-A113-43D7-8E76-F88EC9D73D44)
Notification replied to (com.github.Electron:notification:EAF7B87C-A113-43D7-8E76-F88EC9D73D44)

ELECTRON_LOG_ASAR_READS

Lorsque Electron lit depuis un fichier ASAR, enregistre l'offset de lecture et le chemin d'accès vers le tmpdir du système. Le fichier résultant peut être fourni au module ASAR pour optimiser l'ordre des fichiers.

ELECTRON_ENABLE_STACK_DUMPING

Affiche la stack trace sur la console lorsqu'Electron plante.

Cette variable d'environnement ne fonctionnera pas si crashReporter est démarré.

ELECTRON_DEFAULT_ERROR_MODE Windows

Affiche la boite de dialogue de plantage lorsqu'Electron plante.

Cette variable d'environnement ne fonctionnera pas si crashReporter est démarré.

ELECTRON_OVERRIDE_DIST_PATH

Quand lancée depuis le paquet electron , cette variable dit à la commande d'electron d'utiliser la version spécifiée au lieu de celle installée avec npm install. Utilisation:

export ELECTRON_OVERRIDE_DIST_PATH=/Users/username/projects/electron/out/Testing

Défini par électron

Electron définit certaines variables dans votre environnement lors de son exécution.

ORIGINAL_XDG_CURRENT_DESKTOP

Cette variable est affectée avec la valeur de XDG_CURRENT_DESKTOP avec laquelle votre application a été lancée à l’origine. Electron modifie parfois la valeur de XDG_CURRENT_DESKTOP pour influer sur d’autres logiques dans Chromium, donc si vous voulez accéder à la valeur d’origine vous devrez rechercher cette variable d’environnement à la place.