Skip to main content
EN

Home / Blog / Installation

Installing on Linux — DEB, RPM or AppImage?

Installing on Linux — DEB, RPM or AppImage?

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

By distributionDEBUbuntu, Debian, Linux Mint, Pop!_OS and derivativesRPMFedora, RHEL, CentOS Stream, openSUSE, Rocky, AlmaLinuxAppImageunsure, Arch, NixOS, or just want to try it without inst
If in doubt use an AppImage — it does not touch your package manager

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.deb

Common dependency problems:

Error mentionsFix
libwebkit2gtk-4.1 not foundsudo apt install libwebkit2gtk-4.1-0 (Ubuntu 22.04 and older may need the 4.0 version)
libayatana-appindicator3sudo apt install libayatana-appindicator3-1
Dependency version too oldYour 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.rpm

openSUSE uses zypper:

sudo zypper install ./Clash.Verge-2.5.2-1.x86_64.rpm

Older CentOS uses yum:

sudo yum localinstall ./Clash.Verge-2.5.2-1.x86_64.rpm

Uninstall: 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.AppImage

If double-clicking does nothing, FUSE is usually missing:

# Ubuntu 22.04+
sudo apt install libfuse2

# Fedora
sudo dnf install fuse fuse-libs

After 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-mihomo

Adjust 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/mihomo

Once 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-appindicator

Log 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-fonts

Window renders oddly under Wayland

Some Tauri applications have rendering issues on Wayland. Launch under X11 as a workaround:

GDK_BACKEND=x11 clash-verge

Auto-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

Linux decision treeUbuntu Debian familyFedora RHEL familyAnything else or unsureuse AppImageNo desktoprun the Mihomo core

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.