> ## Documentation Index
> Fetch the complete documentation index at: https://docs.ipmideck.com/llms.txt
> Use this file to discover all available pages before exploring further.

# 対話型コンソール

> 実行中の ipmideck サーバーを端末から操作します。詳細度、セッション、サーバー、ダッシュボード URL、バインドアドレスのための単一キーアクションを備えた、ヘッダー固定のオペレーターコンソール。

端末で ipmideck を起動すると、対話型のオペレーターコンソールが描画されます。バナーとヘルプバーの
固定ヘッダーが、ライブでスクロールするログの上にあります。すべてのアクションは単一のキー押下で、
メニューもマウスもありません。コンソールはサーバーと並んでプロセス内で実行されるので、表示される
ものはあなたがいるマシンのライブ状態です。

<Note>
  コンソールは実際の **対話型端末** にのみ表示されます。stdin と stdout の両方が TTY でなければ
  なりません。Docker、systemd の下、または stdout がパイプ/リダイレクトされる場合、ipmideck は
  コンソールを完全にスキップし、プレーンなスクロールログを書くだけです。[コンソールが表示される場所](#コンソールが表示される場所) を参照してください。
</Note>

## 見た目

コンソールは 1 つの全画面ビューです。常に見える固定ヘッダーが、その下でスクロールするライブログの
上にあります。

<Frame caption="起動直後のコンソール: バナーとヘルプバーが上部に固定されたまま、ログの末尾がその下でスクロールします。">
  <img src="https://mintcdn.com/weremind/AEscsmW5B2jdwuWI/console/home.png?fit=max&auto=format&n=AEscsmW5B2jdwuWI&q=85&s=3f038250e1d7e5a038118c86ef7e2d5a" alt="ipmideck interactive console showing the banner, help bar, status line, and the scrolling log panel" width="1107" height="714" data-path="console/home.png" />
</Frame>

ヘッダーは決してスクロールしません。新しいログ行はその下のパネルに表示され、最新の行は常に画面に
保たれます。アクションには単一のキーを押します。すべてが、起動したばかりのサーバーに対して
プロセス内で起こります。

## ヘッダー

画面の上部は決してスクロールしない固定ヘッダーです。上から下へ次のように積み重なります。

* ipmideck バナー。
* **ヘルプバー**: すべてのアクションキーとその機能。
* **ステータス行**: セッションのライブ状態。
* コンパクトなクレジット行 (作者、バージョン、ライセンス)。

ヘッダーの下の本体はスクロールするログの末尾です。最新の行は常に画面に保たれるので、新しく
表示された URL や確認が下端で切れることはありません。

### ステータス行

ステータス行は `|` で区切られた 3 つのライブフィールドを表示します。

* **Verbosity**: 現在のログレベル (`INFO`、`DEBUG`、`WARNING`)。
* **Clients**: 現在接続されているダッシュボードクライアントの数。
* **last**: 最後に押したアクションキー。即時の視覚的フィードバックとして。

## アクションキー

すべてのアクションは 1 回のキー押下です。ヘルプバーがそれらすべてを一覧表示します。

| キー    | アクション                      |
| ----- | -------------------------- |
| `v`   | ログの **詳細度** を切り替え          |
| `c`   | 接続中の **セッション** サブビューを開く    |
| `s`   | 設定済み **サーバー** サブビューを開く     |
| `u`   | ダッシュボード **url** をログに表示     |
| `g`   | **更新** チェック (ローカルバージョンを出力) |
| `b`   | **バインド変更** エディターを開く        |
| `r`   | サーバーを **再起動**              |
| `q`   | **終了**、またはサブビューからログビューに戻る  |
| `ESC` | **戻る**、サブビューからログビューに戻る     |

矢印キー、ファンクションキー、ナビゲーションキーは消費されて無視され、アクションと衝突したり
キー押下としてカウントされたりすることは決してありません。

### v: 詳細度

`v` は実行時のログレベルを固定の 3 ステップループで切り替えます。

```
INFO → DEBUG → WARNING → INFO
```

`INFO` がデフォルトです。`DEBUG` はより多く、`WARNING` はより少なく表示します。変更はセッションの
残りに対して即座に有効になり、ステータス行がそれに合わせて更新されます。

<Note>
  詳細度の切り替えは **実行中** のレベルのみを変更します。次の起動時には、設定 (または
  `IPMIDECK_LOGGING_LEVEL` 環境変数) のレベルが再び勝ちます。[設定](/ja/configuration) を参照してください。
</Note>

### c: セッション

`c` は **Connected sessions** サブビューを開きます。現在接続されているダッシュボードクライアントの
読み取り専用テーブルで、列は次のとおりです。

* **IP**
* **Connected since**
* **User-Agent**

`q` または `ESC` を押してログビューに戻ります。

<Frame caption="Connected sessions サブビュー (キー c)、接続された各ダッシュボードクライアントごとに 1 行。">
  <img src="https://mintcdn.com/weremind/AEscsmW5B2jdwuWI/console/connections.png?fit=max&auto=format&n=AEscsmW5B2jdwuWI&q=85&s=ae63f8235c95bf3cde8110d80407eb27" alt="Connected sessions table showing IP, Connected since, and User-Agent columns" width="1100" height="427" data-path="console/connections.png" />
</Frame>

### s: サーバー

`s` は **Configured servers** サブビューを開きます。ipmideck が通信するよう設定されている BMC の
読み取り専用テーブルで、列は次のとおりです。

* **Name**
* **Host**
* **Status**

`q` または `ESC` を押してログビューに戻ります。

<Frame caption="Configured servers サブビュー (キー s)、各 BMC とそれがオンラインかどうかを一覧表示。">
  <img src="https://mintcdn.com/weremind/AEscsmW5B2jdwuWI/console/servers.png?fit=max&auto=format&n=AEscsmW5B2jdwuWI&q=85&s=92eecf88dc0eab22e2cb10e44d9c8dc3" alt="Configured servers table showing Name, Host, and Status columns with online and offline servers" width="1107" height="366" data-path="console/servers.png" />
</Frame>

### u: url

`u` はダッシュボード URL (`scheme://host:port`) をログ本文に表示します。サーバーがワイルドカード
アドレス (`0.0.0.0`、`::`、または空) にバインドされている場合、URL は `127.0.0.1` に書き換えられ、
ブラウザーで実際に開けるようになります。`http://0.0.0.0:3000` はリッスンアドレスであり、
ナビゲート可能なものではありません。

<Frame caption="キー u はダッシュボード URL をログの下部に出力し、到達可能なアドレスに書き換えます。">
  <img src="https://mintcdn.com/weremind/AEscsmW5B2jdwuWI/console/url.png?fit=max&auto=format&n=AEscsmW5B2jdwuWI&q=85&s=dac700c68e0cdb9472732dcc4ba41373" alt="The console log with the dashboard URL printed at the bottom after pressing u" width="1103" height="713" data-path="console/url.png" />
</Frame>

### g: 更新

`g` はローカルバージョンと、オンライン更新チェックが pip リリースに付属するという注記を出力します。
**ネットワーク呼び出しは行いません**。ipmideck はオフラインのままです。

### r: 再起動

`r` はクリーンなプロセス内再起動を実行します。ipmideck はコンソールを解体し、`config.yaml` を
再読み込みし、新たに開始します。新しいアドレスを適用するには、[バインド変更](#b-バインド変更) の
編集後に使用してください。

### q / ESC: 終了と戻る

* サブビュー (`sessions` または `servers`) からは、`q` と `ESC` の両方がログビューに戻します。
* ログビューからは、`q` がクリーンな終了をトリガーし、サーバーは正常にシャットダウンします。

## b: バインド変更

`b` はバインド変更エディターを開きます。これは、入力中にヘルプバーを置き換えるインラインの
`host:port` プロンプトです。ヘッダーは現在のバインドを読み取り専用の `current: host:port` ラベルとして
表示し、空の `new:` フィールドを表示するので、入力した値はすぐに表示され、既存のものと混同される
ことはありません。

<Frame caption="バインド変更エディター (キー b): ヘルプバーが現在のバインドと空の新しい host:port プロンプトに置き換わります。">
  <img src="https://mintcdn.com/weremind/AEscsmW5B2jdwuWI/console/bind.png?fit=max&auto=format&n=AEscsmW5B2jdwuWI&q=85&s=6ef6d976c814450f3758213d3b0f1b76" alt="The change-bind editor showing the current bind address and an empty new field with apply, cancel, and delete key hints" width="1099" height="219" data-path="console/bind.png" />
</Frame>

エディター内のキー:

* **Enter**: 入力した `host:port` を適用。
* **ESC**: 何も変更せずにキャンセル。
* **Backspace**: 最後の文字を削除。
* 任意の印刷可能文字、バッファーに追加。

入力は `host:port` で、空でないホストと、範囲 **1–65535** の整数であるポートでなければなりません。
有効な入力では、ipmideck は新しいバインドを確認し、再起動が必要であることを思い出させます (`r` を
押します)。無効な入力では、`Invalid host/port` を報告し、何も変更されません。

<Warning>
  バインド変更の編集は **ライブではありません**。設定に書き込まれ、再起動後にのみ有効になります。
  `r` を押して適用してください。そして優先順位を覚えておいてください。次の起動時の
  `IPMIDECK_SERVER_HOST` / `IPMIDECK_SERVER_PORT` 環境変数や明示的な `--host` / `--port` フラグは、
  コンソールが永続化したものを上書きします。[設定](/ja/configuration) を参照してください。
</Warning>

## コンソールが表示される場所

対話型コンソールは実際の TTY に依存します。ipmideck は stdin と stdout の **両方** が対話型端末で
ある場合にのみそれを描画します。そうでない場合は、バナーとプレーンなスクロールログに退化し、
キーリスナーをインストールしないので、非 TTY で何かがビジースピンすることはありません。

つまり、コンソールは ipmideck を端末で直接実行するときに表示されます。

<CodeGroup>
  ```powershell PowerShell theme={null}
  ipmideck
  ```

  ```cmd cmd theme={null}
  ipmideck
  ```

  ```bash bash theme={null}
  ipmideck
  ```
</CodeGroup>

次の場合には表示され **ません**。

* **Docker** の下で実行: コンテナーは uvicorn を直接起動し、コンソールパスに到達しません。
  プレーンなコンテナーログ (`docker logs`) が得られます。
* **systemd** または stdout が端末でない任意のサービスマネージャーの下で実行。
* stdout を **パイプまたはリダイレクト** (例: `ipmideck > server.log`): stdout はもはや TTY ではありません。

すべての非 TTY のケースで、サーバーは通常どおり実行され、同じデフォルト `0.0.0.0:3000` にバインド
します。ライブコンソールの代わりにプレーンなログが得られるだけです。

<Note>
  `ipmilink` は `ipmideck` の後方互換エイリアスで、両方が同じコンソールを起動します。
</Note>

## 次のステップ

* [ipmideck の実行](/ja/running): 起動、配信、バインド優先順位のルール。
* [CLI](/ja/cli): すべてのサブコマンドとフラグの詳細。
* [設定](/ja/configuration): バインドアドレス、詳細度、ポーリング間隔を設定します。
* [インストール](/ja/installation): Docker または pip でインストールします。
