Ubuntu 使用 Clash for Linux 客户端完整教程
简答:Ubuntu 桌面用户可安装支持 Linux 的 Clash Verge Rev:先用 dpkg --print-architecture 确认架构,从项目发布页下载匹配的 DEB 包,再用 sudo apt install ./文件名.deb 安装;启动后导入订阅、选择配置和节点,先开启系统代理,只有不支持系统代理的程序需要接管时再考虑 TUN。
定义:Clash for Linux 不是唯一软件名称,通常泛指在 Linux 上运行、兼容 Clash 或 Mihomo 配置的图形客户端与命令行内核;Ubuntu 桌面适合使用 Clash Verge Rev,无图形界面的服务器更适合使用 Mihomo 命令行程序。
先理解“Clash for Linux”指什么
搜索“Clash for Linux”时,用户可能是在寻找 Linux 图形客户端,也可能是在寻找可以通过终端运行的代理内核。本文以 Ubuntu 为主,优先介绍带桌面环境的 Clash Verge Rev,并补充无图形界面服务器使用 Mihomo 的方向。这样可以避免把图形客户端、内核程序和配置文件混为一谈。
Clash Verge Rev 的项目文档将它描述为基于 WebView 的图形程序,需要图形化桌面支持。没有 GNOME、KDE 或其他桌面环境的 Ubuntu Server,不适合直接照搬图形客户端安装步骤;这类环境可以改用 Mihomo 二进制程序,通过命令行管理配置、端口和日志。相关说明可查看Linux 常见问题文档与Mihomo FAQ。
需要注意的是,Clash、Clash Verge Rev 和 Mihomo 并不是同一个软件包。Clash Verge Rev 是用户界面和管理工具,Mihomo 是可以独立运行的内核程序。订阅能否使用,取决于配置格式、协议类型、内核支持情况以及订阅提供方的内容,不能只根据客户端名称判断。
安装前确认 Ubuntu 版本与 CPU 架构
安装前先确认自己使用的是 Ubuntu 桌面还是 Ubuntu Server,以及 CPU 架构。打开终端执行:
dpkg --print-architecture
还可以查看更底层的硬件架构:
uname -m
- amd64:通常对应 Intel 或 AMD 的 x86-64 电脑,下载 Linux x64 或 amd64 DEB 包。
- arm64:对应 64 位 ARM 设备,下载 arm64 DEB 包。
- armhf 或 armv7:只有发布页明确提供对应安装包时才能使用,不要用 amd64 包替代。
截至 2026-10-13,Clash Verge Rev 的安装文档列出 Debian、Ubuntu、Deepin 的 x64、arm64 和 armv7 DEB 包,并建议使用 APT 安装本地 DEB 文件。发布页当前能够核实到 Linux DEB 包,不能据此推断其他格式一定持续提供,因此本文不把 AppImage 作为固定安装选项。
如果你使用的是 Ubuntu Server,先确认是否真的需要图形界面。没有图形环境时,安装 GUI 客户端通常会带来额外依赖和启动问题;此时应优先查看 Mihomo 的 Linux 文件命名和架构说明。
在 Ubuntu 安装 Clash Verge Rev DEB 包
以下步骤适用于 Ubuntu 桌面用户。下载文件时,应通过项目安装文档进入其发布页,选择与系统架构相符的 DEB 文件。不要把网页中的示例文件名原样照抄,因为版本号和架构标识会随发布版本变化。
- 进入下载目录:
cd ~/Downloads - 查看实际文件名:
ls -lh *.deb - 使用 APT 安装本地文件:
sudo apt install ./Clash.Verge_<版本>_amd64.deb如果实际下载的是 arm64 或 armhf 文件,应将命令中的文件名替换为真实名称。也可以使用通配符,但执行前应先用
ls确认目录中只有目标安装包。 - 输入当前用户密码:终端输入密码时不会显示星号,这是正常现象。等待 APT 完成依赖处理。
- 启动应用:安装完成后,在 Ubuntu 应用程序列表搜索 Clash Verge Rev 并打开。
项目安装文档给出的方式是使用 sudo apt install -y ./ 加本地 DEB 文件。这里使用带有实际文件名的写法,是为了避免把类似 Clash.Verge_x.x.x-_xxx.deb 的文档占位符误当成真实文件。若提示找不到文件,先执行 pwd 和 ls -lh 检查目录,不要反复运行同一条安装命令。
如果安装过程中出现依赖错误,应先保留完整错误信息,再检查 Ubuntu 版本、软件包架构和系统软件源。不要为了绕过错误而强制安装架构不匹配的文件。
首次启动:导入订阅并选择节点
客户端安装完成后,需要导入一个兼容的配置或订阅链接。订阅地址可能包含账户标识或访问凭据,不要发布到论坛、截图、公开代码仓库或聊天群。
- 打开配置或订阅页面:根据客户端界面进入订阅管理区域。
- 添加订阅链接:粘贴完整链接并保存,然后执行更新或下载操作。
- 确认配置已加载:检查配置列表中是否出现新文件,并将它设置为当前配置。
- 选择代理模式:先使用规则模式。只有在定位规则问题时,才短时间切换全局模式进行对比。
- 选择策略组和节点:延迟测试只代表当次探测结果,不能等同于下载速度、长期稳定性或所有网站的可用性。
- 打开系统代理:先启用系统代理,再使用浏览器访问普通网页进行测试。
建议按“导入配置—确认配置启用—选择规则模式—选择节点—打开系统代理—浏览器测试”的顺序操作。每次只改变一个设置,出现问题时更容易判断是订阅、节点、DNS、系统代理还是 TUN 导致。
Ubuntu 的网络代理设置支持“无”“手动”和“自动”等方式;手动方式通常需要填写代理地址和端口。可以参考Ubuntu 中文网络代理说明,退出客户端后如果系统仍然无法联网,应检查这里是否残留旧代理。
系统代理、终端代理与 TUN 的区别
系统代理适合浏览器和会读取 Ubuntu 桌面代理设置的应用;终端环境变量适合只让当前 Shell 会话中的命令使用代理;TUN适合需要接管不读取系统代理的程序。三者不是必须同时开启,排错时建议从最简单的系统代理开始。
| 方式 | 适合场景 | 优点 | 注意事项 |
|---|---|---|---|
| 系统代理 | 浏览器和支持桌面代理设置的应用 | 配置简单,便于开关和排错 | 部分终端、后台服务和特殊程序可能不读取 |
| 终端环境变量 | curl、Git 或当前 Shell 中的命令 | 影响范围明确,适合临时测试 | 只对读取这些变量的程序有效 |
| TUN | 需要接管不支持系统代理的程序 | 覆盖范围通常比系统代理更广 | 涉及虚拟接口、路由、权限和 DNS,排错更复杂 |
如果客户端显示的 HTTP 监听端口是某个实际端口,可以临时在当前终端执行:
export http_proxy=http://127.0.0.1:<HTTP端口>
export https_proxy=http://127.0.0.1:<HTTP端口>
export all_proxy=socks5://127.0.0.1:<SOCKS端口>
不要直接套用网上固定的 7890 或 7891,因为不同客户端、配置和版本可能使用不同端口。取消当前终端的临时变量:
unset http_proxy https_proxy all_proxy
只有在浏览器通过系统代理正常、但某个程序仍然无法连接时,才考虑 TUN。开启 TUN 前先关闭其他会创建虚拟网卡或修改路由的工具,避免多个网络接管组件互相冲突。
Ubuntu 常见安装与连接问题排查
DEB 包提示架构不匹配
重新执行 dpkg --print-architecture,并核对安装包文件名中的 amd64、arm64 或 armhf 标识。Mihomo FAQ 也说明,Linux 文件名通常包含操作系统和架构信息,下载命令行内核时同样需要按架构选择。不要通过忽略架构检查的方式运行不匹配的软件包。
Ubuntu 20.04 安装或启动失败
Clash Verge Rev Linux FAQ 明确提到 Ubuntu 20.04 可能需要额外处理 libwebkit2gtk 和 libjavascriptcoregtk 依赖,并建议升级到较新的 Ubuntu 版本。遇到此问题时,先查看 APT 输出和系统版本,再决定是否升级;不要从来源不明的软件仓库下载同名依赖。
没有图形界面的 Ubuntu Server 能否直接使用
不能把 GUI 安装步骤直接套到无桌面服务器。项目 FAQ 说明,Clash Verge Rev 基于 WebView,需要图形化界面。服务器环境可以查看 Mihomo 的 Linux 二进制文件,根据系统架构下载并通过命令行运行;配置文件、服务启动方式和日志需要自行管理。
Wayland 或 NVIDIA 环境启动报错
如果日志出现 Error 71、AcceleratedSurface was unable to construct a complete framebuffer、Failed to create GBM buffer 等信息,项目 Linux FAQ 给出的排查方向是设置环境变量。先确认实际可执行文件名,再在同一终端执行:
WEBKIT_DISABLE_DMABUF_RENDERER=1 clash-verge
如果命令提示找不到 clash-verge,不要猜测文件名,应从应用启动器、桌面文件或安装目录确认实际可执行文件。若属于 XWayland 兼容问题,可以测试:
GDK_BACKEND=x11 clash-verge
这些变量用于定位图形渲染兼容问题,不代表所有 Ubuntu 设备都需要设置,也不建议在没有对应报错时长期修改系统环境变量。
浏览器可以连接,终端不能连接
这通常表示浏览器读取了系统代理,而终端程序没有读取。先检查是否存在旧环境变量:
env | grep -i proxy
然后根据客户端当前显示的真实 HTTP 或 SOCKS 端口设置临时变量。测试完成后执行 unset http_proxy https_proxy all_proxy,避免旧端口影响后续命令。
导入订阅后节点全部失败
- 确认 Ubuntu 本身可以直接访问普通网站。
- 确认系统时间、时区和证书状态正常。
- 重新更新订阅,检查配置是否真正处于启用状态。
- 切换另一个节点,查看日志中的 DNS、超时或证书错误。
- 关闭 TUN,仅保留系统代理测试;不要同时叠加多个网络接管方式。
- 分别检查 DNS 解析、出口地址和目标连接状态,区分订阅问题与本机网络问题。
退出客户端后 Ubuntu 无法联网
进入 Ubuntu 的网络代理设置,将代理方式改为“无”;同时检查 http_proxy、https_proxy 和 all_proxy 是否残留。如果此前开启过 TUN,重新打开客户端关闭 TUN 后再退出,并观察网络接口和路由是否恢复。
安全核验、卸载与服务器替代方案
下载前核对发布页面、操作系统、CPU 架构和文件扩展名。发布页提供校验值时,可以使用:
sha256sum 文件名.deb
将本地摘要与发布页提供的值进行比对。没有公开校验值时,只能说明下载来源已核对,不能自行宣称文件已经完成官方哈希验证。
卸载前先关闭系统代理和 TUN,再查询实际软件包名称:
dpkg -l | grep -i clash
确认名称后执行:
sudo apt remove <实际软件包名称>
卸载完成后,重新检查 Ubuntu 网络代理是否为“无”,并清理当前 Shell 中残留的代理变量。若你需要在 Ubuntu Server 上长期运行,建议不要为了使用 GUI 临时安装桌面环境,而是根据 Mihomo 文档选择匹配内核、准备配置文件、设置日志和服务启动方式。命令行方案的具体服务化配置取决于系统版本与运维需求,本文不提供未经验证的固定服务文件。
如果客户端安装、订阅导入和基础连接均正常,但跨境办公仍出现延迟、丢包或线路不稳定,应继续区分本地网络、DNS、MTU、节点线路和目标服务限制,不要仅凭一次延迟测试得出长期可用结论。
Ubuntu 上常见 Clash 使用方式对比
| 方式 | 适合用户 | 安装或使用特点 | 主要限制 |
|---|---|---|---|
| Clash Verge Rev DEB | 带 GNOME、KDE 等桌面环境的 Ubuntu 用户 | 图形界面管理配置、节点、系统代理和 TUN;使用 APT 安装本地 DEB | 需要匹配 CPU 架构,并依赖图形环境 |
| Mihomo Linux 二进制 | Ubuntu Server、无桌面环境或熟悉命令行的用户 | 按 Linux 与 CPU 架构下载,通过命令行运行和管理配置 | 需要自行处理配置、端口、权限、日志和服务启动 |
| 系统代理 | 浏览器及遵循 Ubuntu 桌面代理设置的应用 | 改动少,适合首次测试和日常浏览 | 终端、后台服务和部分应用可能不读取 |
| 终端环境变量 | curl、Git 或单个 Shell 会话 | 影响范围清晰,适合临时验证端口 | 不会自动覆盖所有程序 |
| TUN 模式 | 必须接管不支持系统代理的程序 | 在网络层处理更多流量 | 可能涉及虚拟接口、路由、DNS 和权限问题 |
常见问题
Ubuntu 应该下载 amd64 还是 arm64?
先执行 dpkg --print-architecture。输出 amd64 时下载 x64 或 amd64 包,输出 arm64 时下载 arm64 包。大多数 Intel 和 AMD 电脑使用 amd64;不要因为系统是 64 位就默认选择 arm64。
Ubuntu Server 可以安装 Clash Verge Rev 吗?
如果服务器没有图形桌面,不建议直接安装 Clash Verge Rev。项目 Linux FAQ 说明该客户端基于 WebView,需要图形化界面;无桌面环境更适合使用 Mihomo Linux 二进制程序,并自行管理配置和服务。
安装后浏览器可以用,终端为什么不能用?
系统代理通常只对主动读取桌面代理设置的应用生效。终端程序可能需要临时设置 http_proxy、https_proxy 或 all_proxy,端口必须以客户端实际显示值为准,也可以在确认路由和 DNS 后再测试 TUN。
系统代理和 TUN 需要同时开启吗?
通常不需要。先只开启系统代理测试浏览器和常用应用;只有某些程序明确不读取系统代理时,再考虑 TUN。同时启用多个网络接管方式会增加路由、DNS 和断网问题的排查难度。
Wayland 下启动出现 Error 71 怎么办?
先确认这是图形渲染兼容问题,再用实际可执行文件名测试 WEBKIT_DISABLE_DMABUF_RENDERER=1,例如 WEBKIT_DISABLE_DMABUF_RENDERER=1 clash-verge。若属于 XWayland 兼容问题,可测试 GDK_BACKEND=x11 clash-verge。可执行文件名应以本机安装结果为准。
退出客户端后 Ubuntu 不能联网怎么办?
进入 Ubuntu 网络代理设置,将代理方式切换为“无”;在终端执行 env | grep -i proxy,检查并清除旧的代理环境变量。如果使用过 TUN,重新启动客户端关闭 TUN 后再退出,并检查是否还有其他网络接管工具。
订阅导入失败是否应该关闭证书校验?
不建议把关闭证书校验作为常规解决方案。应先确认链接完整、系统时间正确、网络可达,并查看客户端日志。无法核实服务端配置时,不要为了导入成功而长期降低证书校验安全性。