本文适用于有图形桌面的 Linux 设备。先确认发行版与 CPU 架构,再从本站下载页选择 Shadowrocket 安装包:Debian、Ubuntu 通常选 deb,Fedora 等使用 dnf 的系统选 rpm,希望直接运行独立文件时选 AppImage。下文给出本地文件安装、执行权限、启动报错与更新检查的方法;连接配置以用户已有自己的服务商与订阅为前提。
一、先查发行版与架构,再选安装格式
Shadowrocket(小火箭)的 Linux 安装包格式决定由谁管理文件、怎样处理依赖,不决定协议能力。不要只看文件扩展名就运行:发行版、CPU 架构以及下载页列出的系统条件都要匹配。AppImage 减少了对发行版包管理格式的依赖,但并不意味着同一个文件能在所有架构、所有系统环境中运行。
在终端依次执行以下命令。第一条显示发行版信息,第二条显示内核报告的机器架构。若输出为 x86_64,应核对下载项是否标明对应的 x86-64 架构;若为 aarch64,则核对是否提供对应的 ARM64 构建。下载页没有匹配项时,不要用修改扩展名的方式尝试安装。
cat /etc/os-release
uname -m
| 当前系统 | 安装格式 | 处理方式 |
|---|---|---|
| Debian、Ubuntu 及兼容系统 | deb | 使用 apt 安装本地文件,并解析依赖。 |
| Fedora 等使用 dnf 的系统 | rpm | 使用 dnf 安装本地文件,并解析依赖。 |
| 其他采用 RPM 的发行版 | rpm | 先确认兼容性,使用该发行版自己的包管理器;不要照搬 dnf 命令。 |
| 希望保留独立运行文件 | AppImage | 核对架构与运行条件,赋予执行权限后启动。 |
安装包统一从全平台下载页的 Linux 区域获取,以页面实际提供的文件为准。Linux 版免费;iPhone / iPad 在 App Store $2.99 一次性购买,Mac(Apple 芯片 / Intel)、Windows、安卓版本也免费。不同平台的获取方式不要混用。
二、按四步完成下载前检查
以下流程把“选包”和“配置连接”分开处理。安装程序能启动,只能说明本地运行条件基本满足;能否连接仍取决于已有服务器参数、网络和当前路由设置。首次安装时先不要自动接管网络,便于区分安装错误与连接错误。
-
确认系统
执行
cat /etc/os-release与uname -m,记录发行版和架构。本文后续交互命令按 Bash 编写,可先运行bash进入该终端环境。 -
获取文件
打开本站下载页 → Linux,按系统选择实际提供的 deb、rpm 或 AppImage。下载完成后在文件管理器中确认文件位置,不要把尚未完成的下载文件交给安装器。
-
安装并启动
按下一节对应命令安装或运行。程序首次启动使用普通用户身份;仅包管理器安装等系统操作需要管理员授权,不要用
sudo启动整个图形应用。 -
导入并验证
在 Home →「+」→ Type → Subscribe 中填写自己已有的订阅,保存并更新。选择可用配置后检查 Global Routing,再按需开启连接;不要把导入订阅成功当成所有目标均可访问的证明。
三、deb 用 apt,rpm 用 dnf 安装
下面的命令不预设安装包文件名。终端提示输入时,粘贴刚下载文件的绝对路径,按 Enter 继续;路径两端不要额外输入引号。命令中的 "$pkg" 已处理路径内的空格。若文件管理器的“复制位置”给出的是 file:// 地址,应先转换为本机文件路径再使用。
Debian / Ubuntu:安装本地 deb
read -r -p '请输入 deb 文件的绝对路径:' pkg
dpkg-deb -f "$pkg" Package Architecture
sudo apt install "$pkg"
dpkg-deb 这一行用于读取包名和架构,便于在安装前再次确认。apt install 接收的是本地文件路径,而不是远程软件名;它会根据已配置的软件源尝试解决依赖。若提示缺少依赖,先检查系统软件源和网络,不要使用强制忽略依赖的参数,也不要为了通过安装随意加入不明软件源。
Fedora 等 dnf 系统:安装本地 rpm
read -r -p '请输入 rpm 文件的绝对路径:' pkg
rpm -qp --queryformat '%{NAME} %{ARCH}\n' "$pkg"
sudo dnf install "$pkg"
rpm -qp 只查询指定文件的元数据,实际安装交给 dnf。阅读事务摘要后再确认:如果出现大量移除系统组件、架构不匹配或依赖冲突,应取消操作。其他采用 RPM 的发行版不一定预装 dnf,也不一定与当前包兼容,应先核对下载页说明。
- 提示找不到文件:重新确认路径、大小写和下载是否完成。不要把网页地址当成本地路径。
- 提示架构不匹配:对照
uname -m与包元数据重新选包,不能靠改名转换架构。 - 提示依赖不可满足:检查发行版兼容条件和软件源状态;不要把“安装完成”建立在跳过依赖检查之上。
四、AppImage 先赋权,再用普通用户运行
AppImage 通常以单个文件保留,不经过 apt 或 dnf 的安装数据库。可以先把文件放到个人目录中一个固定位置,再赋予执行权限。不要长期从浏览器临时目录运行,以免清理临时文件后找不到程序。以下命令仍在 Bash 中执行,并输入真实文件的绝对路径。
read -r -p '请输入 AppImage 文件的绝对路径:' app
chmod u+x "$app"
"$app"
chmod u+x 只给文件所有者增加执行权限,不需要把文件权限改成所有人可写。如果双击没有反应,从终端运行更容易看到错误。出现 Permission denied 时,除了检查执行位,还要确认所在文件系统没有以 noexec 挂载;例如某些移动存储或受限目录即使增加执行位也不能运行。
FUSE 相关报错要按发行版处理。部分 AppImage 运行时依赖 FUSE 支持。如果终端明确提示缺少相关库或无法挂载,应查阅当前发行版的软件包说明后安装适配组件,不要盲目套用其他发行版的包名,也不要删除系统已有的 FUSE 组件。
AppImage 也依赖基本的图形会话与系统运行环境。在纯终端服务器、容器或缺少桌面会话的 SSH 环境中,文件可执行并不代表图形窗口能够显示。出现 cannot open display 等提示时,先回到本机桌面会话排查,而不是反复执行安装命令。
五、启动后区分安装、订阅与路由问题
打开窗口之后,先确认 Home、Config、Settings 可以正常访问,再导入自己已有的连接信息。协议与服务端参数需要一致:Shadowsocks、VMess、VLESS、Trojan、Hysteria2、WireGuard 不是可以随意互换的标签。把一个配置的 Type 改成另一个协议,不能修复服务器端不匹配的问题。
排查时重点区分下面三种 Global Routing 设置。这里的流量范围均指进入 Shadowrocket 处理链路的连接,不表示 Linux 上所有应用、所有协议都会自动被接管。Scene 则应结合已配置的场景条件确认实际生效行为,不要仅凭名称推断当前连接去向。
Config
推荐依据当前配置中的规则决定连接去向。DOMAIN-SUFFIX、IP-CIDR、GEOIP 等规则参与匹配,最终去向还取决于规则顺序和 FINAL,不代表未命中就一定直连。
适合:已有经过核对的分流配置,准备进行日常连接。
Proxy
将进入处理链路的连接统一交给所选代理策略。可临时用来区分规则匹配问题与代理路径问题,但仍需确认所选服务器和协议参数有效。
适合:短时排查 Config 中的规则或策略选择。
Direct
让进入处理链路的连接直接访问目标,不经代理服务器。它适合建立本地网络基线,但不能用于验证代理服务器是否可用。
适合:确认本地 DNS、网络出口与目标自身是否正常。
首次验证只改变一个条件:先记录原有 Global Routing,再临时切换姿态,对同一个目标重复测试,完成后恢复原设置。On Demand 属于按条件触发连接的设置,不是修复安装的开关;初次排查可先在 Settings → On Demand 查看触发条件,避免自动连接改变测试状态。
六、常见安装与启动问题
下载了 deb,为什么 Fedora 打不开?
先运行 cat /etc/os-release 确认系统。deb 与 rpm 属于不同包管理体系,不能通过改扩展名互换。回到本站下载页选择兼容的 rpm,或核对 AppImage 的运行条件;不要在系统中混装另一套包管理工具来绕过格式不匹配。
AppImage 已经 chmod,还是提示不能执行?
先用 ls -l "$app" 检查文件所有者是否有执行位,再对照 uname -m 核对架构。若是 Permission denied,检查所在分区是否为 noexec;若是 Exec format error,优先排查架构不匹配或文件不完整,不要继续增加权限。
窗口能打开,但 Home 没有连接项目,是没装好吗?
没有连接项目不等于安装失败。使用自己的服务商与订阅,在 Home →「+」→ Type → Subscribe 添加并更新,或按已有参数手动填写。本站仅说明如何配置用户已有的订阅,不提供连接服务;导入后仍应核对协议、服务器端口和认证字段。
浏览器能用,终端命令却不走代理,怎么办?
先核对应用代理设置、系统接管方式以及终端进程的代理环境变量。终端工具不一定读取桌面系统代理;若需要显式代理地址,应从当前实际设置读取监听地址、端口和协议,不要猜默认端口。Linux 权限与流量接管问题应和安装格式问题分开处理。
七、更新、回退与卸载前保留什么
deb 或 rpm 的本地安装不等于自动加入更新软件源。后续更新应回到本站下载页核对当前提供的安装文件,再用相同包管理方式处理。若更换安装格式,先确认原进程已经退出,避免桌面菜单、旧文件和新文件同时存在,造成实际启动路径混淆。
- 保留配置:在 Config 中核对当前使用的配置,按界面提供的导出或备份方式保存,并记录 Home 中正在使用的连接项目与 Global Routing 设置。
- 记录自定义项:记下自行修改的监听地址、端口、DNS 和规则策略。不要把含有密码、私钥或订阅凭据的备份放到公开目录。
- 更新 deb / rpm:下载匹配架构的新文件后,再执行前文对应安装命令。先阅读包管理器的事务摘要,确认操作对象和依赖变化。
- 更新 AppImage:退出旧进程后保留旧文件,将新文件放入固定目录并重新赋予执行权限。若创建过桌面启动项,还要核对其目标是否指向新文件。
- 卸载检查:deb / rpm 使用包管理器按实际包名卸载;包名可以从安装文件元数据读取。AppImage 删除运行文件和自行创建的启动项即可移除该启动入口,用户配置可能仍保留,应另行确认。
更新完成后,用同一个已知目标、相同连接项目和相同路由设置做对照。只出现“窗口能够打开”不足以确认网络功能;同时检查订阅更新、连接建立和实际访问结果,才能把程序运行问题与配置问题区分开。