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"
        ]
      }
    },

效果

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

相关推荐
m0_743697592 分钟前
DNS的反向域名的相关问题
linux
Android系统攻城狮32 分钟前
Linux FFmpeg深度解析之avcodec_parameters_from_context调用流程与实战(十六)
linux·运维·ffmpeg·音视频进阶·ffmpeg音视频·车载音视频进阶
思想觉悟36 分钟前
SEAndroid实战
android·linux·c++
前进吧-程序员1 小时前
C++20 协程实战:手写 Task、单线程调度器与 awaiter 的三个钩子
linux
Android系统攻城狮1 小时前
Linux FFmpeg深度解析之avcodec_alloc_context3调用流程与实战(十四)
linux·运维·ffmpeg·车载音视频·音视频进阶·ffmpeg音视频进阶
自由彩虹2 小时前
靶场通关15--bossplayersctf
linux·服务器·网络·安全·web安全·网络安全
叼烟扛炮2 小时前
Linux 学习笔记(四十五):Web 安全基石——Cookie、Session 与 HTTPS 原理解析
linux·前端·网络·笔记·学习·tcp/ip·安全
Linux_cy2 小时前
nginx 502 排查手册:九种原因分类、定位命令与检查顺序
linux·运维·服务器·网络·数据库·nginx·ssh
椒颜皮皮虾྅3 小时前
模型部署不再卡在环境上:DeploySharp 四大推理引擎与 Windows/Linux 离线交付实战
linux·运维·开发语言·人工智能·windows·计算机视觉·cuda
垆边人似月.3 小时前
Ubuntu 配置 Samba 共享文件夹并映射到 Windows 完整指南
linux·windows·ubuntu