Linux 데스크톱에 Shadowrocket을 설치하려는 사용자를 위한 안내입니다. 먼저 배포판과 CPU 아키텍처를 확인한 뒤 사이트의 다운로드 페이지에서 deb, rpm 또는 AppImage를 선택하세요. 패키지 형식에 맞춰 설치하거나 실행 권한을 부여하고, 터미널 오류에 따라 의존성, 마운트 제한, 첫 실행 문제를 해결합니다. 명령어에는 실제로 다운로드한 파일 경로를 사용하며, 특정 버전이나 파일명에 의존하지 않습니다.
배포판·아키텍처·패키지 형식 확인
deb, rpm, AppImage는 배포 방식의 차이이며 프록시 프로토콜이 아닙니다. Ubuntu, Debian 및 호환 배포판에서는 보통 deb를 선택하고, Fedora 등 dnf를 사용하는 배포판에서는 대개 rpm을 선택합니다. 독립된 앱 파일로 보관하고 시스템 패키지 관리자를 사용하지 않으려면 AppImage를 이용할 수 있지만, CPU 아키텍처와 시스템 실행 환경은 여전히 맞아야 합니다.
cat /etc/os-release
uname -m
첫 번째 명령어로 시스템의 ID, ID_LIKE 등의 정보를 확인하고, 두 번째 명령어로 컴퓨터 아키텍처를 확인합니다. 일반적인 x86_64와 aarch64는 서로 바꿔 사용할 수 없습니다. 다운로드 항목의 아키텍처가 기기와 일치해야 합니다. 특정 패키지 형식을 내려받을 수 있다고 해서 모든 배포판과 아키텍처에서 실행되는 것은 아닙니다.
패키지 관리자 설치
- deb
- Debian, Ubuntu 등 호환 시스템에 적합합니다.
- rpm
- 이 글에서는 Fedora의 dnf 설치 방법을 안내합니다.
- 의존성 처리
- apt와 dnf는 설정된 소프트웨어 저장소에서 의존성을 확인합니다.
- 앱 관리
- 설치 기록은 시스템 패키지 관리자가 관리합니다.
기본 패키지 형식을 선택하고, 확장자만 바꿔 패키지 형식을 변환하지 마세요.
AppImage 실행
- 파일 위치
- 현재 사용자가 읽고 실행할 수 있는 디렉터리에 저장합니다.
- 실행 권한
- chmod u+x로 사용자 실행 권한을 추가합니다.
- 실행 방법
- 전체 파일 경로를 사용해 실행합니다.
- 실행 조건
- 아키텍처, 시스템 라이브러리, 마운트 조건을 충족해야 합니다.
패키지 관리자로 설치하지 않아도 시스템 의존성이 전혀 필요 없는 것은 아닙니다.
다운로드 페이지에서 해당 Linux 파일 받기
Shadowrocket 다운로드 페이지를 열고 Linux 항목에서 기기에 맞는 형식을 선택한 다음, 브라우저에 실제로 저장된 위치를 확인하세요. 파일명을 고정해 안내하지 않습니다. 아래 명령어에서 실제 경로를 입력하므로 다운로드 파일에 버전이나 아키텍처 접미사가 붙어 있어도 사용할 수 있습니다.
-
시스템 확인
터미널을 열고 위의 조회 명령어 두 개를 실행해 배포판과 아키텍처를 확인하세요. 데스크톱 화면만 보고 Ubuntu인지 Fedora인지 판단하지 마세요.
-
형식 선택
다운로드 페이지에서 Linux를 선택한 뒤 시스템에 맞는 deb, rpm 또는 AppImage를 고르세요. 다운로드 항목에 표시된 아키텍처도 확인해야 합니다.
-
파일 위치 확인
브라우저의 다운로드 기록에서 파일이 있는 디렉터리를 열고 파일 속성에서 절대 경로를 확인하세요. 다운로드가 완료되기 전에는 설치를 실행하지 마세요.
-
명령어 실행
Bash 터미널에서 해당 절의 명령어를 사용하세요. 경로 입력 안내가 나오면 절대 경로를 붙여넣습니다. 따옴표를 추가하거나 물결표를 사용한 축약 경로를 입력하지 말고 Enter를 누르세요.
deb 설치: apt로 로컬 패키지와 의존성 처리
Debian, Ubuntu 등 호환 시스템에서는 apt로 로컬 deb를 설치하는 방법을 권장합니다. 패키지를 직접 풀어 설치하는 것과 달리, 이 방법은 설정된 시스템 저장소에서 필요한 의존성도 함께 설치할 수 있습니다. 입력값은 현재 터미널의 변수에만 저장됩니다. 실행하기 전에 경로가 사이트에서 다운로드한 deb 파일을 가리키는지 확인하세요.
read -r -p 'deb 파일의 절대 경로를 입력하세요: ' DEB
if [ -f "$DEB" ]; then
sudo apt install "$DEB"
else
printf '%s\n' '파일을 찾을 수 없습니다. 절대 경로를 다시 확인하세요.'
fi
apt가 설치 계획을 표시하면 추가·업그레이드·삭제될 패키지를 확인한 뒤 진행 여부를 결정하세요. sudo 비밀번호를 입력할 때 터미널에 문자가 표시되지 않는 것은 일반적이며 키보드 고장이 아닙니다. 의존성을 찾을 수 없다는 메시지가 나오면 소프트웨어 저장소, 네트워크, 배포판 지원 여부를 먼저 확인하세요. 출처가 불분명한 동일 이름의 시스템 라이브러리를 설치하지 마세요.
- 아키텍처가 맞지 않는 경우:
uname -m의 결과와 다운로드 항목의 아키텍처를 다시 확인하세요. 아키텍처를 강제로 무시하는 옵션은 사용하지 마세요. - 패키지 잠금이 사용 중인 경우: 시스템 업데이트나 다른 설치 작업이 끝날 때까지 기다리세요. 잠금 파일을 직접 삭제하지 마세요.
- 경로가 유효하지 않다는 메시지가 표시되는 경우:
/로 시작하는 절대 경로인지, 파일 다운로드가 완료됐는지 확인하세요.
설치가 끝나면 데스크톱 앱 목록에서 Shadowrocket을 검색해 실행하세요. 로컬 deb를 설치해도 앱 업데이트용 소프트웨어 저장소가 시스템에 자동으로 추가되지는 않습니다. 이후 업데이트는 사이트의 다운로드 페이지에서 적합한 파일을 받은 뒤 apt로 처리하세요.
rpm 설치: Fedora에서 dnf 사용
Fedora에서는 dnf로 로컬 rpm을 설치할 수 있으며, 의존성은 시스템 소프트웨어 저장소에서 확인합니다. rpm을 사용하는 다른 배포판은 패키지 관리 명령어나 의존성 이름이 다를 수 있습니다. 확장자가 같다고 Fedora의 모든 절차가 그대로 적용된다고 가정하지 마세요.
read -r -p 'rpm 파일의 절대 경로를 입력하세요: ' RPM
if [ -f "$RPM" ]; then
sudo dnf install "$RPM"
else
printf '%s\n' '파일을 찾을 수 없습니다. 절대 경로를 다시 확인하세요.'
fi
의존성 충돌이 발생하면 터미널 출력에 표시된 패키지 이름과 오류 원인을 보존하고, 배포판이 맞는지 먼저 확인하세요. 설치를 계속하려고 의존성 검사를 건너뛰거나 보안 정책을 끄거나 시스템 구성 요소를 강제로 바꾸지 마세요. 설치 후에는 보통 앱 목록에서 실행할 수 있습니다. 메뉴가 갱신되지 않았다면 앱 목록을 다시 열어 보고, 그래도 표시되지 않을 때 데스크톱 세션에서 로그아웃하는 방법을 고려하세요.
- deb와 rpm 중 하나를 선택하세요. 같은 시스템에서는 기본 패키지 형식을 우선 사용하고, 변환해 중복 설치하지 마세요.
- 업그레이드하기 전에 Shadowrocket을 정상적으로 종료하세요. 실행 중인 이전 프로세스를 새 설치 결과로 오인하지 않도록 합니다.
- 앱을 제거할 때는 시스템 패키지 관리 화면에서 Shadowrocket을 찾아 실제 설치 기록에 따라 진행하세요. 내부 패키지 이름을 추측하지 마세요.
AppImage: 실행 권한을 부여한 뒤 실행
AppImage는 독립 실행형 앱 파일입니다. 파일을 오래 보관할 위치에 옮긴 다음 실행 권한을 부여하세요. 브라우저의 임시 디렉터리에 두지 마세요. 이동식 디스크, 공유 디렉터리 또는 실행이 제한된 마운트 지점에 있으면 권한 비트가 올바르더라도 실행되지 않을 수 있습니다.
read -r -p 'AppImage 파일의 절대 경로를 입력하세요: ' APPIMAGE
if [ -f "$APPIMAGE" ]; then
chmod u+x -- "$APPIMAGE" && "$APPIMAGE"
else
printf '%s\n' '파일을 찾을 수 없습니다. 절대 경로를 다시 확인하세요.'
fi
chmod u+x는 파일 소유자에게만 실행 권한을 추가합니다. 모든 사용자에게 쓰기 권한을 부여하거나 sudo로 그래픽 앱 전체를 실행할 필요는 없습니다. 처음 테스트할 때는 터미널 창을 열어 두세요. 더블클릭해도 반응이 없는 경우 터미널에서 구체적인 오류를 확인할 수 있습니다.
- 파일 경로에 공백이 있으면 위 명령어의 큰따옴표를 유지해야 합니다. 경로 입력 안내가 표시됐을 때는 따옴표를 추가하지 마세요.
- 일부 AppImage는 실행 시 FUSE 호환 지원이 필요합니다. 오류에 FUSE가 명시되어 있다면 현재 배포판의 문서를 참고해 해당 호환 패키지를 설치하세요. 다른 배포판의 패키지 이름을 그대로 사용하지 마세요.
- AppImage를 업데이트할 때는 앱을 종료하고 새 파일을 다운로드한 뒤 실행 권한을 다시 설정하고 새 파일을 실행하세요.
설치 후 라우팅 설정과 연결 정보 구분하기
앱이 실행된다는 것은 앱 자체가 작동한다는 뜻일 뿐, 사용할 수 있는 연결 정보가 준비됐다는 의미는 아닙니다. 직접 보유하고 용도를 알고 있는 연결 정보나 구독을 사용하고 Home, Config에서 가져오기 결과를 확인하세요. 가져오기와 업데이트 절차는 사용 설명서에서 확인할 수 있습니다. 구독 업데이트는 연결 정보를 새로고침하는 것이며 Linux 앱 설치 패키지를 업데이트하는 것이 아닙니다.
연결 문제를 확인하기 전에 Home → Global Routing 설정을 확인하세요. 아래 내용은 Shadowrocket 자체의 라우팅 동작을 비교하는 것입니다. 서버 주소, 포트, 인증 정보, 프로토콜 매개변수를 대신하거나 AppImage 파일 권한을 변경하지 않습니다.
Config
권장현재 활성화된 설정의 규칙에 따라 요청을 처리합니다. 먼저 설정 내용을 확인하세요. 규칙은 보통 순서대로 적용되므로 Config가 모든 요청을 직접 연결한다는 뜻은 아닙니다.
적합한 경우: 내용이 확인된 설정을 보유하고 규칙에 따라 평소처럼 트래픽을 분기할 때.
Proxy
라우팅 대상에 포함된 요청을 선택한 프록시로 보냅니다. 규칙 선택에 따라 결과가 달라지는지 비교할 때 사용할 수 있습니다. 프록시 자체가 연결 가능한 상태여야 합니다.
적합한 경우: 라우팅 결과를 일시적으로 비교해 규칙 문제와 연결 문제를 구분할 때.
Direct
라우팅 대상에 포함된 요청을 직접 연결로 처리합니다. 이때 직접 연결되는 결과만으로 가져온 프록시 정보가 유효하다고 판단할 수는 없습니다.
적합한 경우: 로컬 네트워크의 직접 연결 상태를 확인할 때.
예를 들어 DOMAIN-SUFFIX,example.com,DIRECT는 지정된 도메인 접미사에 DIRECT를 적용한다는 뜻입니다. FINAL,DIRECT는 앞서 일치하지 않은 요청에 최종 정책을 적용합니다. 이는 규칙 구문 예시일 뿐, 기존 설정을 덮어쓰라는 의미가 아닙니다. 설치 문제를 해결할 때는 한 번에 설정 하나만 변경해 설정 변경과 시스템 권한 문제를 혼동하지 않도록 하세요.
첫 실행이 차단된 경우: 오류 원인별 해결 방법
모든 Linux 배포판에 공통으로 적용되는 단일 ‘허용’ 버튼은 없습니다. 먼저 실행 권한 부족, 실행을 금지하는 마운트 지점, 아키텍처 불일치, 데스크톱 또는 시스템 보안 정책 중 무엇이 원인인지 확인하세요. 모든 실행 실패를 보안 차단으로 단정하지 말고, 전역 보호 기능을 끄는 방식으로 오류를 우회하지 마세요.
AppImage를 더블클릭해도 반응이 없어요. 어떻게 해야 하나요?
앞 절의 명령어를 터미널에서 실행하세요. 파일 관리자에 Properties → Permissions 항목이 있다면 실행 권한을 확인할 수 있습니다. 데스크톱 환경에 따라 메뉴 이름이 다를 수 있으므로 실제 화면을 기준으로 확인하세요. 반복해서 더블클릭하는 것보다 터미널 출력으로 원인을 찾기 쉽습니다.
chmod를 실행했는데도 Permission denied가 표시되는 이유는 무엇인가요?
먼저 ls -l "$APPIMAGE"로 파일 권한을 확인한 다음, findmnt -T "$APPIMAGE"로 파일이 있는 마운트 지점을 확인하세요. 옵션에 noexec가 포함되어 있으면 현재 사용자가 실행할 수 있는 로컬 디렉터리로 파일을 옮긴 뒤 다시 시도하세요. 관리되는 기기라면 마운트 정책을 직접 변경하지 말고 관리자에게 문의하세요.
Exec format error가 표시되는데 설치가 손상된 건가요?
먼저 file "$APPIMAGE"과 uname -m의 결과를 비교해 아키텍처를 확인하세요. 아키텍처가 맞지 않으면 다른 다운로드 항목을 선택하세요. 파일 형식이 HTML 문서로 확인되면 잘못된 페이지를 받은 것일 수 있으므로 사이트의 다운로드 페이지에서 다시 다운로드하세요.
FUSE 또는 시스템 보안 정책 오류가 표시될 때는 어떻게 해결하나요?
FUSE 오류는 배포판 문서를 참고해 호환 지원을 설치하세요. 로그에 SELinux 또는 AppArmor의 접근 거부가 명시되어 있다면 오류 기록을 저장하고 배포판에서 제공하는 정책 관리 절차를 따르세요. 보안 기능 전체를 끄거나 원인을 확인하지 않은 채 root로 앱을 실행하지 마세요.
위 변수는 현재 터미널에서만 유효하므로 다른 터미널을 열면 경로를 다시 입력해야 합니다. 추가 진단이 필요하면 배포판, 아키텍처, 패키지 형식, 실행한 명령어와 전체 오류 메시지를 기록하세요. 로그를 공유하기 전에 구독 주소, 인증 정보 및 기타 민감한 내용을 삭제하세요. 이렇게 하면 ‘실행할 수 없음’과 ‘실행 후 연결할 수 없음’을 나누어 해결할 수 있습니다.
Shadowrocket 다운로드 및 설정 안내
iPhone / iPad 버전은 App Store에서 $2.99를 한 번 결제해 이용할 수 있습니다. Mac(Apple 실리콘 / Intel) / Windows / Android / Linux 버전은 무료입니다. Linux 사용자는 다운로드 페이지에서 적합한 형식을 선택해 설치한 뒤, 튜토리얼을 참고해 보유 중인 정보를 가져오세요.