이 글의 목차
GNOME 트레이 메뉴가 멈춘 문제인지 먼저 확인
이 글은 Linux 데스크톱에서 노드와 프록시 그룹이 많은 구독으로 전환한 직후 멈추고, 로그가 동시에 GNOME Shell, Ubuntu AppIndicators, dbusMenu.js 또는 GJS 가비지 컬렉션을 가리키는 경우만 다룹니다. Clash Verge Rev 창만 느려지거나 노드 시간 초과 또는 웹페이지 접속 불가는 같은 문제가 아닙니다.
Clash Verge Rev issue #7779에 보고된 환경은 Ubuntu 22.04.5, GNOME 42.9, X11이며, 노드 347개와 프록시 그룹 14개, 단일 그룹에 최대 349개 노드가 있는 구독을 사용했습니다. 일반 구독은 정상이었지만 대규모 구독으로 전환한 지 약 한 초 후 오류가 폭주하고 데스크톱 전체가 멈추기 시작했습니다.
제보자는 트레이에 생성된 거대한 프록시 그룹 하위 메뉴를 원인으로 추정하고, 같은 시스템과 같은 구독으로 A/B 비교를 수행했습니다. 트레이 프록시 그룹 표시를 비활성화한 뒤에는 재현되지 않았습니다. Issue는 여전히 열려 있으므로, 이 설명은 재현 가능한 진단 단서일 뿐 유지 관리자가 확인한 보편적 근본 원인은 아닙니다.
증상부터 구분
| 증상 | 가능성이 더 높은 원인 | 다음 단계 |
|---|---|---|
| 대규모 구독으로 전환한 뒤 상단 바, 창 전환, 데스크톱이 함께 멈춤 | GNOME Shell 또는 AppIndicator 메뉴 부하 | 세션과 시스템 로그 확인 |
| Clash Verge Rev 창만 멈춤 | 앱 인터페이스 또는 WebView | 이 글의 결론을 바로 적용하지 않기 |
| 데스크톱은 정상이지만 웹페이지와 노드가 시간 초과됨 | 노드, DNS, 규칙 또는 TUN | 연결 기록을 기준으로 진단 |
| 구독을 전환하지 않아도 주기적으로 멈춤 | 다른 확장 기능, 그래픽 드라이버 또는 데스크톱 문제 | 클라이언트를 종료한 상태와 비교 |
먼저 데스크톱을 복구하고 거대한 메뉴를 다시 열지 않기
데스크톱이 아직 응답한다면 트레이 아이콘을 클릭하거나 Profile을 반복해서 전환하지 마세요. 편집 중인 파일을 저장한 뒤 Clash Verge Rev 기본 창에서 시스템 프록시와 TUN을 끄고 클라이언트를 정상 종료하세요. 시스템 직접 연결이 작동하는지 확인한 뒤 데스크톱 세션이나 시스템을 다시 시작합니다.
GNOME Shell이 거의 응답하지 않지만 Ctrl+Alt+F3으로 텍스트 터미널에 들어갈 수 있다면 로그인한 뒤 정상 재시작 명령을 사용하세요. 강제로 전원을 끄면 아직 기록되지 않은 파일이 손상될 수 있으므로 키보드, 터미널, 시스템 전원 메뉴가 모두 작동하지 않을 때만 최후의 수단으로 사용해야 합니다.
sudo systemctl reboot데스크톱에 다시 들어간 뒤
먼저 시스템 직접 연결 유지
TUN, 시스템 프록시 또는 방금 사용한 대규모 구독을 바로 활성화하지 말고, 먼저 데스크톱과 기본 네트워크가 안정적인지 확인하세요.
기본 창에서 설정 열기
트레이에서 프록시 그룹 메뉴를 펼치지 말고 Clash Verge Rev 기본 창을 직접 여세요.
먼저 트레이 표시 모드 변경
비활성화 설정을 마친 뒤에만 같은 대규모 구독을 다시 선택해 통제된 조건으로 재검증하세요.
문제가 발생한 시간 기록
구독 전환 시각과 데스크톱이 멈추기 시작한 시각을 적어 두고, 나중에 해당 구간의 로그만 추출하세요.
세션, 버전, AppIndicator 오류 기록
배포판, GNOME, 세션 유형, Clash Verge Rev 버전을 먼저 기록한 뒤 문제 전후 몇 분간의 시스템 로그를 내보내세요. X11과 Wayland는 복구 방법이 다르므로 ‘최신 Ubuntu’라고만 적어서는 안 됩니다.
아래 조회는 이번 부팅의 로그만 읽습니다. 출력에 ubuntu-appindicators, dbusMenu.js, JSAPI during, already disposed 또는 PopupSubMenuMenuItem이 나타나고 시각이 구독 전환 직후라면 issue #7779의 패턴과 비슷합니다.
로그에는 사용자 이름, 호스트 이름, 구독 또는 노드 정보가 포함될 수 있으므로 공개 전에 반드시 가리세요. 재현 전후 몇 분만 보관하고 전체 시스템 로그는 업로드하지 마세요.
printf 'session=%s\n' "$XDG_SESSION_TYPE"
gnome-shell --version
clash-verge --version 2>/dev/null || truejournalctl -b --no-pager | grep -E 'gnome-shell|ubuntu-appindicators|dbusMenu\.js|JSAPI during|already disposed|PopupSubMenuMenuItem'변경 전 기준 상태
- 배포판, GNOME, X11 또는 Wayland 세션 유형을 기록함
- Clash Verge Rev의 실제 버전과 설치 출처를 기록함
- 일반 구독에서는 같은 멈춤이 발생하지 않음
- 대규모 구독의 노드 수, 프록시 그룹 수, 최대 그룹 규모를 기록함
- 문제 발생 시각과 해당 로그를 저장하고 민감 정보를 가림
- 시스템 프록시와 TUN을 끈 상태에서는 데스크톱이 안정적으로 작동함
트레이 프록시 그룹 메뉴를 비활성화한 뒤 구독 전환
Clash Verge Rev 기본 창에서 Settings → Layout Setting → Proxy Groups Display Mode → Disable 경로로 설정하세요. v2.5.2 공식 타입 정의는 default, inline, disable을 지원하며, 중국어 설정 리소스에도 이 항목이 기본값, 상위 메뉴, 사용 안 함으로 표시됩니다.
이 변경은 프록시 그룹과 많은 노드를 시스템 트레이 메뉴에 펼치지 않도록 할 뿐입니다. 구독, 규칙, 노드, 기본 창의 프록시 그룹은 그대로 유지됩니다. 이후에는 기본 창에서 노드를 선택하고, 설정 확인을 위해 이전 트레이 하위 메뉴를 반복해서 클릭하지 마세요.
그래픽 인터페이스에서 저장할 수 없다면 설정의 앱 디렉터리 항목으로 verge.yaml을 찾고, 클라이언트를 완전히 종료한 뒤 전체 디렉터리를 복사해 백업하세요. 그런 다음 tray_proxy_groups_display_mode를 disable로 명시합니다. 데이터 디렉터리를 추측하거나 앱 실행 중에 파일을 덮어쓰지 마세요.
tray_proxy_groups_display_mode: disable같은 구독으로 네 가지 항목 검증
시스템, 클라이언트 버전, 구독은 그대로 두고 트레이 프록시 그룹 표시 모드만 변경한 뒤, 기본 창에서 원래 멈춤을 일으키던 대규모 구독으로 전환하세요. 이 단일 변수 비교는 노드를 삭제하고, 코어를 바꾸고, TUN을 끄는 작업을 동시에 하는 것보다 원인을 더 잘 보여 줍니다.
전환 후 기존 발생 시간보다 더 오래 기다린 뒤 기본 창의 프록시 그룹에서 노드를 한 번 선택하고 실제 HTTPS 요청을 보내세요. 지연 시간 숫자만 보지 말고 데스크톱 응답, 트레이 구조, 로그, 실제 연결을 모두 확인해야 합니다.
검증 체크리스트
- 같은 대규모 구독으로 전환한 뒤에도 상단 바, 창 전환, 단축키가 응답함
- 트레이 메뉴에 프록시 그룹과 노드 하위 메뉴가 더 이상 생성되지 않음
- 로그에 dbusMenu.js, JSAPI during 또는 already disposed 오류가 대량으로 새로 나타나지 않음
- 기본 창에서 프록시 그룹을 확인하고 노드를 전환할 수 있음
- 실제 HTTPS 요청이 성공하고 Connections에 해당 연결이 표시됨
- 완전히 종료하고 다시 실행한 뒤에도 비활성화 설정이 유지됨
비활성화 후에도 멈추면 원인 다시 분류
트레이 하위 메뉴는 사라졌지만 앱 창만 응답하지 않음
WebView, 렌더링, 앱 로그를 확인하고 GNOME Shell 메뉴 문제로 단정하지 마세요.
Clash Verge Rev를 종료한 뒤에도 데스크톱이 주기적으로 멈춤
다른 GNOME 확장 기능, 그래픽 드라이버, 시스템 로그를 확인하세요. 이 글의 우회 방법은 적용되지 않습니다.
데스크톱은 정상이고 연결만 실패함
노드, DNS, 규칙, 시스템 프록시 또는 TUN을 점검하고 거대한 트레이 메뉴를 복원하지 마세요.
같은 AppIndicator/GJS 오류 폭주가 계속 발생함
비활성화 설정을 유지하고 다른 앱도 매우 큰 트레이 메뉴를 제공하는지 기록한 뒤 프로젝트에 전체 비교 결과를 제출하세요.
Ubuntu AppIndicators를 먼저 제거하거나 대규모 구독을 삭제하거나 데스크톱 전체를 다시 설치하지 마세요. 너무 많은 변수가 한꺼번에 바뀌고 다른 앱에도 영향을 줄 수 있습니다. 먼저 Clash Verge Rev 종료, 일반 구독, 트레이 프록시 그룹 비활성화라는 세 가지 비교로 어느 단계가 문제를 일으키는지 확인하세요.
트레이 전환이 필요할 때 안전하게 되돌리고 증거 제출
트레이 프록시 그룹 메뉴를 반드시 복원해야 한다면 먼저 기본 창에서 검증된 소규모 구독으로 전환한 뒤 표시 모드를 ‘기본값’ 또는 ‘상위 메뉴’로 되돌리세요. 대규모 구독이 활성화된 상태에서 메뉴를 복원하지 마세요. 멈춤이 다시 발생하면 즉시 disable로 돌아가 기본 창에서 계속 노드를 선택하세요.
공식 프로젝트에 제보할 때는 배포판, GNOME과 세션 유형, Clash Verge Rev 버전, 구독 규모, 발생 시각, 민감 정보를 가린 로그, default와 disable을 같은 조건에서 비교한 결과를 제공하세요. 구독 링크, 노드 주소, 인증 정보 또는 전체 설정은 업로드하지 마세요.
2026년 9월 8일 기준 issue #7779는 여전히 열려 있고 연결된 공식 수정도 없습니다. 보고에는 2.5.3 AutoBuild가 사용됐으며, 공식 최신 안정 버전은 여전히 v2.5.2입니다. v2.5.2에는 이 표시 설정이 포함되어 있지만 릴리스 노트는 대규모 트레이 메뉴 멈춤을 수정했다고 밝히지 않았으므로, 설정이 존재한다는 사실을 문제 해결 완료로 표현하면 안 됩니다.
참고 자료
- Clash Verge RevLinux/GNOME 대규모 구독이 AppIndicator 메뉴 멈춤을 일으키는 재현 기록
- Clash Verge Revv2.5.2 트레이 프록시 그룹 표시 모드 타입 정의
- Clash Verge Revv2.5.2 트레이 프록시 그룹 표시 모드의 중국어 설정 항목
- Clash Verge Revv2.5.2 verge.yaml 설정 필드와 기본값
- Ubuntu AppIndicatorsUbuntu AppIndicator dbusMenu.js 오류 폭주와 GNOME Shell 멈춤 기록
- Clash Verge RevClash Verge Rev v2.5.2 안정 버전 릴리스 노트
