Installation and Migration · Clash Technical Blog

Installing Clash Verge Rev on Ubuntu: DEB, System Proxy, and Startup

On Ubuntu, first choose a DEB package that matches your architecture. After configuring the subscription and system proxy, decide whether to install the TUN service or enable startup. Keep every step reversible.

  • Ubuntu
  • Linux
  • DEB
  • System proxy
On this page

Start an Ubuntu installation with the DEB matching your architecture

The complete Ubuntu sequence is: download the official DEB for your CPU architecture, install it with apt, import a subscription and verify the system proxy, then configure startup. Do not install the TUN service or enable automatic traffic capture at login while the system proxy is still unstable; a post-reboot network failure will be harder to undo.

As of 2026-07-23, the latest stable Clash Verge Rev v2.5.2 release provides amd64, arm64, and armhf DEB packages. Ubuntu and Debian users can install the DEB directly, leaving desktop menu integration, dependencies, and removal to the package manager. The current Latest release has no AppImage, so there is no need to search third-party sites for one.

Architecture mapping

uname -mDEB package
x86_64*_amd64.deb
aarch64 / arm64*_arm64.deb
armv7l*_armhf.deb; first confirm that the system itself uses 32-bit ARM

After downloading, verify the architecture and package information first

Ubuntu check command; adjust the DEB path to the file you actually downloaded
DEB='./Clash.Verge_2.5.2_amd64.deb'
uname -m
dpkg --print-architecture
dpkg-deb -I "$DEB" | sed -n '1,25p'

The version number is only a current example; use the filename from the Release you downloaded. dpkg-deb can read the package's Architecture and Depends fields. If they already do not match your system, do not force the installation with --force-architecture.

Install the local DEB with apt so dependencies are resolved at the same time

After confirming that the architectures match, let apt install the local file. Missing dependencies will then be reported by exact package name, and future removal remains within the same package-management system.

Run in the downloads directory; adjust the DEB path to the actual file
DEB='./Clash.Verge_2.5.2_amd64.deb'
sudo apt install "$DEB"

# 查看安装状态
dpkg -l | grep -i clash-verge

# 需要卸载时先记下上一步显示的真实包名
sudo apt remove clash-verge

The filename and package name in the command must match the results on your machine. If apt reports unsatisfied dependencies, save the complete error and Ubuntu version; do not download individual .so files from random sites to overwrite system libraries. After installation, launch the app once from the application menu. This reveals WebKit, tray, or core startup errors more clearly than enabling TUN immediately.

For the first test, verify only the Profile and system proxy

Once the app starts, leave TUN alone. A simple Profile and the system proxy are enough to verify that the package, Mihomo core, and desktop proxy work together.

Minimal connectivity path

  1. Import a remote subscription or local configuration

    Clash Verge Rev 2.x supports URL, local-file, and drag-and-drop imports; update it manually first.

  2. Set it as the current Profile

    Confirm that the policy groups and nodes are not stale cache entries.

  3. Pin one node

    Keep Rule mode and enable the system proxy.

  4. Open a browser and inspect connections

    The desktop proxy is working only when the domain, rule, and outbound route all appear.

Where to find logs, Profiles, and terminal proxy settings

It is common on Linux for terminal commands to keep timing out while the browser works. The desktop system proxy and shell environment variables are separate settings. Diagnose them independently; do not immediately enable TUN just for apt or Git.

Linux paths listed in the official documentation

ContentsPath
verge.yaml~/.config/io.github.clash-verge-rev.clash-verge-rev/verge.yaml
Working directory~/.local/share/io.github.clash-verge-rev.clash-verge-rev/
Profiles~/.local/share/io.github.clash-verge-rev.clash-verge-rev/profiles/
WebView cache~/.cache/io.github.clash-verge-rev.clash-verge-rev/
Affects only the current terminal's proxy
export HTTP_PROXY=http://127.0.0.1:7890
export HTTPS_PROXY=http://127.0.0.1:7890
export NO_PROXY=localhost,127.0.0.1,::1

# 结束测试
unset HTTP_PROXY HTTPS_PROXY NO_PROXY

Enable startup only after the system proxy works reliably

First enable “Launch at Startup” or Auto Launch on the Clash Verge Rev settings screen; the label may vary by version. This starts the app after the user signs in to the desktop. It does not provide a proxy before login, nor guarantee that TUN will capture traffic without a permission prompt. If you need only the system proxy, keep TUN disabled.

Confirm which program the desktop startup item actually points to
find ~/.config/autostart /etc/xdg/autostart   -maxdepth 1 -type f -iname '*clash*' -print 2>/dev/null

grep -R '^Exec=' /usr/share/applications 2>/dev/null   | grep -i 'clash.verge|clash-verge'

Verify startup once for real

  1. Sign out of the desktop, then sign back in

    Confirm that only one Clash Verge Rev process appears and that no old client starts alongside it.

  2. Inspect the current Profile and node

    After the app starts, still confirm that the subscription is selected and that the running configuration is the one you just verified.

  3. Check the system proxy

    If it is configured to turn on automatically, the browser should create connection records. Leave the toggle off if you do not want automatic traffic capture.

  4. Test network restoration on exit

    After quitting normally from the application menu, Ubuntu's HTTP, HTTPS, and SOCKS proxy settings should no longer point to a local port.

Startup is truly working only after this login test passes. A tray icon alone is insufficient: if no Profile is selected or stale system proxy settings remain, the icon and actual network state may disagree.

Install the TUN service only if some programs genuinely ignore the proxy

TUN requires service and virtual-adapter permissions. Stabilize the system proxy first, then install the service from the current version's settings screen. Service scripts and installation directories in older tutorials may have changed. If you encounter permission or IPC errors, check the current Release and official FAQ before running commands left by another version.

A missing tray icon commonly means the desktop environment lacks AppIndicator support; if the window crashes immediately, launch the app from a terminal and read stderr. Neither issue reflects subscription node quality.

No window appears after double-clicking

Launch it from a terminal, preserve WebKit or graphics-library errors, and inspect the current desktop session.

The browser works, but apt/Git does not

Set environment variables or tool-specific configuration for the command; do not enable TUN first.

The TUN toggle immediately switches back off

Inspect service installation and permissions; do not repeatedly change DNS or nodes.

The browser loses connectivity after exit

Disable the residual proxy in desktop network settings, then check whether the app was force-quit.

References