# トラブルシューティング {#troubleshooting}

このページでは、Mac デバイスや管理コンソールに表示される内容ごとに、その対処方法を説明します。

## デバイスが未保護または要対応になっている {#repair}

利用者自身で解消できる問題がある場合、パネルにボタンが表示されます。たとえば Mac デバイスがデバイス証明書を信頼しなくなると、パネルが赤くなって理由が表示され、**CAを再信頼…** ボタンが表示されます。

<img src={require("../features/states-not-protected-panel.png").default} alt="CAを再信頼ボタンが表示された、未保護のデバイスのメニューバーパネル" width="356" className="zoomable" />

上記パネル内の各ボタンの動作は、下記の表のとおりです。

| ボタン                               | 表示される条件                                                 | 動作                                                                                                                                                        |
| ------------------------------------ | -------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------- |
| **修復…**                            | システム拡張が承認されていない、または有効になっていない       | セットアップのチェックリスト（**機能拡張の承認**、**ネットワークフィルタ**、**インストールの検査**）を開く。各ステップの完了に合わせて更新される            |
| **ネットワークフィルタをオンにする** | ネットワークフィルタが切られている                             | ネットワークフィルタをオンに戻すよう macOS に求める。フィルタが切れている間、インストールは検査されずにレジストリへ直接届く                                 |
| **エグレスロックを有効にする…**      | エグレスロックが無効で、ポリシーがそれを求めている             | コンテンツフィルタの許可を macOS にもう一度求める                                                                                                           |
| **セットアップを完了…**              | デバイス証明書が信頼されておらず、セットアップが終わっていない | 管理者の確認を経て、macOS にデバイス証明書を信頼させる                                                                                                      |
| **CAを再信頼…**                      | 信頼していたデバイス証明書が、あとから信頼されなくなった       | 管理者の確認を経て、macOS にデバイス証明書をもう一度信頼させる                                                                                              |
| **今すぐチェックイン**               | デバイスが登録済み                                             | その場で再検査して結果を表示する。何かを直したあと、数秒で反映を確認できる                                                                                  |
| **診断情報をコピー**                 | 常時（アプリウィンドウの **ヘルプ** ページ）                   | 診断情報をクリップボードにコピーする。トークンと秘密鍵は取り除かれる                                                                                        |
| **管理者に送信**                     | 常時（アプリウィンドウの **ヘルプ** ページ）                   | 同じ診断情報を組織にアップロードし、管理者が[管理コンソールで確認](/docs/ja/t/endpoint/features/managing-devices.md#diagnostics)できるようにする                             |
| **Takumi Agent を開く**              | 常時                                                           | [アプリウィンドウ](/docs/ja/t/endpoint/features/app-window.md)を開く。パネルと同じ情報を広いレイアウトで表示する。パネルの **コンテナ** 行からは、コンテナページを直接開ける |

「この Mac は保護されていません」の通知にある **修復…** からも、同じチェックリストが開きます。改ざんの痕跡によって赤になっている場合は、[改ざんの痕跡が報告された](#tamper)を参照してください。

## パネルにプログラム名が表示された {#panel-messages}

Mac デバイス上のプログラムがデバイス証明書を信頼していない場合、メニューバーのパネルの **ヘルス** の中の **ランタイム信頼** の行にプログラム名が表示され、影響を受けるエコシステムは **Guard** の中で「ランタイム信頼」と表示されます。ブロックされたコンテナは、**コンテナ** の行とパネルのヘッダーに表示されます。表示ごとに求められる対処は次の表のとおりです。

| パネルの表示                                                 | 対処                                                                                                                                                                                                                                                          |
| ------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `<プログラム> · 古い <ターミナル> ウィンドウ` / `古いシェル` | 新しいターミナルウィンドウを開いて、もう一度実行する                                                                                                                                                                                                          |
| `<プログラム> · セットアップ前に起動`                        | アプリを終了して開き直す                                                                                                                                                                                                                                      |
| `<プログラム> · サービスがセットアップ前から稼働`            | そのサービスを再起動する                                                                                                                                                                                                                                      |
| `<プログラム> · シェルが起動ファイルを読み飛ばし`            | シェルがシステムの起動ファイルを読んでいない。zsh の場合は `~/.zshenv` に `unsetopt GLOBAL_RCS`、`NO_RCS`、別の場所を指す `ZDOTDIR` がないか確認し、その行の後に `[ -r /etc/takumi-agent-endpoint/env.sh ] && . /etc/takumi-agent-endpoint/env.sh` を追加する |
| `<ファイル> を確認してください`                              | そのファイルが[信頼設定の環境変数](/docs/ja/t/endpoint/development.md#host-tools)を上書きしている。その行を削除するか、`/etc/takumi-agent-endpoint/env.sh` にある値に設定する                                                                                                  |
| `<プログラム> がデバイス証明書を拒否しました`                | プログラムを再起動する。deno の場合は `DENO_TLS_CA_STORE=system` を設定する                                                                                                                                                                                   |
| `<ランタイム> でブロック`                                    | コンテナが証明書を拒否した。[コンテナと VM](/docs/ja/t/endpoint/development.md#containers) を参照                                                                                                                                                                              |

## セットアップを終えたのに保護されていない {#still-not-protected}

初回インストールの直後は、チェックリストの 3 つの項目がすべて完了していても、エグレスロックの起動が終わるまでセットアップウィンドウに **「この Mac はまだ保護されていません」** と表示されることがあります。この表示は自動的に解消します。少し時間をおいてから、もう一度[メニューバー](/docs/ja/t/endpoint/quickstart.md#verify-menubar)で確認してください。それでも赤い行が残っている場合は、その行のボタンを使って対処してください（[前述の表](#repair)を参照）。

## 管理コンソールでデバイスが削除済みになっている {#removed}

削除済みのデバイスの詳細には **エージェントが端末上で削除されました** という行があり、その値が `<経路> · <日時>` の形式で表示されます。管理サーバ側で削除の経緯を識別し、管理コンソール上のデバイス詳細にて表示します。表示される経路の種類は次のとおりです。

| 表示                           | 何が起きたか                                                       |
| ------------------------------ | ------------------------------------------------------------------ |
| システム全体のアンインストール | [アンインストールのコマンド](/docs/ja/t/endpoint/features/uninstall.md)が実行された |
| ユーザー単位のアンインストール | `--system` を付けずにアンインストールが実行された                  |
| アプリからの無効化             | アプリが自身のシステム拡張を無効化した                             |
| システム拡張が無効化されました | システム拡張がなくなった。たとえばシステム拡張がオフにされた場合   |
| 経路不明                       | このバージョンの管理コンソールが認識できない経路だった             |

削除済みのデバイスへの対応については[デバイスの状態](/docs/ja/t/endpoint/features/states.md#removed)を参照してください。

## 改ざんの痕跡が報告された {#tamper}

Mac デバイスでは、デバイスの保護状態の報告が改ざんされている旨がパネルに表示されます。管理コンソールでは、デバイスが **保護なし** と表示され、詳細の **改ざんの痕跡** の欄に検知された内容が表示されます。

調査が完了するまで、その Mac デバイスは侵害されているものとして扱ってください。Mac デバイスの状況を確認した後、[痕跡を承認](/docs/ja/t/endpoint/features/managing-devices.md#acknowledge)してください。承認しても痕跡が報告され続ける場合は、[デバイスをデコミッション](/docs/ja/t/endpoint/features/managing-devices.md#decommission)し、デバイスを調査してください。

## アンインストールのコマンドが何も削除せずに止まった {#uninstall-stops}

[アンインストールのコマンド](/docs/ja/t/endpoint/features/uninstall.md)は、最初にシステム拡張を取り外します。これに失敗した場合、コマンドは何も削除せずに理由を表示して止まります。原因ごとの対処は次の表のとおりです。このコマンドは何度実行しても問題ありません。

| 原因                                 | 対処                                                                     |
| ------------------------------------ | ------------------------------------------------------------------------ |
| デスクトップに誰もログインしていない | Mac のデスクトップにログインし（画面共有でもよい）、もう一度実行する     |
| アプリが既に削除されている           | 同じパッケージをもう一度インストールしてから、コマンドをもう一度実行する |
| macOS の取り外しの確認が拒否された   | コマンドをもう一度実行し、確認を承認する                                 |
