Electron :linux 在启动系统时启动

Electron :linux start at boot up system

这是 linux 的电子应用程序。

main.js

const electron = require("electron");
const app = electron.app;
const browserWindow = electron.BrowserWindow;
const path = require("path");
const url = require("url");
let win;

function createWindow() {
    win = new browserWindow({width: 800, height: 600});
    win.loadURL(url.format({
        pathname : path.join(__dirname,"index.html"),
        protocol : "file",
        slashes : true ,
    }));
    win.on("closed", () => {win = null;})
}

app.on("ready", createWindow);

app.on("window-all-closed", () => {
    if(prcess.platform !== "darwin")
        app.quit()
});

app.on ("activate", ()=> {
    if(win == null)
        createWindow()
});

我在 linux 中通过 npm start 启动应用程序。

问题:

i) 如何在开机时自动启动它?

ii) 实现代码的哪一部分?

我认为您不能在 Linux

中以编程方式在启动时启动应用程序

另一种方法是

  1. 添加一个启动脚本,在您登录时启动应用程序

  2. 创建一个 systemd 服务文件,它将在启动期间启动应用程序

https://www.tecmint.com/auto-execute-linux-scripts-during-reboot-or-startup/amp/

此站点提供了创建脚本的示例 (https://developer.toradex.com/knowledge-base/how-to-autorun-application-at-the-start-up-in-linux#LXSession_Autostart_File )

此站点提供了在 electron 中创建文件的示例 (https://ourcodeworld.com/articles/read/106/how-to-choose-read-save-delete-or-create-a-file-with-electron-framework)

第一次安装electron应用可以手动创建一个文件,然后将脚本内容写入文件

喜欢

file.create(/etc/xdg/autostart/.desktop)

file.write([[桌面条目]

名称=LX终端

类型=应用程序

Exec=lxterminal

终端=假 ")

或者您可以只使用 https://www.npmjs.com/package/auto-launch

如果您仍然遇到问题,那么您可以通过自动启动模块并在您的代码中实现自动启动部分

要在会话启动时自动运行 linux 中的文件,请创建一个桌面条目文件 (fileName.desktop)

[Desktop Entry]
Name= app_name
Comment= comment_optional
Icon= app_icon
Exec= your file path 
Terminal=false
Type=Application

将其保存在 /.config/autostart//etc/xdg/autostart/

然后该文件将在系统启动时自动运行。