이 글은 Linux 그래픽 데스크톱을 사용하는 분을 대상으로 합니다. 먼저 배포판과 프로세서 아키텍처를 확인하고, 시스템 패키지 관리자로 v2rayN을 설치합니다. 이어서 구독, 수신 대기 포트, 시스템 프록시를 점검한 뒤 데스크톱 자동 시작 항목을 설정해 로그인 후 실행되도록 합니다. 여기서 ‘부팅 시 자동 실행’은 사용자 데스크톱에 로그인한 뒤 실행된다는 뜻이며, 로그인 전부터 작동하는 시스템 서비스와는 다릅니다.
설치 전 확인: 배포판, 아키텍처, 패키지 형식
deb와 rpm은 패키지 형식이지 프록시 프로토콜이 아닙니다. Debian과 Ubuntu는 보통 deb를, Fedora는 rpm을 사용합니다. 파일이 모두 Linux용이라고 해서 rpm을 apt로 설치할 수는 없으며, 배포판 차이를 피하려고 패키지 형식을 변환하는 것도 권장하지 않습니다. 다운로드 페이지에서 Linux 설치 패키지를 고를 때는 프로세서 아키텍처도 확인하세요.
cat /etc/os-release
uname -m
printf '%s\n' "$XDG_CURRENT_DESKTOP" "$XDG_SESSION_TYPE"
uname -m의 출력이 x86_64이면 보통 x64 또는 amd64 패키지에 해당하고, aarch64이면 대체로 arm64 패키지에 해당합니다. 패키지 이름의 표기와 시스템 도구의 출력 형식은 다를 수 있으므로 패키지 메타데이터를 기준으로 판단하세요. 설치 프로그램에서 아키텍처가 맞지 않는다고 표시되면 검사를 강제로 무시하지 말고 올바른 패키지를 다시 선택해야 합니다.
Debian / Ubuntu
- 설치 패키지
- deb
- 설치 도구
- apt
- 메타데이터 확인
- dpkg-deb -f
- 일반적인 아키텍처 이름
- amd64、arm64
로컬 파일 경로를 지정해 설치하면 apt가 선언된 의존성도 함께 처리합니다.
Fedora
- 설치 패키지
- rpm
- 설치 도구
- dnf
- 메타데이터 확인
- rpm -qp
- 일반적인 아키텍처 이름
- x86_64、aarch64
아래 rpm 명령은 Fedora용입니다. 다른 rpm 계열 배포판에서는 해당 배포판의 패키지 관리자를 사용하세요.
deb와 rpm 설치: 패키지 관리자로 배포하기
아래 명령은 Bash 터미널에서 실행합니다. 설치 패키지 경로는 직접 입력하므로 특정 버전 번호나 존재하지 않는 파일 이름에 의존하지 않습니다. 절대 경로 전체를 입력하면 되며, 경로에 공백이 있어도 따옴표를 따로 입력할 필요가 없습니다. 명령에 사용한 변수에는 이미 따옴표가 적용되어 있습니다. 먼저 메타데이터를 확인한 뒤 설치 작업을 검토해 다운로드 폴더의 다른 프로그램을 잘못 설치하지 않도록 하세요.
Debian / Ubuntu에서 deb 설치
read -r -p 'deb 파일의 절대 경로를 입력하세요: ' package
if [ -f "$package" ]; then
dpkg-deb -f "$package" Package Version Architecture
sudo apt update
sudo apt install "$package"
else
printf '%s\n' '파일이 없습니다. 경로를 확인하세요.'
fi
apt install은 설정된 저장소에서 의존성을 확인합니다. 의존성을 충족할 수 없다는 메시지가 나오면 배포판 버전, 저장소 상태, 설치 패키지 요구사항을 먼저 확인하세요. 다른 배포판의 저장소를 추가하거나 강제 덮어쓰기 옵션으로 시스템 기본 라이브러리를 교체하지 마세요. 이전에 dpkg -i를 사용해 설정되지 않은 패키지가 남았다면 sudo apt --fix-broken install을 실행할 수 있습니다. 실행 예정인 설치·삭제 목록을 확인한 뒤 진행하세요.
Fedora에서 rpm 설치
read -r -p 'rpm 파일의 절대 경로를 입력하세요: ' package
if [ -f "$package" ]; then
rpm -qp --queryformat '%{NAME} %{VERSION}-%{RELEASE} %{ARCH}\n' "$package"
sudo dnf install "$package"
else
printf '%s\n' '파일이 없습니다. 경로를 확인하세요.'
fi
설치 권한과 실행 권한은 별개입니다: 시스템 디렉터리에 파일을 쓰려면 관리자 권한이 필요하지만, 평소 v2rayN을 실행할 때는 현재 데스크톱 사용자 계정을 사용하세요. 설치 후 앱 메뉴에서 v2rayN을 찾아 실행하고, sudo로 그래픽 클라이언트 전체를 실행하지 마세요. root 소유의 설정 파일이 생성되어 데스크톱 세션에서 접근하지 못할 수 있습니다.
첫 실행: 로컬 프록시 확인 후 데스크톱 프록시 설정
실행한 뒤 먼저 구독을 가져오세요. 구독 주소에는 노드 설정이 포함되어 있으며 설치 패키지가 이를 자동으로 만들어 주지는 않습니다. VMess, VLESS 등은 연결 프로토콜이지 deb 또는 rpm 설치 옵션이 아닙니다. 구독에 포함된 프로토콜, 전송 방식, 보안 설정은 현재 선택한 코어에서 지원해야 합니다. 오류를 없애려고 구독의 포트, 전송 경로, TLS 매개변수를 임의로 바꾸지 마세요.
-
구독 추가
메인 화면에서 ‘구독 그룹’ → ‘구독 그룹 설정’을 열고 그룹을 추가한 다음 유효한 구독 주소를 입력하세요. 저장한 후 ‘구독 그룹’ 메뉴에서 해당 구독을 업데이트합니다. 버전에 따라 버튼 이름이 조금 다를 수 있으므로 실제 화면을 기준으로 진행하세요.
-
노드 선택
업데이트가 끝나면 노드 목록에서 항목을 선택하고 마우스 오른쪽 버튼 메뉴의 ‘활성 서버로 설정’을 누르세요. 로그에서 코어가 정상적으로 시작됐는지 확인합니다. 노드가 목록에 표시된다고 해서 원격 서버에 연결할 수 있다는 뜻은 아닙니다.
-
수신 대기 설정 확인
‘설정’ → ‘매개변수 설정’을 열어 로컬 수신 주소, 포트, 인바운드 유형을 확인하세요. 아래 예시에서는 SOCKS 인바운드를
127.0.0.1:10808로 직접 설정했다고 가정합니다. 실제 테스트에는 화면에 표시된 값을 사용해야 합니다. -
프록시 설정
아래 명령으로 먼저 연결을 테스트한 다음 데스크톱 프록시를 설정하세요. GNOME에서는 보통 시스템 ‘설정’ → ‘네트워크’ → ‘네트워크 프록시’ → ‘수동’에서 설정합니다. KDE Plasma에서는 대체로 ‘시스템 설정’ → ‘네트워크’ → ‘프록시’에 있으며, 데스크톱 버전에 따라 메뉴 구성이 다를 수 있습니다.
ss -lntp | grep ':10808'
curl --proxy socks5h://127.0.0.1:10808 \
--connect-timeout 15 --max-time 30 \
-I https://v2rayhk.com/
첫 번째 명령은 TCP 수신 상태를 확인합니다. 두 번째 명령은 SOCKS 프록시를 명시해 요청을 보내고, 목적지 도메인 이름도 프록시 측에서 조회하도록 합니다. 이 테스트는 연결 확인용이며 속도나 익명성을 평가하지 않습니다. 실제 설정이 HTTP 인바운드라면 해당 HTTP 프록시 주소를 사용해야 합니다. SOCKS 포트를 데스크톱의 HTTP 프록시 칸에 입력하면 안 됩니다. 앱마다 데스크톱 프록시 지원 여부가 다르며, 터미널 도구가 그래픽 데스크톱 설정을 읽지 않을 수도 있습니다.
데스크톱 자동 실행: 기존 시작 항목 복사
그래픽 클라이언트는 대개 사용자 세션에 의존합니다. ‘컴퓨터를 켜면 클라이언트가 자동으로 실행되게’ 하려면 root 시스템 서비스를 만드는 대신 데스크톱 로그인 자동 실행을 설정하세요. 일반적인 방법은 설치 패키지에 포함된 .desktop 시작 항목을 현재 사용자의 ~/.config/autostart/에 복사하는 것입니다. 원본 Exec 값을 유지하면 실행 파일 경로를 추측할 필요가 없습니다.
데스크톱 로그인 시 자동 실행
권장현재 사용자의 데스크톱 세션에서 v2rayN을 실행하고 앱 메뉴의 시작 항목에 지정된 실행 매개변수를 그대로 사용합니다. 사용자 설정과 데스크톱 프록시 설정에도 정상적으로 접근할 수 있습니다.
추천 대상: Debian, Ubuntu, Fedora 그래픽 데스크톱에서 일상적으로 사용하는 경우
앱 메뉴에서 직접 실행
설치, 구독, 프록시 연결이 정상인지 먼저 확인한 다음 자동 실행을 켤지 결정하세요. 문제를 해결하는 동안에는 이 방법으로 실행하면 중복 프로세스와 시작 순서로 인한 영향을 줄일 수 있습니다.
추천 대상: 처음 설치한 경우, 가끔 사용하는 경우, 시작 오류를 점검 중인 경우
시작 파일 찾기 및 복사
find /usr/share/applications "$HOME/.local/share/applications" \
-maxdepth 1 -type f -iname '*v2rayn*.desktop' -print 2>/dev/null
read -r -p '찾은 desktop 파일의 전체 경로를 입력하세요: ' entry
if [ -f "$entry" ]; then
grep -E '^\[Desktop Entry\]|^(Name|Exec|TryExec|Hidden|OnlyShowIn|NotShowIn|X-GNOME-Autostart-enabled)=' "$entry"
mkdir -p "$HOME/.config/autostart"
cp -- "$entry" "$HOME/.config/autostart/v2rayn.desktop"
chmod 644 "$HOME/.config/autostart/v2rayn.desktop"
else
printf '%s\n' '시작 파일을 찾지 못했습니다. 설치가 완료됐는지 먼저 확인하세요.'
fi
복사하기 전에 대상 파일에 보존해야 할 사용자 설정이 없는지 확인하세요. 위의 복사 명령은 같은 이름의 자동 실행 항목을 덮어씁니다. 검색 결과가 없으면 앱 메뉴에서 실행 항목 속성을 확인하거나 설치 패키지의 파일 목록에서 위치를 찾으세요. 확인되지 않은 Exec=v2rayN을 임의로 작성하지 마세요. deb 패키지 내용은 dpkg-deb -c, rpm 패키지의 파일 경로는 rpm -qpl로 확인할 수 있습니다.
- 복사한 파일의
[Desktop Entry]항목을 확인하세요.Hidden=true이면 자동 실행이 비활성화됩니다. GNOME에서는X-GNOME-Autostart-enabled=false도 자동 실행을 막을 수 있습니다. 활성화하려면 해당 항목에 이미 있는 키를 수정하고, 파일 끝에 같은 키를 중복으로 추가하지 마세요. OnlyShowIn과NotShowIn은 데스크톱 환경을 제한합니다. 시작 항목이 다른 데스크톱 환경에서만 허용되어 있다면 제한 목적을 먼저 확인한 후 복사본을 수정하세요.- 일반적인 자동 실행 파일은 읽기 권한만 있으면 됩니다.
644면 충분하며, 디렉터리 전체에chmod 777을 실행할 필요는 없습니다. - 저장한 뒤 로그아웃했다가 다시 로그인해 확인하세요. 먼저 클라이언트가 실행됐는지, 이어서 코어와 네트워크가 준비됐는지 살펴보세요. 트레이 아이콘만 보고 프록시 연결이 성공했다고 판단해서는 안 됩니다.
자동 실행을 중지하려면 사용자 디렉터리에 복사한 파일을 삭제하면 됩니다: rm "$HOME/.config/autostart/v2rayn.desktop". 앱이 제거되는 것은 아닙니다. 클라이언트 내부에서 이미 자동 실행을 설정했다면 같은 파일을 관리하는지 먼저 확인해 두 항목을 동시에 관리하지 않도록 하세요. 데스크톱 자동 실행이 시스템 프록시를 자동으로 켜는 것은 아닙니다. 프록시 사용 여부는 클라이언트에 저장된 설정과 데스크톱 환경에 따라 달라집니다.
의존성·권한·로그인 실행 문제 해결
문제는 로컬에서 원격 방향으로 차례대로 확인하세요. 프로그램 실행 여부, 코어 시작 여부, 포트 수신 여부, 프록시 요청 성공 여부, 앱의 프록시 사용 여부를 점검하면 ‘설치 실패’, ‘노드 연결 불가’, ‘데스크톱에서 프록시 미사용’을 구분할 수 있습니다. 문제가 생긴 지점은 그대로인데 반복해서 재설치하는 일을 피할 수 있습니다.
설치 중 의존성이 없다고 나옵니다. 라이브러리를 직접 다운로드해야 하나요?
먼저 apt 또는 dnf가 표시한 전체 의존성 이름과 버전 조건을 확인하고, 저장소가 정상적으로 사용 가능한지와 아키텍처가 맞는지 점검하세요. 패키지가 현재 배포판보다 최신인 기본 라이브러리를 요구한다면 호환되는 패키지를 선택하거나 배포판을 업그레이드하세요. 시스템 라이브러리 파일을 임의로 교체하지 마세요.
아이콘을 눌러도 반응이 없습니다. 원인을 어떻게 찾나요?
시작 항목의 Exec 값을 확인하고 일반 사용자 터미널에서 프로그램과 실제 매개변수를 실행해 보세요. 데스크톱 시작 항목 전용 필드 코드인 %U, %F 등은 제거해야 합니다. 라이브러리 누락, 디스플레이 세션, 설정 권한과 관련된 오류를 기록하고 해당 오류에 맞춰 해결하세요. 관리자 권한으로 실행하도록 바꾸는 것은 피하세요.
로그에 포트가 이미 사용 중이라고 나옵니다. 어떻게 해야 하나요?
ss -lntp | grep ':10808'을 실행해 예시 포트를 확인하세요. 먼저 중복 실행된 클라이언트를 종료합니다. 다른 프로그램이 실제로 해당 포트를 사용 중이라면 매개변수 설정에서 비어 있는 포트로 변경하고, 데스크톱 프록시 설정과 테스트 명령도 함께 바꾸세요.
로그인 후 창이 보이지 않으면 자동 실행이 실패한 건가요?
먼저 pgrep -afi v2rayn으로 프로세스를 확인하고, 시작 후 최소화 옵션이 설정됐는지 살펴보세요. 일부 데스크톱에서는 트레이 확장이 기본으로 활성화되어 있지 않습니다. 트레이 아이콘이 없다고 프로그램이 실행되지 않은 것은 아닙니다. 자동 실행 파일의 숨김 설정과 데스크톱 제한 키도 확인하세요.
일반 프록시는 되는데 TUN이 시작되지 않나요?
TUN은 가상 네트워크 카드와 라우팅, 추가 권한이 필요하며 일반 로컬 프록시를 사용하는 데 필수는 아닙니다. 먼저 TUN을 끄고 기본 연결을 확인한 뒤 현재 버전의 안내에 따라 권한을 설정하세요. Fedora에서 보안 정책이 작업을 차단하는 것으로 의심되면 거부 로그를 확인하고, 보안 기능을 바로 끄지 마세요.
업그레이드 전에 클라이언트를 종료하고 현재 사용자 설정을 보존하세요. 같은 패키지 관리자로 새 패키지를 설치한 다음 앱 메뉴의 시작 항목과 자동 실행 복사본에 있는 Exec 값이 여전히 일치하는지 확인하세요. 패키지를 제거해도 사용자 디렉터리의 모든 설정 파일이나 직접 복사한 자동 실행 항목이 자동으로 삭제되지는 않는 경우가 많습니다. 제거 후에는 ~/.config/autostart/도 확인하세요. 연결 문제는 문제 해결 가이드의 점검 순서에 따라 계속 살펴볼 수 있습니다.