Перейти к основному содержанию
Когда вы запускаете ipmideck в терминале, он отрисовывает интерактивную консоль оператора: закреплённый заголовок с баннером и панелью помощи над живым прокручивающимся журналом. Каждое действие, это одно нажатие клавиши, без меню, без мыши. Консоль работает в процессе рядом с сервером, поэтому то, что вы видите, это живое состояние машины, на которой вы находитесь.
Консоль появляется только на настоящем интерактивном терминале, и stdin, и stdout должны быть TTY. Под Docker, systemd или когда stdout перенаправлен, ipmideck пропускает консоль полностью и просто пишет обычные прокручивающиеся журналы. См. Где появляется консоль.

Как это выглядит

Консоль это один полноэкранный вид: закреплённый заголовок, который вы всегда видите, над живым журналом, который прокручивается под ним.
ipmideck interactive console showing the banner, help bar, status line, and the scrolling log panel
Заголовок никогда не прокручивается. Новые строки журнала появляются в панели под ним, и самая новая строка всегда остаётся на экране. Вы нажимаете одну клавишу для действия; всё происходит в процессе против сервера, который вы только что запустили.

Заголовок

Верх экрана это фиксированный заголовок, который никогда не прокручивается. Он складывается, сверху вниз:
  • Баннер ipmideck.
  • Панель помощи: каждая клавиша действия и что она делает.
  • Строка состояния: живое состояние сессии.
  • Компактная строка благодарностей (автор, версия, лицензия).
Тело под заголовком это прокручивающийся хвост журнала. Самая новая строка всегда остаётся на экране, поэтому только что появившийся URL или подтверждение никогда не обрезается снизу.

Строка состояния

Строка состояния показывает три живых поля, разделённых |:
  • Verbosity: текущий уровень журнала (INFO, DEBUG или WARNING).
  • Clients: количество подключённых сейчас клиентов панели.
  • last: последняя клавиша действия, которую вы нажали, как немедленная визуальная обратная связь.

Клавиши действий

Каждое действие это одно нажатие клавиши. Панель помощи перечисляет их все:
КлавишаДействие
vПереключить детализацию журнала
cОткрыть подвид подключённых сессий
sОткрыть подвид настроенных серверов
uПоказать url панели в журнале
gПроверка обновлений (печатает локальную версию)
bОткрыть редактор change-bind
rПерезапустить сервер
qВыйти или вернуться к виду журнала из подвида
ESCНазад, вернуться к виду журнала из подвида
Клавиши стрелок, функциональные и навигационные клавиши поглощаются и игнорируются, они никогда не конфликтуют с действием и не считаются нажатием клавиши.

v: детализация

v переключает уровень журнала во время выполнения по фиксированному трёхступенчатому циклу:
INFO → DEBUG → WARNING → INFO
INFO это значение по умолчанию. DEBUG показывает больше; WARNING показывает меньше. Изменение вступает в силу немедленно на остаток сессии, и строка состояния обновляется соответственно.
Переключатель детализации меняет только работающий уровень. При следующей загрузке уровень из вашей конфигурации (или переменной окружения IPMIDECK_LOGGING_LEVEL) снова побеждает. См. Конфигурацию.

c: сессии

c открывает подвид Connected sessions, таблицу только для чтения с клиентами панели, подключёнными в данный момент, со столбцами:
  • IP
  • Connected since
  • User-Agent
Нажмите q или ESC, чтобы вернуться к виду журнала.
Connected sessions table showing IP, Connected since, and User-Agent columns

s: серверы

s открывает подвид Configured servers, таблицу только для чтения с BMC, с которыми ipmideck настроен общаться, со столбцами:
  • Name
  • Host
  • Status
Нажмите q или ESC, чтобы вернуться к виду журнала.
Configured servers table showing Name, Host, and Status columns with online and offline servers

u: url

u показывает URL панели (scheme://host:port) в теле журнала. Если сервер привязан к адресу-маске (0.0.0.0, :: или пустому), URL переписывается на 127.0.0.1, чтобы его действительно можно было открыть в браузере, http://0.0.0.0:3000 это адрес прослушивания, а не навигируемый.
The console log with the dashboard URL printed at the bottom after pressing u

g: обновление

g печатает локальную версию и заметку о том, что онлайн-проверка обновлений поставляется с выпуском pip. Он не делает сетевого вызова, ipmideck остаётся офлайн.

r: перезапуск

r выполняет чистый перезапуск в процессе: ipmideck разбирает консоль, перечитывает config.yaml и запускается заново. Используйте его после правки change-bind, чтобы применить новый адрес.

q / ESC: выход и назад

  • Из подвида (sessions или servers) и q, и ESC возвращают вас к виду журнала.
  • Из вида журнала q запускает чистый выход, сервер завершается корректно.

b: change-bind

b открывает редактор change-bind, встроенный запрос host:port, который заменяет панель помощи, пока вы печатаете. Заголовок показывает текущую привязку как метку только для чтения current: host:port и пустое поле new:, поэтому значение, которое вы печатаете, появляется немедленно и никогда не путается с существующим.
The change-bind editor showing the current bind address and an empty new field with apply, cancel, and delete key hints
Клавиши внутри редактора:
  • Enter: применить введённый host:port.
  • ESC: отменить, ничего не меняя.
  • Backspace: удалить последний символ.
  • Любой печатный символ, добавить в буфер.
Ввод должен быть host:port с непустым хостом и портом, который является целым числом в диапазоне 1–65535. При корректном вводе ipmideck подтверждает новую привязку и напоминает, что перезапуск требуется (нажмите r). При некорректном вводе он сообщает Invalid host/port и ничего не меняется.
Правка change-bind не действует немедленно, она записывается в конфигурацию и вступает в силу только после перезапуска. Нажмите r, чтобы применить её. И помните о приоритете: переменная окружения IPMIDECK_SERVER_HOST / IPMIDECK_SERVER_PORT или явный флаг --host / --port при следующей загрузке переопределяет то, что сохранила консоль. См. Конфигурацию.

Где появляется консоль

Интерактивная консоль зависит от настоящего TTY: ipmideck отрисовывает её только тогда, когда и stdin, и stdout являются интерактивными терминалами. Когда они не являются, она деградирует до баннера плюс обычные прокручивающиеся журналы и не устанавливает слушатель клавиш, поэтому ничто не крутится вхолостую на non-TTY. Это означает, что консоль появляется, когда вы запускаете ipmideck напрямую в терминале:
ipmideck
Она не появляется, когда:
  • Запуск под Docker: контейнер запускает uvicorn напрямую и никогда не достигает пути консоли; вы получаете обычные журналы контейнера (docker logs).
  • Запуск под systemd или любым менеджером служб, где stdout не является терминалом.
  • Перенаправление stdout (напр. ipmideck > server.log): stdout больше не TTY.
В каждом случае non-TTY сервер всё равно работает нормально и привязывается к тому же значению по умолчанию 0.0.0.0:3000; вы просто получаете обычные журналы вместо живой консоли.
ipmilink это обратно совместимый псевдоним для ipmideck, оба запускают одну и ту же консоль.

Следующие шаги

  • Запуск ipmideck: запуск, обслуживание и правила приоритета привязки.
  • CLI: каждая подкоманда и флаг подробно.
  • Конфигурация: установите адрес привязки, детализацию и интервалы опроса.
  • Установка: установите с помощью Docker или pip.