electron 做一个透明程序 for linux Debpin/树莓派4B(4B桌面环境背景透明、linux桌面程序背景透明)

设置树莓派4b桌面环境的背景透明

这一步对程序不会有任何影响,仅仅对物理屏幕会有影响。

树莓派的背景颜色默认是没有清除选项的,所以需要用命令行

1、打开文件

bash 复制代码
sudo nano /etc/xdg/xdg-pi/lxsession/LXDE-pi/autostart

2、添加透明度设置: 在打开的文件中,你需要添加一行来设置透明度。将以下行添加到文件的末尾:

css 复制代码
@xsetroot -solid rgba:0x00/0x00/0x00/0x00

3、重启板子

markdown 复制代码
    sudo reboot

用 electron 编写一个桌面程序并打包

这里必须使用 cnpm 不然国内网络下载会很慢!或者无法下载。

1、增加 package.json 文件

js 复制代码
{
  "name": "test",
  "version": "1.0.0",
  "description": "",
  "license": "ISC",
  "devDependencies": {
    "electron": "^28.2.0",
    "electron-builder": "^24.9.1"
  },
  "homepage": "./build",
  "main": "electronjs/main.js",
  "author": {
    "name": "xmio",
    "email": "[email protected]",
    "url": "https://your-website.com"
  },
  "dependencies": {
    "auto-launch": "^5.0.6",
    "electron-squirrel-startup": "^1.0.0",
    "electron-updater": "^6.1.7",
    "request": "^2.88.2",
    "resolve": "1.10.0"
  },
  "build": {
    "productName": "测试项目",
    "appId": "com.xmio.testProject",
    "copyright": "xmio",
    "files": [
      "electronjs/**/*",
      "package.json",
      "icon.png",
      "config.js",
      "web/*"
    ],
    "directories": {
      "buildResources": ".",
      "output": "release"
    },
    "linux": {
      "target": {
        "target": "appimage",
        "arch": [
          "armv7l"
        ]
      }
    },
    "publish": [
      {
        "provider": "generic",
        "url": "http://xxx.com/"
      }
    ], 
  },
  "scripts": {  
    "start": "electron ./electronjs/main.js --enable-logging",
    "dist": "electron-builder"
  }
}

2、安装依赖

复制代码
cnpm install

3、新增 .npmrc 文件 cnpm 证书过期了,只能用来安装依赖,实际打包还得用 npmmirror

ini 复制代码
disturl=https://registry.npmmirror.com/-/binary/node
ELECTRON_MIRROR=https://registry.npmmirror.com/-/binary/electron/

4、修改主程序代码 electronjs/main.js

scala 复制代码
mainWindow = new BrowserWindow({  
    // ...
    frame: false,
    type: "toolbar", 
    transparent: true, 
    backgroundColor: "#00000000", 
    // ...
});

5、记得将页面的背景也设置为透明的

开启窗口合成(Composition)

就是让窗口支持透明

linux dedpin

树莓派

默认就开启的

打包

打包为 Dedpin 上面的运行程序

改一下打包目标

json 复制代码
 "linux": {
      "target": {
        "target": "appimage", 
  }

Dedpin 上面的效果

点击打包出来的文件

打包为 树莓派4B 上面的运行程序

改一下打包目标,直接打包成可执行文件

json 复制代码
    "linux": {
      "target": {
        "target": "appimage",
        "arch": [
          "armv7l"
        ]
      }
    },

效果

注意要将执行文件的权限放开

相关推荐
程序猿(雷霆之王)6 小时前
Linux——进程间通信
linux·运维·服务器
riveting7 小时前
SD2351核心板:重构AI视觉产业价值链的“超级节点”
大数据·linux·图像处理·人工智能·重构·智能硬件
易保山7 小时前
MIT6.S081 - Lab10 mmap(文件&内存映射)
linux·操作系统·c
禅与Bug的修复艺术8 小时前
JAVA后端开发常用的LINUX命令总结
java·linux·面试·java面试·后端开发·java后端·面试经验
北冥有鱼被烹9 小时前
【微知】/proc中如何查看Linux内核是否允许加载内核模块?(/proc/sys/kernel/modules_disabled)
linux·服务器
qq_273900239 小时前
CentOS系统防火墙服务介绍
linux·运维·centos
小余吃大鱼9 小时前
CentOS中在线安装Docker(超详细)
linux·docker·centos
程序员JerrySUN10 小时前
驱动开发硬核特训 · Day 19:字符设备驱动实战(控制 LED)
linux·驱动开发
小灰灰__10 小时前
Linux安装ffmpeg7.1操作说明
linux·运维·服务器
Zz_waiting.10 小时前
网络原理 - 9
linux·服务器·网络·网络协议·tcp/ip