Shadowrocket Linux 版安装:deb、rpm、AppImage 怎么选,apt、dnf 命令与执行权限设置

按发行版选择安装包:Debian/Ubuntu 用 deb 包并通过 apt 安装,Fedora 系用 rpm 包并通过 dnf 安装,其他发行版用 AppImage,添加执行权限后直接运行。

本文速览

本文适用于准备在 Linux 桌面安装 Shadowrocket 的用户。先确认发行版与处理器架构,再从本站下载页选择 deb、rpm 或 AppImage;随后完成本地安装、执行权限设置与首次启动检查。文中的命令读取你实际下载的文件路径,不需要猜安装包名称。连接验证以用户已有自己的服务商与订阅为前提,安装完成不等于已经具备可用线路。

1. 先确认发行版、架构与获取方式

deb、rpm 和 AppImage 是软件分发形式,不是三种代理协议,也不会替代连接参数。Debian、Ubuntu 及采用相同包管理体系的发行版通常选择 deb;Fedora 等使用 dnf 的系统选择 rpm。其他桌面发行版可以在运行环境满足要求时选择 AppImage,但不能把“单文件运行”理解成兼容所有 Linux 系统。

cat /etc/os-release
uname -m
getconf LONG_BIT

第一条命令显示发行版信息,重点看 ID 与 ID_LIKE;第二条显示内核报告的机器架构;第三条辅助确认当前用户空间位数。常见的 x86_64 与 aarch64 不是同一种架构。安装包格式选对后,仍须核对下载页标明的架构;没有匹配项时不要靠改文件名或强制安装绕过检查。

系统包安装

deb
Debian / Ubuntu,使用 apt
rpm
Fedora 系,使用 dnf
安装权限
包管理事务通常需要 sudo
后续管理
由系统包数据库记录安装信息

包格式与 CPU 架构需要分别匹配,不能只看文件扩展名。

单文件运行

格式
AppImage
文件权限
需要当前用户的执行权限
运行环境
仍受架构、系统库与 FUSE 条件限制
保存位置
建议放入个人目录中的固定位置

AppImage 不通过 apt 或 dnf 安装,不保证自动生成应用菜单入口。

统一从全平台下载页进入 Linux 分区,安装包由本站提供。获取方式分为两档:iPhone / iPad 在 App Store 一次性 $2.99,系统要求以 App Store 页面标注为准;Mac(Apple 芯片与 Intel)、Windows、安卓、Linux 版免费。iPhone / iPad 产品的开发者为 Shadow Launch Technology Limited,应用 ID 为 932747118。

2. Debian / Ubuntu:用 apt 安装本地 deb

建议用 apt 安装本地文件,因为它会在处理软件包时一并检查依赖关系,并尝试从系统已配置的软件源获取依赖。先完成下载,再打开 Bash 终端执行下面的步骤。路径输入提示出现后,粘贴实际文件的完整路径,不要在输入内容外再加引号;命令已经对变量作了引用,可以处理路径中的空格。

  1. 下载 deb

    打开本站下载页,进入 Linux 分区,核对架构后保存 deb 文件。等待浏览器显示下载完成,不要选择仍在下载的临时文件。

  2. 定位文件

    在文件管理器中找到下载的文件,通过属性查看完整路径;也可以在终端输入路径时使用 Tab 补全,避免手工抄错文件名。

  3. 执行安装

    运行下方命令,输入实际路径,确认 apt 给出的安装计划。若事务提示删除大量无关软件或架构不符,先取消并检查原因。

  4. 启动检查

    安装结束后在桌面应用菜单中查找 Shadowrocket,使用普通用户启动,确认能够打开主窗口,再继续导入已有配置。

read -r -p "请输入已下载 deb 的完整路径:" pkg
if [ -f "$pkg" ]; then
  pkg="$(realpath -- "$pkg")"
  dpkg-deb -f "$pkg" Package Architecture
  sudo apt update && sudo apt install "$pkg"
else
  printf '%s\n' "文件不存在,请检查路径。"
fi

realpath 将路径转成绝对路径,让 apt 明确处理本地文件;若直接写一个没有路径前缀的文件名,apt 可能把它当成软件包名称搜索。安装期间需要的网络连接通常用于获取依赖,并不意味着本地 deb 没有下载完整。若 apt update 已报软件源错误,应先修复软件源或网络,再重试安装。

3. Fedora 系:用 dnf 安装本地 rpm

rpm 文件也应交给发行版的依赖解析工具处理。下面使用 dnf 安装本地 rpm,而不是只执行底层安装操作。系统可以在已启用的软件源内寻找所需依赖,但无法自动解决发行版之间的所有差异;“系统能识别 rpm”不等于任意 rpm 都适用。

read -r -p "请输入已下载 rpm 的完整路径:" pkg
if [ -f "$pkg" ]; then
  pkg="$(realpath -- "$pkg")"
  rpm -qp --queryformat '%{NAME} %{ARCH}\n' "$pkg"
  sudo dnf install "$pkg"
else
  printf '%s\n' "文件不存在,请检查路径。"
fi

dnf 提示事务完成后,再从桌面启动 Shadowrocket。如果应用菜单没有立即刷新,可以退出桌面会话后重新登录一次。若安装本身已经失败,刷新菜单不会补全缺失的文件,应返回终端处理安装错误。

4. AppImage:添加执行权限并直接运行

AppImage 通常以单个文件保存。先将文件放到准备长期使用的位置,例如个人目录下的 Applications 文件夹,再设置执行权限;这样后续创建的桌面入口不容易因移动文件而失效。文件名和扩展名保持下载时的原样即可,不需要手动改名。

read -r -p "请输入已下载 AppImage 的完整路径:" app
if [ -f "$app" ]; then
  app="$(realpath -- "$app")"
  chmod u+x -- "$app" && "$app"
else
  printf '%s\n' "文件不存在,请检查路径。"
fi

chmod u+x 只为文件所有者增加执行权限,不需要把文件设为所有人可写。如果文件属于其他用户,先确认下载与存放位置是否正确,而不是直接用 sudo 启动整个桌面应用。也可通过文件管理器的文件属性界面启用执行权限,但不同桌面的菜单文字并不统一。

AppImage 启动失败:按错误类型处理

权限与存放位置
  • Permission denied:检查 ls -l 输出中的执行权限。
  • 已经有执行权限仍被拒绝:检查所在文件系统是否以 noexec 挂载。
  • 优先移到允许执行的个人本地目录,再设置权限并重试。
架构与运行依赖
  • Exec format error:优先核对安装包架构与系统架构。
  • 提示 FUSE 或 libfuse.so.2 缺失:按当前发行版的软件包说明补充所需兼容库。
  • 提示系统库符号缺失:核对运行要求,不替换系统核心库来强行启动。

先在终端直接运行并读取报错,再处理对应条件;不要靠反复双击或扩大权限猜测原因。

FUSE 相关的软件包名称会随发行版与系统版本变化,因此不宜把一条安装命令套到所有系统。容器、受限桌面会话和某些挂载环境还可能不允许必要的操作。AppImage 能启动桌面窗口,也不代表系统已经授予后续网络操作所需的全部权限。

5. 首次启动:把安装验证与连接验证分开

先确认 Shadowrocket 能以普通用户打开并保留基本设置,再测试连接。安装包解决的是程序运行问题,已有订阅与配置解决的是连接目标和分流问题。本文以用户已有自己的服务商与订阅为前提;本站不提供、不销售、不推荐节点或订阅,客户端获取费用也不是线路套餐。

  1. 在 Home 检查已有连接项目;需要添加时,使用右上角 +,在 Type 中选择 Subscribe,填写自己已有的订阅链接并保存,再执行订阅更新。
  2. 检查更新是否得到连接项目。链接获取失败、认证失效与“程序无法启动”是不同问题,不应通过重复安装解决。
  3. 进入 Config 核对当前配置及规则,再在 Global Routing 中选择适合验证目的的姿态。
  4. 首次连接时阅读系统授权提示。需要授权时仅按明确提示操作,不把日常启动方式改成始终使用 root。

以下对比只说明路由姿态的用途。选择 Config 不代表所有连接都会直连或代理,实际结果取决于规则顺序和对应策略;选择 Proxy 也不能修复错误的地址、端口、密码或传输参数。

Global Routing → Config

推荐

按当前配置的规则决定连接策略。使用前检查规则是否符合预期,尤其是末尾的 FINAL 如何处理此前未命中的连接。

适合:已有明确分流配置,进行日常使用与规则验证

Global Routing → Proxy

以代理姿态验证当前连接是否可用,帮助区分连接参数问题和规则选择问题;实际覆盖范围仍受系统网络接管方式约束。

适合:短时排查已有连接能否建立,不用于证明所有应用均已接管

Global Routing → Direct

使用直连姿态对照基础网络状态。直连可以访问某个站点,只能说明该路径可达,不能证明已有代理连接正常。

适合:对照本地网络、DNS 与站点自身的可达性

排查阶段暂不叠加自动连接条件。若已启用 Settings → On Demand,先核对其触发条件,避免手动断开后又被条件重新连接。Scene 与自动化设置不应拿来替代最基本的手动连接验证,也不要将其他平台的系统 VPN 开关路径直接照搬到 Linux 桌面。

6. 更新、卸载与故障记录

更新前先保存当前使用的配置,并确认已有订阅的管理信息仍可用。deb 和 rpm 可再次使用相同包管理工具安装下载页提供的新文件,由包管理器判断事务;不要假设安装本地包就会自动添加更新源。AppImage 则应先退出正在运行的程序,再替换文件,并重新检查执行权限与桌面入口路径。

形式更新处理卸载边界
deb用 apt 安装新下载的匹配文件,确认事务结果。通过包管理器按实际软件包名移除;软件包名可用 dpkg-deb 查询。
rpm用 dnf 处理新下载的匹配文件,不强制跨架构覆盖。通过 dnf 按实际软件包名移除;名称可用 rpm 查询。
AppImage退出程序后替换文件,保持启动入口指向正确位置。删除对应文件与手动创建的入口;个人配置需另行确认是否保留。

删除程序不等于清除个人配置。遇到启动故障时,不要先删除整个用户目录或清理不明路径;先保留配置,再记录错误。向技术支持描述问题时,提供发行版、架构、包格式、安装命令与终端报错即可,订阅令牌、密码和私钥应从记录中移除。

完成上述区分后,通常可以把问题定位到包格式、架构、依赖、执行条件或连接配置中的某一层。按层处理比反复切换三种安装包更有效,也能避免在安装正常时误删已保存的配置。

下载 Shadowrocket