PIA의 패널 아이콘이 전혀 나타나지 않는 리눅스 데스크톱에서는 터널이 켜져 작동하는 경우가 많지만 유일한 제어 수단은 사라진 상태입니다. 앱 창을 닫아도 연결은 끊기지 않으며, 같은 설치에는 메뉴가 예전에 보여 주던 상태를 읽고 바꾸는 명령줄 클라이언트 piactl가 들어 있습니다. 유용한 질문은 아이콘이 왜 사라졌느냐가 아니라 배경 앱인지, 선택된 지역인지, 셸 통합인지 하는 빠진 계층입니다. 그 계층을 먼저 파악하면 런처를 고치지 않고도 VPN을 쓸 수 있습니다.

패널 아이콘과 터널은 별개의 계층

트레이 항목은 VPN 엔진이 아니라 데스크톱 셸이 제공하는 표시 세부 사항입니다. PIA 데스크톱 앱은 환경이 제공하는 상태 영역에 메뉴를 그리고, 여러 리눅스 설정은 확장이나 패널 플러그인을 설치한 뒤에야 그 영역을 노출합니다. 앱이 실행 중이어도 셸에 메뉴를 둘 자리가 없으면 제어는 사라지고 연결은 계속됩니다. 그래서 작동하는 상태 영역이 한 번도 없었던 데스크톱에서는 VPN을 지웠다 다시 설치해도 아이콘이 거의 돌아오지 않습니다.

패널 동작은 세션마다 다를 수 있으므로 같은 계정을 Wayland와 X11에서 한 번씩 시험해 보세요. 한 세션에서 보이고 다른 세션에서 보이지 않는 메뉴는 VPN 설치가 아니라 세션 유형을 가리킵니다.

바꾸기 전에 현재 상태를 읽으세요

읽기는 비용이 들지 않지만 쓰기는 트래픽을 끊으므로 조회만으로 시작하세요. sudo 대신 자신의 사용자로 실행하세요 — sudo는 클라이언트를 다른 앱 인스턴스와 대화하게 만들지 않습니다.

piactl --help
piactl get connectionstate
piactl get region
piactl get regions

connectionstate는 첫 질문에 직접 답하며 Connected 또는 Disconnected를 반환하고 클라이언트가 협상하는 동안 과도기 값을 거칩니다. region는 지금 선택된 식별자를 보고하는데, 앱이 자동 선택으로 돌아갔다면 마지막으로 클릭한 것과 같지 않을 수 있습니다. regions는 이 클라이언트가 아는 식별자를 나열하므로 도시 이름을 추측하는 대신 정확한 문자열을 복사할 수 있습니다. 첫 명령이 도움말을 출력하는데 나머지가 멈춘다면 앱은 접근 가능한 배경 프로세스 없이 설치된 것입니다.

일부 패키지는 piactl를 PATH 밖에 둡니다. PIA 명령줄 안내서는 리눅스 위치로 /opt/piavpn/bin/piactl를 제시하므로 짧은 이름이 발견되지 않으면 그 경로를 호출하세요. 바이너리는 데스크톱 앱의 것이며, 응답하는 piactl는 설치 자체가 온전하다는 증거가 됩니다.

지역 변경은 의도적으로 터널을 끊습니다

지역 변경은 연결 해제와 그 뒤의 새 핸드셰이크이며, 클라이언트는 살아 있는 터널 아래에서 이를 조용히 적용하지 않습니다. 아래 명령은 하나의 트랜잭션으로 다루고, 식별자는 regions 출력에서 복사하세요.

piactl disconnect
piactl set region REGION_ID
piactl connect
piactl get connectionstate

여기서는 순서가 중요합니다. 연결된 상태에서 지역을 선택하면 무언가가 재연결을 강제할 때까지 현재 터널은 이전 끝점을 가리키며, 그래서 사람들은 설정이 무시되었다고 결론짓습니다. 먼저 연결을 끊으면 상태가 명확해지고, 마지막 조회는 협상이 끝났는지 보여 주며 지역이 기록되었는지만 보여 주지 않습니다. 마지막 줄이 선택하지 않은 지역을 보고하면 연결 중에 다시 선택하는 자동 옵션이나 가장 빠른 서버 옵션을 찾으세요.

SSH로 관리하는 머신에서는 변경을 로컬에서 하거나 세션이 끊길 수 있음을 받아들이세요. 반대편에서 기다리는 무엇이든 의도적인 지역 변경은 네트워크 장애와 똑같이 보입니다.

빈 패널 대신 장애를 기록하세요

메뉴가 없고 클라이언트가 실패하는 것은 다른 문제이며 다른 보고가 필요합니다. 장애가 있는 동안 수집한 상태 조회의 정확한 출력을 모으세요. 그 기록은 클라이언트나 서비스 장애를 셸 통합 장애와 분리하며, 빈 구석의 스크린샷으로는 할 수 없습니다.

ps -ef | grep -i piavpn
ls -l /opt/piavpn/bin/piactl
piactl get connectionstate

프로세스 목록에 PIA 구성 요소가 없는데 바이너리가 있다면 앱이 그냥 실행되지 않는 것이고 해결은 실행하는 것입니다. 프로세스가 있는데도 조회가 계속 실패하면 클라이언트가 자체 배경 서비스에 도달하지 못하는 것이므로 다른 무엇을 바꾸기 전에 데스크톱 앱을 다시 시작하세요. 두 검사가 모두 통과하면 패널 문제를 보고 있는 것이므로 터널 디버깅을 멈출 수 있습니다. 트레이 지원은 버전과 데스크톱 모두에 민감하므로 정보 패널에서 클라이언트 버전을 세션 유형 옆에 적어 두세요.

같은 구독을 NetworkManager에 별도 연결로 가져오면 PIA가 구성한 차단이나 분할 터널 동작을 상속하지 않는 두 번째 소유자가 생기고 이후 진단은 추측이 됩니다. 아이콘이 없는 동안 소유자를 하나로 유지하고 piactl를 제어 표면으로 두세요. 명령줄은 망가진 설치의 대체가 아닙니다 — 같은 애플리케이션에 다른 문으로 접근하는 것입니다.

관련 글