Linux 그래픽 데스크톱에서 v2rayN을 설치하려는 사용자를 위한 안내입니다. 먼저 배포판과 프로세서 아키텍처를 확인하고 시스템 패키지 관리자로 설치한 뒤, 데스크톱 실행 항목과 코어, 로컬 프록시 포트를 점검합니다. 마지막으로 현재 사용자 계정의 로그인 후 자동 실행을 설정합니다. 여기서 자동 실행은 데스크톱 세션에 로그인한 뒤 클라이언트를 실행한다는 뜻이며, 로그인 전 백그라운드 서비스 실행을 의미하지 않습니다.
설치 전: 배포판, 아키텍처, 패키지 확인
v2rayN은 노드 관리, 구독 업데이트, 프록시 코어 실행을 담당하는 데스크톱 클라이언트입니다. Linux 버전은 그래픽 세션이 필요하므로 터미널만 있는 서버에는 이 데스크톱 설치 절차를 그대로 적용하기 어렵습니다. v2rayNG와 v2flyNG는 Android 클라이언트이며 Linux 설치 패키지를 대신할 수 없습니다.
패키지 형식은 배포판에 따라, 아키텍처는 프로세서에 따라 달라집니다. 먼저 아래 두 명령을 실행하세요. 기기의 외관만 보고 패키지를 선택하거나 Windows용 실행 파일을 Linux 패키지 관리자로 설치하지 마세요.
cat /etc/os-release
uname -m
Ubuntu / Debian
- 패키지 형식
- deb
- 설치 도구
- apt
- x64 표기
- x86_64, 패키지 아키텍처는 amd64
- ARM64 표기
- aarch64, 패키지 아키텍처는 arm64
배포판별 요구 사항도 확인하세요. 패키지 형식이 맞더라도 모든 시스템 버전과 호환되는 것은 아닙니다.
Fedora / openSUSE
- 패키지 형식
- rpm
- Fedora 도구
- dnf
- openSUSE 도구
- zypper
- 일반적인 아키텍처
- x86_64 / aarch64
현재 배포 패키지에서 실제로 제공하는 아키텍처를 확인하고, 다른 아키텍처용 패키지를 억지로 설치하지 마세요.
다운로드 센터에서 Linux 패키지를 선택하세요. 특정 버전에 고정된 안내가 아니므로 패키지 이름, 의존성, 화면 구성은 버전에 따라 달라질 수 있습니다. 설치 전에 버전과 아키텍처를 기록해 두면 이후 문제를 진단하기 쉽습니다.
deb·rpm 설치: 패키지 관리자로 의존성 처리
apt, dnf 또는 zypper로 로컬 패키지를 설치하는 방법을 권장합니다. 이 도구들은 패키지에 선언된 의존성을 확인하고 설정된 시스템 저장소에서 필요한 구성 요소를 가져옵니다. 하위 수준 도구로 바로 설치하면 압축만 풀리고 의존성이 해결되지 않아 설치가 불완전할 수 있습니다.
Ubuntu·Debian에서 deb 설치
cd "$HOME/Downloads/v2rayn-linux"
ls -lh ./*.deb
dpkg-deb -f ./*.deb Package Version Architecture Depends
sudo apt update
sudo apt install ./*.deb
./는 apt에 저장소 패키지 이름이 아니라 로컬 파일임을 알려 줍니다. Architecture를 확인한 뒤 설치를 진행하세요. 이전에 다른 방식으로 설치해 의존성이 해결되지 않았다면 sudo apt --fix-broken install을 실행할 수 있습니다. 다만 설치 또는 제거하려는 항목을 먼저 확인하고, 내용을 보지 않은 채 계속 진행하지 마세요.
Fedora에서 rpm 설치
cd "$HOME/Downloads/v2rayn-linux"
ls -lh ./*.rpm
rpm -qp --queryformat '%{NAME} %{VERSION}-%{RELEASE} %{ARCH}\n' ./*.rpm
rpm -qp --requires ./*.rpm
sudo dnf install ./*.rpm
openSUSE에서 rpm 설치
cd "$HOME/Downloads/v2rayn-linux"
ls -lh ./*.rpm
rpm -qp --queryformat '%{NAME} %{VERSION}-%{RELEASE} %{ARCH}\n' ./*.rpm
sudo zypper refresh
sudo zypper install ./*.rpm
런타임 라이브러리도 추측으로 설치하지 마세요. 빌드 방식에 따라 달라질 수 있으며 모든 Linux 패키지에 .NET 추가 설치가 필요한 것은 아닙니다. 패키지 의존성과 실행 오류를 먼저 확인하고, 누락된 공유 라이브러리가 있다면 해당 배포판에서 제공하는 패키지를 찾으세요. Windows용 런타임 복구 방법을 그대로 적용하지 마세요.
첫 실행: 데스크톱 실행 항목, 노드, 포트 확인
설치가 끝나면 애플리케이션 메뉴에서 v2rayN을 찾아 현재 일반 사용자 계정으로 실행하세요. 소프트웨어 설치에는 관리자 권한이 필요하지만, 그래픽 클라이언트를 평소 실행할 때는 대개 필요하지 않습니다. sudo로 실행하면 설정이 다른 사용자 디렉터리에 저장되어 다음에 정상 실행했을 때 설정이 사라진 것처럼 보일 수 있습니다.
-
데스크톱 실행 항목 확인
애플리케이션 메뉴에서 v2rayN을 검색하세요. 검색 결과가 없다면
grep -il 'v2rayn' /usr/share/applications/*.desktop을 실행해 설치 패키지가 데스크톱 실행 파일을 제공하는지 확인하세요. 자동 실행을 설정하기 전에 실행 항목이 정상인지 먼저 확인하세요. -
노드 가져오기
단일 노드 공유 링크가 있다면 전체 내용을 복사한 뒤 메인 창에서 「서버」→「클립보드에서 URL 일괄 가져오기」를 선택하세요. 구독 주소는 「구독 그룹」→「구독 그룹 설정」에서 입력하고 저장한 다음 「모든 구독 업데이트(프록시 사용 안 함)」를 실행합니다.
-
실행 상태 확인
노드를 선택해 활성 서버로 지정하고 하단 로그에 코어 시작 오류가 있는지 확인하세요. VMess와 VLESS는 노드 프로토콜입니다. 화면이 열린다는 이유만으로 선택한 코어와 노드 매개변수가 정상 작동한다고 판단할 수는 없습니다.
-
포트 확인
「설정」→「매개변수 설정」을 열어 현재 버전에 표시된 로컬 수신 포트를 확인하세요.
ss -lntp로 실제 수신 상태를 대조합니다. 매개변수 설정에서 포트를 바꿨다면 테스트 명령과 애플리케이션의 프록시 주소도 함께 변경해야 합니다.
아래 숫자는 설명 및 테스트를 위한 포트 예시일 뿐이며, 모든 버전에서 같은 기본 포트를 사용한다는 뜻은 아닙니다. 일부 버전은 HTTP와 SOCKS를 함께 지원하는 혼합 포트를 사용하고, 이전 설정에서는 두 연결 지점을 따로 지정할 수 있습니다. 화면과 로그를 기준으로 확인하고, 오래된 안내의 포트를 새 설정에 그대로 적용하지 마세요.
ss -lntp | grep -E ':(10808|10809)\b'
curl --proxy socks5h://127.0.0.1:10808 --connect-timeout 10 --max-time 20 -I https://example.com
실제 SOCKS 연결 지점이 10808일 때만 두 번째 명령을 사용하세요. socks5h는 대상 도메인 해석을 프록시 서버에 맡깁니다. HTTP 응답이 돌아오면 해당 요청이 지정한 연결 지점을 거쳤다는 뜻이지, 모든 애플리케이션이 프록시를 사용한다는 뜻은 아닙니다. Linux 애플리케이션마다 데스크톱 시스템 프록시 지원 여부가 다르고, 터미널 프로그램은 시스템 프록시 설정을 읽지 않을 수도 있습니다.
로그인 시 자동 실행: 데스크톱 항목과 백그라운드 서비스 구분
“v2rayN Linux 부팅 시 자동 실행”을 검색하다 보면 서로 다른 두 가지를 혼동하기 쉽습니다. 하나는 사용자가 데스크톱에 로그인한 뒤 그래픽 클라이언트를 실행하는 것이고, 다른 하나는 시스템 부팅 후 백그라운드 프로세스를 실행하는 것입니다. 이 문서는 첫 번째 방법을 다룹니다. 그래픽 환경, 데스크톱 프록시 설정, 사용자 설정은 로그인 세션에 속하므로 클라이언트를 시스템 서비스에 단순히 등록해서는 안 됩니다.
XDG 로그인 자동 실행 항목
권장기존 데스크톱 실행 항목을 현재 사용자의 ~/.config/autostart/에 복사하세요. 실행 명령은 설치 패키지에서 제공한 내용을 그대로 사용합니다. XDG Autostart를 지원하는 데스크톱 환경에서 사용할 수 있습니다.
적합한 사용자: 데스크톱에 로그인할 때 v2rayN을 자동으로 열고 싶은 일반 사용자
데스크톱 시작 프로그램 관리 도구
데스크톱 환경에서 제공하는 시작 프로그램 도구로 같은 종류의 로그인 자동 실행 항목을 관리할 수 있습니다. 도구 이름은 데스크톱 환경마다 다릅니다. 이미 항목이 있다면 한 번만 활성화하고, 같은 항목을 수동으로 추가해 중복 등록하지 마세요.
적합한 사용자: 그래픽 인터페이스로 관리하고 필요할 때 자동 실행을 켜거나 끄고 싶은 사용자
systemd 서비스
서비스로 실행하려면 세션 환경, 설정 경로, 프로세스 수명 주기를 별도로 처리해야 합니다. 시스템 서비스는 일반 데스크톱 클라이언트의 자동 실행 용도로 사용하지 마세요.
적합한 사용자: 백그라운드 코어 서비스가 꼭 필요하고 서비스 설정을 별도로 관리할 수 있는 관리자
설치 패키지에서 제공한 데스크톱 실행 항목 복사
중복 실행 중인 창이 있다면 먼저 종료하세요. 아래 코드는 Bash에서 실행합니다. 시스템 데스크톱 실행 항목을 검색해 일치하는 항목이 정확히 하나일 때만 복사합니다. 항목이 없거나 여러 개라면 실행 파일 경로를 추측하지 말고 멈춰서 확인하세요.
bash <<'BASH'
mapfile -t launchers < <(grep -il 'v2rayn' /usr/share/applications/*.desktop 2>/dev/null)
if [ "${#launchers[@]}" -ne 1 ]; then
printf '데스크톱 실행 항목이 %s개입니다. 설치 패키지의 실행 파일을 먼저 확인하세요.\n' "${#launchers[@]}"
printf '%s\n' "${launchers[@]}"
exit 1
fi
autostart_dir="${XDG_CONFIG_HOME:-$HOME/.config}/autostart"
mkdir -p "$autostart_dir"
install -m 644 "${launchers[0]}" "$autostart_dir/v2rayn.desktop"
grep -E '^(Type|Exec|TryExec|Path|Hidden|OnlyShowIn|NotShowIn|X-GNOME-Autostart-enabled)=' \
"$autostart_dir/v2rayn.desktop"
BASH
Exec는 실행 명령입니다. 원본 파일의 내용을 그대로 사용하고, 기억에 의존해 경로를 임의로 작성하지 마세요.TryExec가 있다면 해당 프로그램을 찾을 수 있어야 합니다. 그렇지 않으면 데스크톱 환경이 실행 항목을 건너뛸 수 있습니다.Hidden=true는 실행 항목을 비활성화합니다.X-GNOME-Autostart-enabled=false도 해당 데스크톱에서 실행을 건너뛰게 할 수 있습니다.OnlyShowIn과NotShowIn은 데스크톱 환경을 제한합니다. 현재 환경과 조건이 맞지 않는다면 먼저 원본 항목의 용도를 확인한 뒤 사용자 복사본을 조정하세요.- 클라이언트가 이미 자동 실행 항목을 만들었다면 두 번째 항목을 복사하지 마세요. 같은 프로그램의 창이 두 개 뜬다고 자동 실행이 더 안정적인 것은 아닙니다.
이 파일은 644 권한으로 저장하면 되며 실행 권한은 필요하지 않습니다. 데스크톱 환경은 로그인 자동 실행 규칙에 따라 파일을 읽습니다. 데스크톱 파일을 직접 클릭할 때 필요한 ‘신뢰’ 표시와는 별개이므로 자동 실행을 위해 권한을 불필요하게 확대하지 마세요.
설정 확인 및 되돌리기: 로그아웃 후 다시 로그인
자동 실행 항목을 저장한 뒤 현재 데스크톱 세션에서 로그아웃하고 다시 로그인하세요. 화면을 잠갔다가 해제하는 것만으로는 로그인 자동 실행이 다시 시작되지 않습니다. 첫 확인을 위해 컴퓨터 전체를 재부팅할 필요는 없습니다. 먼저 실행 과정을 점검하세요.
- 로그인 후 v2rayN이 실행되는지 확인하세요. 창이나 트레이 아이콘 표시 방식은 클라이언트 설정과 데스크톱의 트레이 지원 여부에 따라 달라질 수 있습니다.
- 현재 사용자 프로세스를 확인하려면
pgrep -a -i v2rayn을 실행하세요. 프로세스가 보여도 코어가 정상적으로 시작됐다는 뜻은 아니므로 클라이언트 로그도 확인해야 합니다. - 노드가 그대로 있는지, 활성 서버가 올바르게 선택됐는지, 로컬 포트가 수신 중인지 확인하세요.
- 앞 절의 명시적 프록시 요청을 다시 실행한 뒤, 프록시가 필요한 애플리케이션도 따로 테스트하세요.
- 로그인 후 자동 연결도 필요하다면 클라이언트가 활성 서버를 복원하는지 확인하세요. 데스크톱 자동 실행 항목은 프로그램을 여는 역할만 하며, 사용할 수 없는 노드를 복구하지는 않습니다.
이 문서에서 만든 로그인 자동 실행 항목을 되돌리려면 사용자 복사본을 삭제하면 됩니다. 시스템 애플리케이션 메뉴의 실행 항목에는 영향을 주지 않습니다. 아래 명령은 이 문서에서 지정한 파일만 대상으로 합니다. 다른 방식으로 만든 항목은 해당 도구에서 비활성화하세요.
rm -f "${XDG_CONFIG_HOME:-$HOME/.config}/autostart/v2rayn.desktop"
업그레이드할 때는 같은 배포 경로의 새 패키지를 apt, dnf 또는 zypper로 설치하면 일반적으로 기존 소프트웨어 파일을 덮어씁니다. 업그레이드 전에 클라이언트가 실제로 사용하는 데이터 디렉터리를 백업하세요. 설정이 항상 고정된 경로에 있다고 가정하지 마세요. 구독 주소, 노드 인증 정보, 사용자 지정 라우팅은 보호해야 할 데이터입니다.
자주 발생하는 문제: 설치는 됐지만 제대로 실행되지 않음
애플리케이션 메뉴에 아이콘은 있는데 클릭해도 반응이 없나요?
데스크톱 파일의 Exec 행을 확인한 다음 현재 사용자 터미널에서 실제 프로그램 경로로 실행해 오류 출력을 살펴보세요. %U, %F 같은 데스크톱 필드 코드가 포함되어 있다면 직접 테스트할 때 제거하세요. 행 전체를 확인 없이 셸에 전달하지 마세요. 공유 라이브러리가 없으면 의존성을 확인하고, 아키텍처 오류가 발생하면 올바른 패키지를 다시 선택하세요.
직접 실행하면 되는데 로그인 후에는 실행되지 않나요?
사용자 자동 실행 디렉터리에 파일이 있는지, Hidden으로 비활성화되지 않았는지, Exec이 가리키는 프로그램이 여전히 존재하는지 확인하세요. 데스크톱이 XDG Autostart를 지원하는지도 살펴보세요. journalctl --user -b로 현재 부팅의 사용자 로그를 확인할 수 있지만, 모든 데스크톱이 자동 실행 실패를 여기에 빠짐없이 기록하는 것은 아닙니다.
구독 업데이트가 시간 초과되면 설치가 잘못된 건가요?
먼저 설치 문제와 네트워크 문제를 구분하세요. 메인 창이 실행된다고 구독 주소에 접속할 수 있는 것은 아닙니다. 주소가 완전한지, 시스템 시간이 맞는지, 네트워크가 정상인지 확인한 뒤 사용 가능한 노드로 연결하고 「모든 구독 업데이트(프록시 사용)」를 실행하세요. 로그를 공유하기 전에는 구독 토큰과 노드 인증 정보를 가리세요.
클라이언트는 실행 중인데 터미널 요청은 여전히 직접 연결되나요?
터미널 도구는 데스크톱 시스템 프록시를 사용하지 않을 수 있습니다. 먼저 curl --proxy로 확인된 로컬 연결 지점을 지정해 테스트하세요. 명시적 프록시 요청이 정상이라면 애플리케이션 자체의 프록시 설정을 확인합니다. 프로그램 실행, 시스템 프록시 활성화, 규칙에서 프록시 아웃바운드 선택은 서로 다른 상태입니다.
업그레이드 후 클라이언트 프로세스가 두 개 실행되나요?
클라이언트의 자동 실행 옵션, 데스크톱 시작 프로그램 도구, 사용자 autostart 디렉터리를 확인하고 실행 항목을 하나만 남기세요. 이전 버전이 여전히 실행 중인지도 확인합니다. 패키지를 업그레이드해도 기존 프로세스가 자동으로 종료되지 않을 수 있습니다. 정상적으로 종료한 뒤 새 데스크톱 실행 항목으로 시작하고 로그를 확인하세요.
확인 기준은 한 문장으로 정리할 수 있습니다. 패키지 아키텍처가 맞고, 일반 사용자로 직접 실행할 수 있으며, 코어 시작 오류가 없고, 연결 포트가 정상 작동하며, 다시 로그인했을 때 한 번만 실행되어야 합니다. 각 항목은 서로 다른 단계를 확인하므로 하나씩 점검하는 편이 반복해서 삭제하고 재설치하는 것보다 빠릅니다.