目次
サブスクリプションを切り替えた後、デスクトップ全体が止まる場合とアプリの画面だけが止まる場合では調べ方が異なります。まだ操作できるなら作業を保存し、クライアントを通常の手順で終了します。操作できない場合はデスクトップを復旧してから、トレイメニューとその時間帯のログを確認します。復帰後は同じサブスクリプションを残し、プロキシグループのメニュー表示設定だけを比較できます。
大きなサブスクリプションへの切り替えで GNOME 全体が固まるなら、トレイメニューの負荷を調べる
大きなサブスクリプションに切り替えた時刻を記録し、トップバーとウィンドウ切り替えが同時に重くなるか確認してください。GNOME Shell、Ubuntu AppIndicators、dbusMenu.js、GJSのガベージコレクションのエラーも調べます。AppIndicatorはアプリのメニューをシステムトレイに表示する機能です。アプリのウィンドウだけが遅い場合やノードのタイムアウトは別の現象です。
Clash Verge Rev issue #7779 の報告環境は Ubuntu 22.04.5、GNOME 42.9、X11 で、347 個のノード、14 個のプロキシグループ、単一グループに最大 349 個のノードを持つサブスクリプションを使用していました。通常のサブスクリプションでは正常でしたが、大きなものへ切り替えると約一秒後から大量のエラーが繰り返され、デスクトップ全体の動作が重くなりました。
報告者は、トレイに生成される巨大なプロキシグループのサブメニューが原因と推定し、同じシステムとサブスクリプションで A/B テストを行っています。トレイでのプロキシグループ表示を無効にすると再現しませんでした。Issue は現在も Open であり、この説明は再現可能な調査の手掛かりですが、メンテナーが一般的な根本原因として確認したものではありません。
デスクトップ全体、アプリのウィンドウ、通信の問題を区別する
| 症状 | 考えられる原因 | 次の手順 |
|---|---|---|
| 大規模サブスクリプションへの切り替え後、トップバー、ウィンドウ切り替え、デスクトップ全体が重くなる | GNOME Shell または AppIndicator メニューの負荷 | セッションとシステムログを確認する |
| Clash Verge Rev のウィンドウだけが固まる | アプリの UI または WebView | この記事の結論をそのまま当てはめない |
| デスクトップは正常だが、Web ページやノードがタイムアウトする | ノード、DNS、ルール、または TUN | Connections の記録から調べる |
| サブスクリプションを切り替えていなくても周期的に固まる | ほかの拡張機能、GPU、またはデスクトップ環境の問題 | クライアントを終了した状態と比較する |
デスクトップが固まったとき、強制電源断を避けて再起動するには?
デスクトップがまだ応答する場合は、トレイアイコンをクリックしたり 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 をサポートしており、中国語の設定リソースでもこの項目は「既定」「一階層メニュー」「無効」と表示されています。
この変更では、プロキシグループと大量のノードをシステムトレイのメニューへ展開しなくなるだけです。サブスクリプション、ルール、ノード、メインウィンドウ内のプロキシグループは残ります。その後はメインウィンドウからノードを選び、設定確認のために以前のトレイサブメニューを何度もクリックしないでください。
GUI で保存できない場合は、設定にあるアプリディレクトリへの入口から verge.yaml を見つけます。クライアントを完全に終了し、ディレクトリ全体をバックアップしてから、tray_proxy_groups_display_mode を明示的に disable に設定してください。データディレクトリを推測したり、アプリの実行中にファイルを上書きしたりしないでください。
tray_proxy_groups_display_mode: disable同じ大きなサブスクリプションで、デスクトップ応答、主画面のノード選択、実通信を確認する
システム、クライアントのバージョン、サブスクリプションを変えずに、トレイのプロキシグループ表示モードだけを変更します。その後、メインウィンドウから以前に固まった大規模サブスクリプションへ切り替えます。この単一変数の比較は、ノード削除、コア変更、TUN 無効化を同時に行うより原因を判断しやすくします。
検証チェックリスト
- 同じ大規模サブスクリプションへ切り替えても、トップバー、ウィンドウ切り替え、ショートカットキーが応答する
- トレイメニューにプロキシグループとノードのサブメニューが生成されない
- ログに dbusMenu.js、JSAPI during、already disposed のエラーが大量に追加されない
- メインウィンドウで引き続きプロキシグループを確認し、ノードを切り替えられる
- 実際の HTTPS リクエストが成功し、Connections に該当する接続が表示される
- 完全に終了して再起動した後も無効化の設定が保持される
トレイのグループ表示を切っても固まる場合は、ウィンドウ、拡張機能、通信を調べる
トレイのサブメニューは消えたが、アプリのウィンドウだけが応答しない
WebView、描画、アプリログを確認し、GNOME Shell メニューが原因と決めつけないでください。
Clash Verge Rev を終了してもデスクトップが周期的に固まる
ほかの GNOME 拡張機能、GPU、システムログを確認してください。この記事の回避策は適用できません。
デスクトップは正常で、接続だけが失敗する
ノード、DNS、ルール、システムプロキシ、TUN を調べ、巨大なトレイメニューは復元しないでください。
AppIndicator/GJS のエラーが依然として大量に繰り返される
無効化の設定を維持し、ほかのアプリにも巨大なトレイメニューがないか記録して、完全な比較結果をプロジェクトへ報告します。
Ubuntu AppIndicators を先にアンインストールしたり、大規模サブスクリプションを削除したり、デスクトップ環境全体を再インストールしたりしないでください。変更する変数が増え、ほかのアプリにも影響します。まず Clash Verge Rev を終了した状態、通常規模のサブスクリプション、トレイのプロキシグループを無効にした状態の三通りを比較し、どの手順が引き金かを確認してください。
トレイメニューが必要な場合は、動作確認済みの小規模サブスクリプションに戻してから有効にする
どうしてもトレイのプロキシグループメニューを戻す必要がある場合は、まずメインウィンドウで検証済みの小規模サブスクリプションへ切り替え、表示モードを「既定」または「一階層メニュー」へ戻します。大規模サブスクリプションが有効なままメニューを復元しないでください。再び固まった場合は直ちに disable へ戻し、メインウィンドウからノードを選び続けます。
公式へ報告する際は、ディストリビューション、GNOME とセッションの種類、Clash Verge Rev のバージョン、サブスクリプション規模、発生時刻、機密情報を伏せたログ、同じ条件での default と disable の結果を添えてください。サブスクリプションリンク、ノードアドレス、認証情報、完全な設定ファイルはアップロードしないでください。
2026年9月8日時点で issue #7779 は Open のままで、関連付けられた正式な修正はありません。報告で使用されたのは 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 安定版のリリースノート
