Installing on Linux is marginally more work than Windows, mostly because you first have to know which packaging family your distribution belongs to.
Pick a package format
Grab the matching file from the download page. We host DEB and RPM; there is also an AppImage build of FlClash in the FlClash section if you specifically want that format.
DEB (Ubuntu / Debian family)
cd ~/Downloads
sudo apt install ./Clash.Verge_2.5.2_amd64.debCommon dependency problems:
| Error mentions | Fix |
|---|---|
libwebkit2gtk-4.1 not found | sudo apt install libwebkit2gtk-4.1-0 (Ubuntu 22.04 and older may need the 4.0 version) |
libayatana-appindicator3 | sudo apt install libayatana-appindicator3-1 |
| Dependency version too old | Your distribution is too old — use the AppImage instead |
Uninstall: sudo apt remove clash-verge
RPM (Fedora / RHEL family)
cd ~/Downloads
sudo dnf install ./Clash.Verge-2.5.2-1.x86_64.rpmopenSUSE uses zypper:
sudo zypper install ./Clash.Verge-2.5.2-1.x86_64.rpmOlder CentOS uses yum:
sudo yum localinstall ./Clash.Verge-2.5.2-1.x86_64.rpmUninstall: sudo dnf remove clash-verge
AppImage (universal, no install)
An AppImage is a single-file application — download and run:
chmod +x Clash-Verge.AppImage
./Clash-Verge.AppImageIf double-clicking does nothing, FUSE is usually missing:
# Ubuntu 22.04+
sudo apt install libfuse2
# Fedora
sudo dnf install fuse fuse-libsAfter it starts
Same as anywhere: import a subscription, select the profile, enable the system proxy, choose a node. Two things are different on Linux, though.
The system proxy does not cover everything
Linux has no single unified notion of a system proxy. Clash Verge sets the GNOME/KDE proxy configuration (through gsettings or KDE's proxy settings), which means:
- GTK applications and GNOME's own apps follow it
- curl, wget and git in a terminal do not
- Some Qt applications need to be configured separately
For the terminal you still need environment variables:
# add to ~/.bashrc or ~/.zshrc
alias proxyon='export http_proxy=http://127.0.0.1:7897 https_proxy=http://127.0.0.1:7897 all_proxy=socks5://127.0.0.1:7897'
alias proxyoff='unset http_proxy https_proxy all_proxy'TUN mode needs extra privileges
Creating a virtual adapter is not something an ordinary user can do. Clash Verge normally solves this by installing a systemd service (the "Service Mode" entry in settings).
If service mode will not install, you can grant the capability to the core binary by hand:
sudo setcap cap_net_admin,cap_net_bind_service=+ep \
/usr/lib/clash-verge/verge-mihomoAdjust the path to match your installation — which clash-verge or dpkg -L clash-verge | grep mihomo will find it.
No desktop environment?
On a server, router or NAS there is no GUI, so installing Clash Verge makes no sense. Run the Mihomo core directly instead:
# download and extract
gunzip mihomo-linux-amd64-v1.19.29.gz
chmod +x mihomo-linux-amd64-v1.19.29
sudo mv mihomo-linux-amd64-v1.19.29 /usr/local/bin/mihomo
# prepare a working directory
sudo mkdir -p /etc/mihomo
# put your config.yaml in there
# run in the foreground to check
mihomo -d /etc/mihomoOnce it starts cleanly, turn it into a systemd service so it stays running. The full process is in getting started with the Mihomo core.
Common problems
No tray icon after launching
GNOME dropped legacy tray support. Install an extension:
sudo apt install gnome-shell-extension-appindicatorLog out and back in afterwards. KDE, XFCE and Cinnamon support it natively and need nothing.
Chinese or other CJK text shows as boxes
Missing fonts:
# Debian/Ubuntu
sudo apt install fonts-noto-cjk
# Fedora
sudo dnf install google-noto-sans-cjk-fontsWindow renders oddly under Wayland
Some Tauri applications have rendering issues on Wayland. Launch under X11 as a workaround:
GDK_BACKEND=x11 clash-vergeAuto-launch does not work
Linux auto-start depends on your desktop environment's autostart mechanism. Check:
ls ~/.config/autostart/There should be a clash-verge.desktop in there. If not, toggle auto-launch off and on in Clash Verge settings, or create the file yourself.
In short
The thing most easily overlooked on Linux: the GUI's "system proxy" does not reach your terminal. Command-line tools need environment variables, or TUN.
Related: deploying the Mihomo core and how TUN mode works.