electron打包的程序在linux上运行

论坛 期权论坛 脚本     
已经匿名di用户   2022-5-29 19:35   3151   0

第一步,打包

配置如下

具体操作,可百度实现,这一步详细步骤很多,这里就不详细说明了

 "scripts": {
    "start": "electron .",
    "package:win": "electron-packager . --overwrite   --platform=win32 --electron-version=8.0.0 --arch=x64  --asar --out=out --icon=./tray/icon.ico",
    "package:linux": "electron-packager . --overwrite   --platform=linux -no-sandbox --electron-version=8.0.0 --arch=x64 --asar --out=out --icon=./tray/icon.ico"
  },

注意,打包的过程中如果提示缺少指定module,可通过命令npm i 名称来加载

第二步,将打包后的linux程序文件夹拷入linux系统所在机子

本人通过WinSCP上传文件

第三步,打开dos窗口

进入到linux可视化桌面刚上传的文件目录内,右键在终端打开

第四步,获取执行文件权限

在出现的dos命令窗口中 输入

chmod 7777 ./electron 

注意,其中electron为打包后的执行程序文件名

第五步,运行文件

在dos命令窗口中输入./electron ,报错

该问题解决办法借鉴地址:https://newsn.net/say/electron-centos-libxss.html

根据,上诉文章安装

解决方案如下:

通过repoquery命令,查询该报错提示的lib的程序提供方

repoquery --nvr --whatprovides libXss.so.1

可以得知,缺少的软件是:

libXScrnSaver-1.2.2-6.1.el7

安装libXScrnSaver

sudo yum install libXScrnSaver

安装上诉软件之后,再次敲击程序运行命令./electron,再次报错

解决方法如下:

方法1,在运行命令后面添加--no-sandbox (已验证)

即输入命令./electron --no-sandbox 即可实现程序运行起来

方法2,给报错信息给出的文件授权:(已验证)

以上提示路径 /home/admin/公共/electron-linux-x64/chrome-sandbox 没有权限

故输入以下命令授权即可

sudo chown root /home/admin/公共/electron-linux-x64/chrome-sandbox && sudo chmod 4755 /home/admin/公共/electron-linux-x64/chrome-sandbox

方法3,修改 /etc/sysctl.conf 添加以下参数
kernel.unprivileged_userns_clone=1

再次输入命令./electron 即可实现程序运行起来

该问题解决办法借鉴地址:https://blog.csdn.net/qq_42239554/article/details/105640909

第六步,执行效果

linux版本广告机,头回见,客户需求

分享到 :
0 人收藏
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

积分:81
帖子:4969
精华:0
期权论坛 期权论坛
发布
内容

下载期权论坛手机APP