Electron
Electron 是由 GitHub 开发的应用程序框架,用于使用 Web 技术构建跨平台桌面应用程序。它使用 Chromium 浏览器引擎进行渲染,并使用 Node.js 运行时环境作为后端。
安装
某些应用程序需要较旧版本的 Electron。你可以在安装最新版本的同时并行安装旧版本。对应的软件包名称会附带版本号后缀,例如 electron30AUR。
提示与技巧
配置文件
electron 命令会从 $XDG_CONFIG_HOME/electronXX-flags.conf 文件中读取命令行参数,其中 XX 为 Electron 的版本号。如果该文件不存在,则会回退到 $XDG_CONFIG_HOME/electron-flags.conf。(如果未设置 $XDG_CONFIG_HOME,则默认为 ~/.config。)
- 这些配置文件仅会被 Arch Linux 提供的 electron包 读取;对于自行捆绑 Electron 构建版本的软件包(例如 slack-desktopAUR),这些配置文件不起作用。有时可以使用替代软件包,例如 slack-electronAUR。
- 某些应用程序(例如 vesktopAUR)可能支持设置应用程序专属的命令行参数。对于此类应用程序,可以在
~/.config/application_name-flags.conf创建专属的参数配置文件,其中application_name是需要设置参数的应用程序名称。例如,要为 spotifyAUR 设置参数,可以将其添加到~/.config/spotify-flags.conf中。
以井号 # 开头的行会被视为注释并被忽略,而其他行则会作为命令行参数传递给实际的 Electron 可执行文件,每行对应一个参数(不会根据空白字符拆分行!)。这些参数会在传递给 electron 命令本身的选项之前添加。
例如,这可以用于全局启用 Wayland。
示例:
~/.config/electron-flags.conf
--enable-features=WaylandWindowDecorations,AllowQt # --ozone-platform-hint=wayland (已在 Electron 38 中移除) --ozone-platform=wayland # GTK4 在 Wayland 上表现更好。 --gtk-version=4
确定应用程序使用的 Electron 版本
如果应用程序是通过软件包管理器安装的,可以查询软件包的依赖关系,查看它是否依赖于 electron38AUR 等软件包。如果是,则说明它使用 Electron 38。 (如果它依赖于 electron包:该软件包始终提供最新版本的 Electron;要了解当前的具体版本,可以查询该软件包的依赖关系。)
也可以通过运行中应用程序的开发者工具确定其使用的 Electron 版本;参见 [1]。
Secret Service API
Electron 提供了 safeStorage API,用于与兼容 FreeDesktop.org Secret Service API 的密钥环进行交互。受支持的密钥环包括通过 GNOME libsecret 提供支持的 GNOME/Keyring、KDE Wallet 和 KeePass。
运行 Electron 应用程序时,可以通过 --password-store 命令行参数选择后端。例如,要让基于 Electron 构建的 electron-desktop 通过 libsecret 或 KeePass 进行交互,可以运行:
$ electron-desktop --password-store="gnome-libsecret"
将任意网站转换为应用程序
有时你可能需要将某个特定网站作为独立应用程序使用。通过 webapp-manager包,可以将任意网站转换为 Electron 应用程序。
启用 Wayland
参见 Wayland#Electron。
强制使用 X11
要强制应用程序使用 X11(XWayland)显示服务器后端,而不是默认使用原生 Wayland,可以添加 --ozone-platform=X11 命令行参数。
故障排除
由于 Electron 基于 Chromium,因此 Chromium#疑难解答 中的内容可能有所帮助。