サポートしているコマンドラインスイッチ
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.com
、foobar.com
、baz
である 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プロキシ接続での CONNECT
、SOCKS
プロキシ接続でのエンドポイントホスト) に対して適用されます。
--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
と一緒に使用することで、ログの詳細度を設定します。 N
は ChromeのLogSeverities のいずれかでなければなりません。
注意として、Chromium の 2 つの相補的なログメカニズムである LOG()
と VLOG()
は、それぞれ別のスイッチで制御しています。 --log-level
は LOG()
のメッセージを制御しますが、--v
と --vmodule
は VLOG()
のメッセージを制御します。 そのため、必要な詳細度やウォッチしようとしているコードで行われているロギング呼び出しに応じて、これら 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')
ローカルアドレス (localhost
、127.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:port
は 127.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
: 既定のverbatim
をfalse
にします。verbatim
: 既定のverbatim
をtrue
にします。
既定は verbatim
で、--dns-result-order
よりも dns.setDefaultResultOrder()
の方が優先順位が高いです。