メインコンテンツへ飛ぶ

サポートしているコマンドラインスイッチ

Electronによってサポートされているコマンドラインスイッチ。

You can use app.commandLine.appendSwitch to append them in your app's main script before the ready event of the app module is emitted:

const { app } = require('electron')
app.commandLine.appendSwitch('remote-debugging-port', '8315')
app.commandLine.appendSwitch('host-rules', 'MAP * 127.0.0.1')

app.whenReady().then(() => {
// コードをここに
})

Electron CLI フラグ

--auth-server-whitelist=url

統合認証が有効であるサーバーのコンマ区切りのリスト。

以下がその例です。

--auth-server-whitelist='*example.com, *foobar.com, *baz'

末尾が example.comfoobar.combaz である url は、統合認証の対象になります。 * のプリフィックスがない場合は、URL は厳密に一致する必要があります。

--auth-negotiate-delegate-whitelist=url

ユーザー資格情報の委任が必要なサーバのコンマ区切りリスト。 * のプリフィックスがない場合は、URL は厳密に一致する必要があります。

--disable-ntlm-v2

Disables NTLM v2 for POSIX platforms, no effect elsewhere.

--disable-http-cache

HTTPリクエストに対するディスクキャッシュを無効にします。

--disable-http2

HTTP/2 および SPDY/3.1 プロトコルを無効にします。

--disable-renderer-backgrounding

Chromiumが隠れたページのレンダラープロセスの優先順位を下げるのを防止します。

このフラグはすべてのレンダラープロセスに影響を及ぼすので、1つのウインドウの制限を無効にしたいだけの場合、無音のオーディオを再生するというテクニックを使うことができます。

--disk-cache-size=size

ディスクキャッシュによって使用されるバイト単位での最大のディスク容量を強制的に設定します。

--enable-logging[=file]

標準エラー出力 (またはログファイル) に Chromium のログを出力します。

ELECTRON_ENABLE_LOGGING 環境変数への設定は --enable-logging を渡すのと同じ効果です。

--enable-logging を渡すと、標準エラー出力にログを出力すます。 --enable-logging=file を渡すと、ログは --log-file=... で指定したファイルに、--log-file が未指定の場合はユーザデータディレクトリの electron_debug.log に保存されます。

注意: Windows では、子プロセスからのログを標準エラー出力に送信できません。 Windows でのログ収集は、ファイルへのログ出力が最も信頼できる方法です。

--log-file, --log-level, --v, --vmodule もご参照ください。

--force-fieldtrials=trials

フィールド トライアルを強制的に有効または無効にします。

例: WebRTC-Audio-Red-For-Opus/Enabled/

--host-rules=rules

ホスト名をどのようにマッピングするかを制御する rules のコンマ区切りのリスト。

以下がその例です。

  • MAP * 127.0.0.1 は、すべてのホスト名を強制的に127.0.0.1にマッピングします。
  • MAP *.google.com proxy は、すべてのgoogle.comのサブドメインを強制的に "proxy" で解決されるようにします。
  • MAP test.com [::1]:77 は "test.com" を強制的に IPv6 ループバックへ解決されるようにします。 また、ソケットアドレスのポートを 77 に強制します。
  • MAP * baz, EXCLUDE www.google.com は、"www.google.com" 以外のすべてを "baz" に再マッピングします。

これらのマッピングは、ネットワークリクエストのエンドポイントのホスト (直接接続でのTCP接続とホストリゾルバー、HTTPプロキシ接続での CONNECTSOCKS プロキシ接続でのエンドポイントホスト) に対して適用されます。

--host-resolver-rules=rules

--host-rules と似ていますが、これらの rules は、ホストリゾルバーにしか適用されません。

--ignore-certificate-errors

証明書関連のエラーを無視します。

--ignore-connections-limit=domains

, で区切られた domains リストに対する接続数の制限を無視します。

--js-flags=flags

V8 エンジン へ渡されるフラグを指定します。 メインプロセスで flags を有効にするには、起動時にこのスイッチを渡さなければなりません。

$ electron --js-flags="--harmony_proxies --harmony_collections" your-app

node --v8-options または electron --js-flags="--help" をターミナルで実行すると、利用可能なフラグの一覧が表示されます。 これらは、早期段階の JavaScript 機能の有効化や、ガベージコレクションのログと操作に利用できます。

例えば、V8 の最適化と最適化解除をトレースするには以下のようにします。

$ electron --js-flags="--trace-opt --trace-deopt" your-app

--lang

カスタムロケールを設定します。

--log-file=path

--enable-logging が指定された場合、ログを指定のパスに書き込みます。 その親ディレクトリは存在していなければなりません。

環境変数 ELECTRON_LOG_FILE への設定は、このフラグを渡すことと等価です。 両方とも存在する場合はコマンドラインスイッチを優先します。

--log-net-log=path

保存されるネットワークログイベントを有効にし、path にそれらを書き込みます。

--log-level=N

--enable-logging と一緒に使用することで、ログの詳細度を設定します。 NChromeのLogSeverities のいずれかでなければなりません。

注意として、Chromium の 2 つの相補的なログメカニズムである LOG()VLOG() は、それぞれ別のスイッチで制御しています。 --log-levelLOG() のメッセージを制御しますが、--v--vmoduleVLOG() のメッセージを制御します。 そのため、必要な詳細度やウォッチしようとしているコードで行われているロギング呼び出しに応じて、これら 3 つのスイッチを組み合わせて使用するとよいでしょう。

LOG()VLOG() の相互作用の詳細については、Chromium ロギングのソース をご参照ください。 大まかに言えば、VLOG() は大量の LOG(INFO) データを制御する LOG(INFO) 内部のサブレベル / モジュールごとのレベルと考えられます。

--enable-logging, --log-level, --v, --vmodule もご参照ください。

--no-proxy-server

プロキシサーバを使わず、常に直接接続を行います。 他に与えられたプロキシサーバのフラグをすべて上書きします。

--no-sandbox

Chromium の サンドボックス を無効化します。 レンダラープロセスと Chromium ヘルパープロセスにサンドボックスなしの実行を強制します。 テスト時のみ使用すべきです。

--proxy-bypass-list=hosts

セミコロン区切りで与えられたホストに対してプロキシサーバを回避するように Electron へ指示します。 このフラグは —proxy-server と共に使用される場合のみ有効です。

以下がその例です。

const { app } = require('electron')
app.commandLine.appendSwitch('proxy-bypass-list', '<local>;*.google.com;*foo.com;1.2.3.4:5678')

ローカルアドレス (localhost127.0.0.1 など)、google.com のサブドメイン、foo.com で終わるホストと 1.2.3.4:5678 を除く、すべてのホストに対してプロキシサーバーが使用されます。

--proxy-pac-url=url

指定した url のPACスクリプトを使用します。

--proxy-server=address:port

システム設定よりも優先して、指定したプロキシサーバーを使用します。 このスイッチは、HTTPSとWebSocketリクエストを含むHTTPプロトコルでのリクエストにしか影響しません。 また、すべてのプロキシサーバーがHTTPSとWebSocketリクエストに対応している訳ではないことにも注意してください。 プロキシ URL は 各 Chromium issue でのユーザー名とパスワードによる認証をサポートしていません。

--remote-debugging-port=port

指定された port でHTTP越しのリモートデバッグを有効にします。

--v=log_level

既定で有効な最高の V ロギングレベルを設定します。既定値は 0 です。 通常、正の値は V ロギングレベルに使用されます。

このスイッチは、--enable-logging が一緒に渡されたときのみ機能します。

--enable-logging, --log-level, --vmodule もご参照ください。

--vmodule=pattern

--v で指定された値を上書きするモジュール単位の最大のVログレベルを指定します。 以下は例です。 my_module=2,foo*=3 は、my_module.*foo*.* のソースファイルにあるすべてのコードのログレベルを変更します。

スラッシュまたはバックスラッシュを含むパターンは、モジュールだけでなく全体のパス名に対してテストされます。 以下は例です。 */foo/bar/*=2 は、foo/bar ディレクトリの下にあるソースファイルのすべてのコードのログレベルを変更します。

このスイッチは、--enable-logging が一緒に渡されたときのみ機能します。

--enable-logging, --log-level, --v もご参照ください。

--force_high_performance_gpu

複数のGPUが利用可能な場合、離散GPUを強制的に使用します。

--force_low_power_gpu

複数のGPUが利用可能な場合、統合GPUを強制的に使用します。

--xdg-portal-required-version=version

Sets the minimum required version of XDG portal implementation to version in order to use the portal backend for file dialogs on linux. File dialogs will fallback to using gtk or kde depending on the desktop environment when the required version is unavailable. Current default is set to 3.

Node.js フラグ

Electron は Node.js でサポートされている CLI フラグ の一部をサポートしています。

注: ELECTRON_RUN_AS_NODE で実行していないときに未サポートのコマンドラインスイッチを Electron に渡しても、効果はありません。

--inspect-brk\[=\[host:]port]

host:port でインスペクタを起動し、ユーザスクリプトの開始時にブレークします。 host:port の省略値は 127.0.0.1:9229 です。

--debug-brk=[host:]port のエイリアスです。

--inspect-brk-node[=[host:]port]

host:port でインスペクタを起動し、インスペクタが利用可能になったときに実行される最初の内部 JavaScript スクリプトの開始時にブレークします。 既定の host:port127.0.0.1:9229 です。

--inspect-port=\[host:]port

インスペクタが起動したときに使用する host:port を設定します。 SIGUSR1 シグナルを送信してインスペクタを起動するときに便利です。 host の省略値は 127.0.0.1 です。

--debug-port=[host:]port のエイリアスです。

--inspect\[=\[host:]port]

host:port でインスペクタを有効にします。 省略値は 127.0.0.1:9229 です。

V8 インスペクタの統合により、Chrome デベロッパー ツールや IDE などのツールで Electron インスタンスのデバッグやプロファイルが可能になりました。 ツールは TCP ポートを介して Electron インスタンスにアタッチし、Chrome デベロッパー ツールプロトコル を使用して通信します。

See the Debugging the Main Process guide for more details.

--debug[=[host:]port] のエイリアスです。

--inspect-publish-uid=stderr,http

インスペクタの WebSocket URL の公開方法を指定します。

デフォルトでは、インスペクタの WebSocket URL は標準エラーで、http://host:port/json/list の /json/list エンドポイント下にあります。

--no-deprecation

非推奨の警告を抑制します。

--throw-deprecation

非推奨のエラーをスローします。

--trace-deprecation

非推奨のスタックトレースを出力します。

--trace-warnings

プロセスの警告 (非推奨を含む) のスタックトレースを出力します。

--dns-result-order=order

Node.js の dns.lookup() 関数と dnsPromises.lookup() 関数の verbatim 引数の既定値を設定します。 この値は次のいずれかにできます。

  • ipv4first: 既定の verbatimfalse にします。
  • verbatim: 既定の verbatimtrue にします。

既定は verbatim で、--dns-result-order よりも dns.setDefaultResultOrder() の方が優先順位が高いです。