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": "xxx@domain.com",
    "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"
        ]
      }
    },

效果

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

相关推荐
怀旧,5 分钟前
【Linux网络编程】15. Reactor 反应堆模式
linux·网络·php
小赵不会秃头20 分钟前
数据结构Day 06:线性结构、库操作及 Makefile 完整学习笔记
java·linux·数据结构·算法·面试
雨田大大21 分钟前
Windows11下IDEA运行后端时,端口被占用的解决方法
linux·运维·服务器
IKun-bug24 分钟前
CentOS 7 安装 Claude Code 指南
linux·运维·centos
kdxiaojie30 分钟前
U-Boot分析【学习笔记】(8)
linux·笔记·学习
风曦Kisaki34 分钟前
# Linux运维Day02:LNMP架构部署、动静分离原理、Nginx地址重写、systemd服务管理
linux·运维·架构
Shadow(⊙o⊙)34 分钟前
Linux进程地址空间——钻入Linux内核架构性剖析 硬核手搓!
java·linux·运维·服务器·开发语言·c++
大明者省35 分钟前
乌邦托服务器系统www不同文件夹bird、infra建立隔离的虚拟环境
linux·运维·服务器
kobe_OKOK_39 分钟前
ubuntu server设置 NTP 服务器
linux·服务器·ubuntu
zzzsde42 分钟前
【Linux】信号处理(3)信号处理&&valatile关键字
linux·运维·服务器·开发语言·算法