尧图建网站 尧图建网站 YAOTU WEB BUILD 免费咨询
ARTICLE DETAIL

资讯详情

深耕网站建设与建站编程的一线实战洞察。

LocalSend AppImage 完全指南:一个文件搞定 Linux 跨发行版传输

LocalSend AppImage 完全指南:一个文件搞定 Linux 跨发行版传输 LocalSend AppImage 完全指南一个文件搞定 Linux 跨发行版传输【免费下载链接】localsendAn open-source cross-platform alternative to AirDrop项目地址: https://gitcode.com/GitHub_Trending/lo/localsendLocalSend 是一个开源的 AirDrop 替代品让你在不依赖云服务的前提下通过局域网在电脑、手机、平板之间直接传文件。如果你用的是 Linux最省心的分发形式就是 LocalSend AppImage把它下载下来、加一个执行权限Ubuntu、Fedora、Arch 上都能直接双击打开不用装包管理器、不用配依赖。本文讲清 AppImage 版 LocalSend 怎么用、从源码怎么构建以及配置里几个关键决策背后的原因。为什么 Linux 用户偏爱 AppImage 版 LocalSend传统方式安装一个 Linux 应用绕不开三件事装系统包管理器、调依赖版本、拿 root 权限。LocalSend 基于 Flutter 开发本身还带一层 Rust 运行时核心协议、发现、传输逻辑在 packages/core/ 里用 Rust 实现依赖链条比纯原生程序更长。AppImage 的思路是把应用 它需要的所有库打进一个可执行文件。对普通用户的直接好处是环节传统 .deb / .rpmLocalSend AppImage安装依赖系统包管理器不同发行版要下不同包下载单个文件chmod x后直接运行依赖系统库版本不匹配时报错运行时库自带与宿主机隔离更新重新走一遍包管理流程新文件覆盖旧的即可权限通常需要 root纯用户级操作一句话你不需要知道本机是 22.04 还是 39 号 FedoraAppImage 自己带够运行时。3 步上手 LocalSend AppImage如果你不想自己编译直接走这条路下载从项目发布渠道拿到对应架构的LocalSend-版本号-x86_64.AppImageARM 机器选 arm_64 版本。加执行权限chmod x LocalSend-1.18.2-x86_64.AppImage ./LocalSend-1.18.2-x86_64.AppImage开始传输打开后默认在接收页。把两台设备连到同一个 Wi-Fi对方就会以设备名 编号出现在附近设备里点一下即可发送或接收。如果首次运行时提示缺少 FUSE 支持个别发行版把libfuse2从默认安装里去掉了装一下libfuse2再运行即可。从源码构建 LocalSend AppImage官方构建脚本是 support/scripts/compile_linux_appimage.sh读一遍脚本就能还原完整流程。手动执行的话分四步。1. 准备编译环境Flutter 侧的通用依赖加一个 LocalSend 特有的托盘库sudo apt install curl clang cmake libgtk-3-dev ninja-build sudo apt install libayatana-appindicator3-devAppImage 打包侧还需要sudo apt install libfuse2 # 再下载 appimage-builder 二进制放入 PATH如 /usr/local/bin/appimage-builder2. 克隆仓库并初始化子模块git clone https://gitcode.com/GitHub_Trending/lo/localsend cd localsend git submodule update --init注意 LocalSend 用的是内置的 Flutter 子模块submodules/flutter不是系统里的 Flutter保证版本一致。3. 编译 Linux 可执行文件submodules/flutter/bin/flutter clean submodules/flutter/bin/flutter pub get submodules/flutter/bin/flutter pub run build_runner build -d submodules/flutter/bin/flutter build linux产物在build/linux/x64/release/bundle/是一个可直接运行的目录。4. 打包成 AppImage把 bundle 拷进AppDir/然后按配方打包mkdir AppDir cp -r build/linux/x64/release/bundle/* AppDir/ cp support/build/appimage/AppImageBuilder_x86_64.yml AppImageBuilder.yml appimage-builder chmod x LocalSend-*-x86_64.AppImage最终得到一个LocalSend-版本号-x86_64.AppImage文件就是你能分发给所有人的那个文件。构建配方里值得注意的 5 个决策配方文件在 support/build/appimage/x86_64 和 ARM64 各一份AppImageBuilder_x86_64.yml与AppImageBuilder_arm_64.yml内容基本一致只有架构字段不同。里面有五个设计点理解它们能帮你判断这个 AppImage 为什么能在别的发行版上跑起来。1. 依赖基线锁定在 Ubuntu Jammy22.04配方里的 apt 源全部指向 jammy 系列仓库。意义是无论谁的机器上运行库版本都来自同一个基准而不是你系统里碰巧装了什么版本。依赖行为因此可复现。2. 显式加入的两个运行库配方里只 include 了两个包都不是可有可无的libayatana-appindicator3-1—— 系统托盘图标LocalSend 常驻后台靠它librsvg2-common—— SVG 图标渲染支持。只带必需的库包体才不会失控。3. 主动排除的主题与文档exclude段去掉了adwaita-icon-theme避免图标主题与宿主系统打架files.exclude又删掉了usr/share/man、各类 README/changelog/NEWS 文本。这些内容对运行毫无影响删掉后包更小、启动时挂载更快。4. 一行环境变量的作用配方通过runtime.env注入XDG_DATA_DIRS: /usr/local/share/:/usr/share/:${XDG_DATA_DIRS}AppImage 挂载后是一个相对封闭的环境这行配置把宿主系统的桌面文件路径.desktop文件、图标主题接回来保证应用能被桌面环境正确识别、图标正常显示。5. 双架构并行维护x86_64 配方对应普通 PC 和笔记本arm_64 配方对应 ARM 架构设备。两份配方分开维护改一边不影响另一边。AppImage 与 deb、Flatpak、Snap 怎么选同样是把 LocalSend 装到 Linux几种格式各有脾气格式优势代价AppImage零安装、跨发行版一致、纯用户级单文件体积偏大无内置自动更新Flatpak沙箱隔离、Flathub 可自动更新需装运行时首次启动略慢Snap有商店集成、自动更新强制沙箱网络行为受限deb / rpm与系统集成最好、包体小一个发行版一个包老系统依赖容易缺对拿到就能用、且要和手机/同事的机器互传这个场景AppImage 的一致性优势最明显如果你长期只用某一台发行版走官方 deb/rpm 或 Flatpak 也完全可以。动手清单按顺序执行你现在就可以拥有一个可分发的 LocalSend AppImage按上文装好libgtk-3-dev、libayatana-appindicator3-dev、libfuse2和 appimage-buildergit clone https://gitcode.com/GitHub_Trending/lo/localsend进入目录执行git submodule update --init依次跑flutter clean / pub get / build_runner build -d / build linux用submodules/flutter/bin/flutter把build/linux/x64/release/bundle/拷入AppDir/以support/build/appimage/AppImageBuilder_x86_64.yml为配方执行appimage-builder对产出的LocalSend-*-x86_64.AppImage执行chmod x发给任意 Linux 机器即可双击运行。遇到设备互相发现不了先确认两台设备在同一 Wi-Fi 下再看 LocalSend 发送页底部的 Troubleshoot 提示仍不行则检查主机防火墙是否放行了局域网 TCP 端口。核心关键词LocalSend AppImage长尾关键词LocalSend AppImage 构建步骤、LocalSend 安装与跨发行版使用、Flutter Linux 应用打包 AppImage、appimage-builder 配方配置、LocalSend 源码编译【免费下载链接】localsendAn open-source cross-platform alternative to AirDrop项目地址: https://gitcode.com/GitHub_Trending/lo/localsend创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
返回列表