Linux打包appimage方法
本文档以REHL/Rock/Fedora为示范系统打包形式为electronweb的形式一、环境准备1.1 安装依赖sudo dnf update -y sudo dnf install -y epel-release sudo dnf config-manager --set-enabled crb # Rocky 10 sudo dnf groupinstall -y Development Tools sudo dnf install -y wget fuse npm nodejs注意~~webkit2gtk3~~ — Electron 自带 Chromium不需要系统 WebKit~~usermod -a -G fuse~~ — Rocky 10/Fedora 42 的 fuse 用户组不存在且 /dev/fuse 已允许普通用户访问1.2 下载打包工具mkdir -p ~/appimage-tools cd ~/appimage-tools wget https://github.com/AppImage/AppImageKit/releases/download/continuous/appimagetool-x86_64.AppImage chmod x appimagetool-x86_64.AppImage工具用途参数​appimagetool将 AppDir 打包成 AppImage直接跟 AppDir 路径linuxdeploy自动分析依赖并打包--appdir / --output注意appimagetool --appdir xxx — 不支持会报 未找到匹配的参数sudo ./appimagetool ... — sudo 会重置环境导致相对路径失效或权限混乱二、生成 Electron 应用2.1 安装 Nativefiersudo npm install -g nativefier2.2 生成应用APPNAMEMyApp # 只能用字母/数字/下划线不能用连字符 -URLhttps://example.com nativefier --name $APPNAME $URL生成后会得到目录MyApp-linux-x64/注意APP_NAMEAPP-NAME — bash 变量名含连字符会被解析为减法运算导致路径错乱APPNAMEAppName 或 APPNAMEApp_Name本人使用的标准是AppName_Web_Appimage不过在该文档中为了方便书写并未沿用这一标准而是使用MyApp三、构建 AppDir3.1 目录结构mkdir -p MyApp.AppDir/usr/bin cp -r MyApp-linux-x64/* MyApp.AppDir/usr/bin/3.2 创建 AppRuncat MyApp.AppDir/AppRun EOF #!/bin/bash exec $(dirname $(readlink -f $0))/usr/bin/MyApp $ EOF chmod x MyApp.AppDir/AppRun或者更简单的直接vim MyApp.AppDir/AppRun编辑就OK了注意Windows 换行符CRLF— 会导致 Exec format error用 EOF单引号防止变量展开确保纯文本写入如果 AppDir 里的程序能跑但 AppImage 不能跑99% 是 AppRun 问题3.3 创建 .desktop 文件cat MyApp.AppDir/MyApp.desktop EOF [Desktop Entry] NameMyApp ExecMyApp Iconmyapp TypeApplication CategoriesNetwork; EOF同理你可以选择vim MyApp.AppDir/MyApp.desktop注意TypeApplicatio — 拼写错误必须是 Application缺少 [Desktop Entry] — 所有字段必须在该组下前面不能有空行或注释外的内容Icon/path/to/icon.png — 不能写路径只能写纯图标名Iconmyapp 但文件名是 MyApp.png — 大小写必须完全一致3.4 放置图标可选可不选图标必须放在 AppDir 根目录且与 .desktop 中的 Icon 同名找到 Nativefier 生成的图标find MyApp.AppDir/usr/bin -name .ico -o -name .png复制到根目录重命名与 Icon 字段一致cp MyApp.AppDir/usr/bin/icon.ico MyApp.AppDir/myapp.png注意图标放在 usr/bin/ 里 — appimagetool 只在 AppDir 根目录查找Iconmyapp 但文件叫 myapp.ico — 扩展名必须是 .png / .svg / .xpm如果没有图标可用系统通用图标如 Iconapplications-internet四、打包4.1 执行打包ARCHx86_64 ./appimage-tools/appimagetool-x86_64.AppImage \ --appimage-extract-and-run \ MyApp.AppDir注意上述三行内容需要同时保持原样布局的输入进终端未设置 ARCH — 会报错 More than one architectures were found...打包时目录权限混乱之前用过 sudo— mksquashfs 报 Permission denied解决sudo chown -R $USER:$USER . 后再打包磁盘满或 /tmp 满 — mksquashfs 静默失败生成只有 2MB 的空壳文件解决df -h /tmp 确认空间充足4.2 验证打包结果ls -lh MyApp-x86_64.AppImage #正常应当显示-rwxr-xr-x注意必须大于 80MBElectron 壳的体积。如果只有 1-5MB说明打包失败squashfs 镜像未写入。五、运行与分发5.1 本地运行chmod x MyApp-x86_64.AppImage ./MyApp-x86_64.AppImage5.2 FUSE 问题Fedora 42 / 部分发行版如果报错 Cannot mount AppImage, please check your FUSE setup./MyApp-x86_64.AppImage --appimage-extract-and-run注意Fedora 42 默认 fuse3旧版 AppImageKit 可能不兼容--appimage-extract-and-run 可绕过 FUSE直接解压运行之后发给别人或者自己使用即可至于appdir及其内容就可以删掉了六、兼容性注意事项6.1 glibc 陷阱打包系统glibc 版本兼容目标Rocky 10 / Fedora 422.39只能在新系统运行Rocky 9 / Ubuntu 22.042.34兼容面较广Rocky 8 / Ubuntu 20.042.28兼容面最广注意在新系统打包的 AppImage 无法在旧系统运行GLIBC_2.XX not foundglibc 向后兼容不向前兼容核心原则变量名不要连字符.desktop 格式严格组头、拼写、Icon 纯名字图标放 AppDir 根目录打包不要 sudo验证文件必须 50MB分发前在目标系统测试

相关新闻

嵌入式学习第十三天报告:从void指针深入理解C语言内存与指针

嵌入式学习第十三天报告:从void指针深入理解C语言内存与指针

1. void指针:通用内存操作工具 1.1 void指针的基本概念 void指针(void *)是C语言中一种特殊的指针类型,它不指向任何具体的数据类型。void指针的主要特点是: 通用性:可以指向任意类型的数据灵活性&#xff…

2026/8/4 6:06:26 阅读更多 →
ToastFish:让摸鱼时间变成英语提升的黄金时刻

ToastFish:让摸鱼时间变成英语提升的黄金时刻

ToastFish:让摸鱼时间变成英语提升的黄金时刻 【免费下载链接】ToastFish 一个利用摸鱼时间背单词的软件。 项目地址: https://gitcode.com/GitHub_Trending/to/ToastFish 你是否曾有过这样的体验?工作间隙刷手机、开会发呆、等待文件传输时&…

2026/8/4 6:06:26 阅读更多 →
AI代码审计实战:从静态扫描到智能安全护航的研发流程变革

AI代码审计实战:从静态扫描到智能安全护航的研发流程变革

1. 项目概述:当AI成为代码的“安检员”最近在团队内部搞了个有意思的实践,我们称之为“AI驱动的代码安全卫士”。核心就是拿华为云CodeArts的“代码智能审计助手”这个工具,深度折腾了一番,把它从一个“静态规则扫描器”用成了我们…

2026/8/4 6:06:26 阅读更多 →

最新新闻

华硕笔记本终极控制神器:G-Helper轻量级替代方案完全指南

华硕笔记本终极控制神器:G-Helper轻量级替代方案完全指南

华硕笔记本终极控制神器:G-Helper轻量级替代方案完全指南 【免费下载链接】g-helper Lightweight Armoury Crate alternative for Asus laptops with nearly the same functionality. Works with ROG Zephyrus, Flow, TUF, Strix, Scar, ProArt, Vivobook, Zenbook,…

2026/8/4 6:51:46 阅读更多 →
SpringCloud中OpenFeign核心原理与最佳实践

SpringCloud中OpenFeign核心原理与最佳实践

1. OpenFeign在SpringCloud中的核心价值第一次接触OpenFeign时,我被它声明式的接口定义方式惊艳到了。相比传统的RestTemplate,用接口方法映射远程调用的设计简直是对开发者体验的降维打击。在微服务架构中,服务间通信就像城市里的快递网络—…

2026/8/4 6:51:46 阅读更多 →
SpringBoot+Vue+Hive构建旅游数据分析平台实践

SpringBoot+Vue+Hive构建旅游数据分析平台实践

1. 项目概述这个毕业设计项目是一个基于SpringBootVueMySQLHive的旅游数据分析与应用平台(ABO平台)。作为一个全栈项目,它整合了当前企业级开发中最主流的技术栈,实现了从数据采集、存储、处理到可视化展示的完整闭环。我在实际开…

2026/8/4 6:51:46 阅读更多 →
2026值得蹲守的国内科技峰会盘点,普通科技爱好者照着看就行

2026值得蹲守的国内科技峰会盘点,普通科技爱好者照着看就行

平时闲来总爱刷前沿科技资讯,不管是基础物理新进展、AI落地新玩法,还是行业投融资风向、硬核新材料突破,线下大型峰会是一手新鲜信息最集中的渠道。整理了2026年全年不同时间段含金量较高的各类科技论坛,结合普通观众观看门槛、看…

2026/8/4 6:51:46 阅读更多 →
轻量级RAG智能问答助手:从文档处理到本地部署的完整实践

轻量级RAG智能问答助手:从文档处理到本地部署的完整实践

1. 从“文档中心”到“智能大脑”:一个真实的需求场景最近在折腾公司内部的一个老文档中心,这玩意儿堆了上千份产品手册、技术白皮书和项目复盘,每次新人进来或者遇到个冷门问题,都得靠关键词搜半天,运气好能翻到&…

2026/8/4 6:51:46 阅读更多 →
屌丝的出路

屌丝的出路

屌丝的出路 作为一个在 IT 行业摸爬滚打多年的“屌丝”,我深知那种“高不成低不就”的焦虑。没有名校背景,没有大厂光环,没有惊人的天赋,每天在 CRUD 和修 Bug 之间反复横跳。但我想说,屌丝的出路不在于“逆袭”&#…

2026/8/4 6:50:45 阅读更多 →

日新闻

AI Agent白手起家26: 使用标准事件驱动大模型实践

AI Agent白手起家26: 使用标准事件驱动大模型实践

纲要 练习目标:掌握大模型标准事件的调用回顾 LangChain 中的核心标准事件 invokestreambatchastream_eventswith_structured_output 环境准备实战代码:多种事件调用对比 同步调用与流式输出批量处理异步事件流监听结构化输出 运行说明与预期结果总结与扩…

2026/8/4 0:00:40 阅读更多 →
dealsea是什么?跨境卖家必知的美国deal站入门指南

dealsea是什么?跨境卖家必知的美国deal站入门指南

说实话,第一次听说美国这个老牌折扣网站的跨境卖家,十个有八个会问同一个问题:这个平台到底是干嘛的?我见过一个做家居出口的朋友,他在亚马逊上月销二十万美金,却从来没用过它。我给他看了首页——一屏一屏…

2026/8/4 0:01:40 阅读更多 →
清华大学重磅EST:植物自导电闪蒸焦耳热600°C/2600°C两步法!稀土超积累植物秒级转化为CeO₂-石墨烯电催化剂!

清华大学重磅EST:植物自导电闪蒸焦耳热600°C/2600°C两步法!稀土超积累植物秒级转化为CeO₂-石墨烯电催化剂!

通讯作者:邓兵、刘建国通讯单位:清华大学DOI:https://doi.org/10.1021/acs.est.6c00603研究背景稀土元素(REEs)是清洁能源技术与电子器件不可或缺的核心原料,然而传统提取方式依赖能耗高、排放大的采矿与强…

2026/8/4 0:01:40 阅读更多 →

周新闻

最大流算法详解:从水管网络到Ford-Fulkerson与Dinic实战

最大流算法详解:从水管网络到Ford-Fulkerson与Dinic实战

1. 从水管网络到最大流:一个核心问题的诞生想象一下,你是一个城市供水系统的总工程师。你的城市有多个水源(水库),需要通过一个复杂的地下管道网络,将水输送到各个居民区。每条管道都有其最大通水能力&…

2026/8/3 4:58:13 阅读更多 →
基于Springboot的企业门户网站(源码+LW+调试文档+讲解)

基于Springboot的企业门户网站(源码+LW+调试文档+讲解)

温馨提示:本人主页置顶文章(点我)开头有 CSDN 平台官方提供的学长联系方式的名片! 温馨提示:本人主页置顶文章(点我)开头有 CSDN 平台官方提供的学长联系方式的名片! 温馨提示:本人主页置顶文章(点我)开头有 CSDN 平台…

2026/8/3 1:53:31 阅读更多 →
MATLAB xcorr函数详解:从互相关原理到四大实战应用

MATLAB xcorr函数详解:从互相关原理到四大实战应用

1. 从一次信号“找茬”说起:为什么我们需要互相关几年前,我在处理一组声学传感器数据时遇到了一个棘手的问题。我有两个麦克风记录了一段相同的音频信号,理论上它们接收到的声音波形应该非常相似,只是由于麦克风位置不同&#xff…

2026/8/4 5:26:40 阅读更多 →

月新闻

免费解锁百度网盘SVIP加速:macOS用户必备的下载提速终极指南

免费解锁百度网盘SVIP加速:macOS用户必备的下载提速终极指南

免费解锁百度网盘SVIP加速:macOS用户必备的下载提速终极指南 【免费下载链接】BaiduNetdiskPlugin-macOS For macOS.百度网盘 破解SVIP、下载速度限制~ 项目地址: https://gitcode.com/gh_mirrors/ba/BaiduNetdiskPlugin-macOS 还在为百度网盘macOS版的龟速下…

2026/8/3 13:07:03 阅读更多 →
终极ncmdump指南:3分钟实现网易云NCM音乐解密与格式转换

终极ncmdump指南:3分钟实现网易云NCM音乐解密与格式转换

终极ncmdump指南:3分钟实现网易云NCM音乐解密与格式转换 【免费下载链接】ncmdump 项目地址: https://gitcode.com/gh_mirrors/ncmd/ncmdump 还在为网易云音乐下载的NCM格式文件无法在其他播放器播放而烦恼吗?ncmdump解密工具帮你轻松解决这个困…

2026/8/3 5:19:38 阅读更多 →
HarmonyOS 应用开发《掌上英语》第81篇: 智能体卡片:为英语学习 App 打造桌面级学习助手

HarmonyOS 应用开发《掌上英语》第81篇: 智能体卡片:为英语学习 App 打造桌面级学习助手

AgentCard 智能体卡片:为英语学习 App 打造桌面级学习助手适用平台:HarmonyOS 7.0 (API 26 Beta)一、引言 HarmonyOS 7.0(API 26 Beta)新增了 AgentCard 智能体卡片能力,这是继 HMAF(鸿蒙智能体框架&#x…

2026/8/3 8:27:36 阅读更多 →