Saltar al contenido principal

Variables de entorno

Configuración y comportamiento de la aplicación de control sin cambiar el código.

Ciertos comportamientos de Electron están controlados por variables de entorno debido a que son inicializadas antes que las flags de la línea de comandos y que el código de la applicación.

Ejemplo de shell POSIX:

$ export ELECTRON_ENABLE_LOGGING=true
$ electron

Ejemplo de la consola de Windows:

> set ELECTRON_ENABLE_LOGGING=true
> electron

Variables de producción

Las siguientes variables de entorno están diseñadas principalmente para usarse en los módulos de ejecución en las aplicaciones preconfiguradas de Electron.

NODE_OPTIONS

Electron incluye soporte para un subconjunto de NODE_OPTIONS de Node. La mayoría son soportadas con la excepción de aquellos que entran en conflicto con el uso de BoringSSL de Chromium.

Ejemplo:

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

Las opciones no respaldadas son:

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

NODE_OPTIONS están explícitamente deshabilitadas en las aplicaciones empaquetadas, excepto para lo siguiente:

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

Si el nodeOptions fusible está desactivado, NODE_OPTIONS será ignorado.

NODE_EXTRA_CA_CERTS

See Node.js cli documentation for details.

export NODE_EXTRA_CA_CERTS=/path/to/cert.pem 

Si el nodeOptions fusible está desactivado, NODE_EXTRA_CA_CERTS será ignorado.

GOOGLE_API_KEY

El soporte de geolocalización en Electron requiere el uso del servicio web de Google Cloud Platform. Para habilitar esta función, adquiera una Google API key y coloque el siguiente código en su archivo de proceso principal, antes de abrir cualquier ventana de buscador que vaya a realizar solicitudes de geolocalización:

process.env.GOOGLE_API_KEY = 'TU_CLAVE_AQUI'

Por defecto, una clave API de Google recientemente generada podría no tener permitido hacer solicitudes de geolocalización. Para habilitar el servicio web de geolocalización para su proyecto, habilítelo a través de la API library.

N.B. You will need to add a Billing Account to the project associated to the API key for the geolocation webservice to work.

ELECTRON_NO_ASAR

Disables ASAR support. This variable is only supported in forked child processes and spawned child processes that set ELECTRON_RUN_AS_NODE.

ELECTRON_RUN_AS_NODE

Inicia el proceso como un proceso normal de Node.js.

En este modo, podrás ser capaz de pasar opciones cli a Node.js como lo harías cuando corres el ejecutable normal de Node.js, con la excepción de las siguientes banderas:

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

These flags are disabled owing to the fact that Electron uses BoringSSL instead of OpenSSL when building Node.js' crypto module, and so will not work as designed.

Si el runAsNode fusible está desactivado, ELECTRON_RUN_AS_NODE será ignorado.

ELECTRON_NO_ATTACH_CONSOLE Windows

No se adjunta a la sesión de la consola actual.

ELECTRON_FORCE_WINDOW_MENU_BAR Linux

No utilizar la barra de menú global en Linux.

ELECTRON_TRASH Linux

Set the trash implementation on Linux. Por defecto es gio.

Opciones:

  • 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.

Opciones:

  • auto
  • wayland
  • x11

Variables de desarrollo

Las siguientes variables de entorno están principalmente diseñadas para propósitos de desarrollo y depuración.

ELECTRON_ENABLE_LOGGING

Prints Chromium's internal logging to the console.

Setting this variable is the same as passing --enable-logging on the command line. For more info, see --enable-logging in command-line switches.

ELECTRON_LOG_FILE

Sets the file destination for Chromium's internal logging.

Setting this variable is the same as passing --log-file on the command line. For more info, see --log-file in command-line switches.

ELECTRON_DEBUG_NOTIFICATIONS

Adds extra logs to Notification lifecycles on macOS to aid in debugging. Se mostrará un registro adicional cuando se creen o activen nuevas notificaciones. También se mostraran cuando acciones comunes son realizadas: se muestra una notificación, se descarga, su botón es pulsado, o responde a.

Ejemplo de salida:

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

When Electron reads from an ASAR file, log the read offset and file path to the system tmpdir. The resulting file can be provided to the ASAR module to optimize file ordering.

ELECTRON_ENABLE_STACK_DUMPING

Imprime el rastro de la pila a la consola cuando Electron falla.

Esta variable de entorno no funcionará si se inicia el crashReporter.

ELECTRON_DEFAULT_ERROR_MODE Windows

Muestra el cuadro de dialogo del fallo de Windows cuando falla Electron.

Esta variable de entorno no funcionará si se inicia el crashReporter.

ELECTRON_OVERRIDE_DIST_PATH

Cuando corre desde el paquete electron, esta variable dice al comando electron para usar la instancia especificada del constructor de Electron en lugar de uno descargado por npm install. Uso:

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

Establecido por Electron

Electron define algunas variables en su entorno en el momento de ejecución.

ORIGINAL_XDG_CURRENT_DESKTOP

Esta variable es establecida con al valor de XDG_CURRENT_DESKTOP con el que originalmente tu aplicación fue lanzada. A veces, Electron modifica el valor de XDG_CURRENT_DESKTOP para afectar otra lógica dentro de Chromium, así que si quieres acceder al valor original original en su lugar deberías buscar esta variable de entorno.