리눅스 Clash 설치 총정리: 데스크톱 클라이언트와 mihomo 커맨드라인 배포
데스크톱은 Clash Verge Rev deb 패키지로 3단계 설치, 서버·헤드리스 환경은 mihomo 코어를 systemd로 상시 구동. 설치부터 구독 등록, 자동 시작까지 단계별로 정리했습니다.
리눅스에서 Clash 배포, 두 갈래 방법 중 무엇을 골라야 할까
리눅스 생태계에는 공식 통합 Clash 데스크톱 클라이언트가 없어서, 실제 쓸 수 있는 방법은 완전히 다른 두 갈래로 나뉩니다. 잘못 고르면 헛수고가 됩니다. 첫 번째는 GUI 데스크톱 방식으로, 화면이 있는 클라이언트를 설치해 Windows/macOS용 Clash 클라이언트처럼 마우스로 노드를 바꾸고 구독을 등록하는 방식이며, GNOME·KDE 등 데스크톱 환경에서 평소 인터넷을 쓰는 상황에 적합합니다. 두 번째는 커맨드라인 코어 방식으로, mihomo(Clash Meta 코어의 후속 프로젝트) 단일 실행 파일만 설치하고 설정 파일과 systemd 서비스로 백그라운드 상시 구동하는 방식이며, 클라우드 서버·NAS·라즈베리파이처럼 화면이 없고 24시간 계속 켜둬야 하는 환경에 적합합니다.
두 방식은 코어가 사실상 같습니다(데스크톱 클라이언트도 내부적으로 mihomo/Clash Meta 코어를 호출합니다). 차이는 오직 "클릭할 수 있는 창이 필요한가"입니다. 판단 기준은 간단합니다:
- 노트북이나 데스크톱에 데스크톱 환경이 있는 리눅스 배포판(Ubuntu, Fedora, Debian 등)을 설치했고, 평소 노드를 바꾸거나 상태를 확인하고 싶다면 → 데스크톱 클라이언트 방식을 선택하세요.
- 클라우드 서버나 홈 NAS를 관리 중이거나, 프록시 서비스를 조용히 백그라운드에서 돌리고 화면은 신경 쓰고 싶지 않다면 → mihomo + systemd 방식을 선택하세요.
아래에서 두 방식을 순서대로 각각 설명하며, 서로 독립적이므로 필요한 부분만 골라 읽으면 됩니다.
데스크톱 환경: Clash Verge Rev로 3단계 설치
Clash Verge Rev는 현재 리눅스 데스크톱에서 활발히 관리되고 있는 완성도 높은 오픈소스 클라이언트로, 내부 코어는 mihomo를 사용하며 TUN 모드로 트래픽을 전역 처리할 수 있고, 배포되는 deb 패키지는 Debian/Ubuntu 계열 배포판에 바로 맞습니다. 아래는 전체 설치 과정입니다.
1단계: 아키텍처에 맞는 deb 패키지 다운로드
다운로드 전에 시스템 아키텍처를 먼저 확인하세요. 대부분의 데스크톱·노트북은 amd64이며, 일부 ARM 기기(예: 일부 ARM 노트북)는 arm64 패키지를 선택해야 합니다. 명령줄로 아키텍처 확인:
uname -m
# x86_64는 amd64 패키지에 해당
# aarch64는 arm64 패키지에 해당
아키텍처를 확인한 뒤 본 사이트의 다운로드 페이지에서 해당 deb 설치 패키지 링크를 받으세요.
2단계: deb 패키지 설치
다운로드가 끝나면 apt 또는 dpkg로 설치합니다. 의존성을 자동으로 처리해주는 apt 사용을 권장합니다:
cd ~/Downloads
sudo apt install ./clash-verge-rev_amd64.deb
의존성 누락 메시지가 뜨면(순수 Debian 환경에서 흔함), 먼저 다음을 실행하세요:
sudo apt --fix-broken install
그 후 다시 설치하면 됩니다. 설치가 완료되면 애플리케이션 메뉴에 클라이언트가 나타나며, 터미널에서 클라이언트 이름을 입력해 바로 실행할 수도 있습니다.
3단계: 구독 등록과 시스템 프록시 활성화
클라이언트를 실행한 뒤 다음 순서로 진행하세요:
- 「구독」 페이지로 이동해 서비스에서 받은 구독 링크를 붙여넣고 다운로드를 클릭한 뒤 노드 목록이 불러와질 때까지 기다립니다.
- 「프록시」 페이지로 전환해 지연 시간이 낮은 노드 그룹을 고르거나, 자동 속도 측정 정책 그룹을 바로 사용합니다.
- 「설정」에서 시스템 프록시 스위치를 켜거나, 필요에 따라 TUN 모드를 활성화합니다(비밀번호 인증이 필요하며, TUN은 프록시 설정을 지원하지 않는 앱까지 포함해 전역 트래픽을 처리합니다).
서버·헤드리스 환경: mihomo 코어 + systemd 상시 구동
화면이 없는 머신(클라우드 서버, NAS, 라우터급 기기)은 완전한 클라이언트를 설치할 필요 없이 mihomo 단일 파일 코어만 설치하고 YAML 설정을 준비한 뒤 systemd로 생명주기를 관리하면 됩니다. 이 방식은 리소스 사용량이 적고, 끊기면 자동 재시작되며, 부팅과 동시에 바로 쓸 수 있다는 장점이 있습니다.
1단계: mihomo 바이너리 다운로드 및 배치
아키텍처를 확인한 뒤 프로젝트 릴리스 페이지에서 해당 압축 파일을 받고, 압축을 풀어 나온 실행 파일의 이름을 바꿔 시스템 경로에 배치합니다:
tar -zxvf mihomo-linux-amd64.tar.gz
sudo mv mihomo-linux-amd64 /usr/local/bin/mihomo
sudo chmod +x /usr/local/bin/mihomo
실행 가능 여부 확인:
mihomo -v
버전 번호가 출력되면 바이너리 배치가 성공한 것입니다.
2단계: 설정 디렉터리와 구독 파일 준비
mihomo는 기본적으로 /etc/mihomo/config.yaml을 읽습니다. 먼저 디렉터리를 만듭니다:
sudo mkdir -p /etc/mihomo
sudo curl -o /etc/mihomo/config.yaml "구독 링크"
구독 링크가 표준 Clash YAML 형식이 아닌 경우(일부 서비스는 Base64로 인코딩된 범용 형식을 제공합니다), 변환 기능을 지원하는 클라이언트에서 먼저 Clash 형식 링크를 생성한 뒤 위 명령으로 다운로드해야 mihomo의 파싱 오류를 피할 수 있습니다.
3단계: 수동 실행 테스트
systemd에 연결하기 전에 먼저 포그라운드에서 한 번 실행해 설정 파일에 문제가 없는지 확인합니다:
mihomo -d /etc/mihomo
터미널 출력을 확인해 리스닝 포트(기본 혼합 포트 7890)와 프록시 그룹 로드 성공 로그가 보이면 Ctrl+C로 중지하고 다음 단계로 넘어갑니다. 오류가 발생하면 대부분 설정 파일 형식이나 구독 내용에 문제가 있으므로 YAML 들여쓰기와 구독 만료 여부를 다시 확인하세요.
4단계: systemd 서비스 유닛 작성
서비스 파일 생성:
sudo nano /etc/systemd/system/mihomo.service
내용은 다음과 같습니다:
[Unit]
Description=mihomo Daemon
After=network.target
[Service]
Type=simple
ExecStart=/usr/local/bin/mihomo -d /etc/mihomo
Restart=on-failure
RestartSec=5
User=root
[Install]
WantedBy=multi-user.target
저장 후 종료하고, systemd를 다시 불러온 뒤 서비스를 시작합니다:
sudo systemctl daemon-reload
sudo systemctl start mihomo
sudo systemctl status mihomo
status에 active (running)이 표시되면 서비스가 정상적으로 실행된 것입니다.
| 자주 쓰는 systemd 명령 | 역할 |
|---|---|
systemctl start mihomo | 서비스 시작 |
systemctl stop mihomo | 서비스 중지 |
systemctl restart mihomo | 서비스 재시작(설정 변경 후 사용) |
journalctl -u mihomo -f | 실시간 실행 로그 확인 |
구독 등록과 규칙 갱신의 두 가지 방법
어느 방식을 쓰든 구독 내용은 만료되거나 서비스 정책에 따라 주기적으로 갱신해야 합니다. 여기서는 두 환경에서의 갱신 방법을 각각 설명합니다.
데스크톱 클라이언트에서의 구독 관리
Clash Verge Rev는 각 구독마다 자동 업데이트 주기를 설정할 수 있습니다. 구독 목록에서 편집을 클릭해 갱신 주기(시간 단위)를 입력하면 클라이언트가 주기에 맞춰 자동으로 구독 내용을 다시 받아오며, 별도 수동 작업이 필요 없습니다. 구독 항목의 새로고침 버튼을 눌러 수동으로 한 번 업데이트할 수도 있습니다.
커맨드라인 환경에서의 구독 갱신
mihomo에는 화면이 없으므로, 구독 갱신은 결국 설정 파일을 다시 다운로드해 기존 파일을 덮어쓴 뒤 서비스를 재시작해 적용하는 방식입니다. 간단한 갱신 스크립트를 작성할 수 있습니다:
#!/bin/bash
curl -o /etc/mihomo/config.yaml "구독 링크"
systemctl restart mihomo
이 스크립트를 update-sub.sh로 저장하고 crontab -e에 예약 작업을 추가하면 무인 정기 갱신이 가능합니다. 예를 들어 매일 새벽 4시에 한 번 실행하도록 설정할 수 있습니다:
0 4 * * * /bin/bash /root/update-sub.sh
자동 시작과 흔한 문제 해결
두 방식의 자동 시작 설정 방법은 서로 다르므로 각각 설명합니다.
데스크톱 클라이언트의 자동 시작
Clash Verge Rev는 설정 페이지에서 보통 「부팅 시 시작」 스위치를 제공하며, 켜두면 데스크톱 환경 로그인과 함께 클라이언트가 자동으로 실행됩니다. 사용 중인 배포판의 데스크톱 환경이 이 스위치에 제대로 반응하지 않는 경우(일부 소수 윈도우 매니저는 자동 시작 항목을 놓칠 수 있습니다), 시스템의 시작 프로그램 관리에서 클라이언트 실행 파일 경로를 수동으로 추가해 보완할 수 있습니다.
mihomo 서비스의 자동 시작
systemd로 관리되는 서비스는 활성화 명령을 한 번만 실행하면 시스템 부팅 시 자동으로 실행되며, 추가 설정이 필요 없습니다:
sudo systemctl enable mihomo
이후 서버를 재부팅해 확인하고, 재부팅 후 systemctl status mihomo를 실행해 상태가 active인지 확인하면 자동 시작 설정이 성공한 것입니다.
GUI와 커맨드라인 두 방식을 모두 익혀두면, 이후 자신의 컴퓨터에서 노드를 잠깐 바꾸는 경우든 상시 온라인 서버에 프록시 출구를 설정하는 경우든 같은 논리로 처리할 수 있습니다. 먼저 아키텍처와 의존성을 확인하고, 구독을 등록한 뒤 마지막으로 자동 시작 설정을 보완하면 되며, 잘못되면 이전 단계로 돌아가 다시 하면 됩니다.