Гид по технологиям

Chkservice — Ncurses-интерфейс для управления Systemd

• 5 min read • Linux • Обновлено 29 Nov 2025
Chkservice — управление Systemd через терминал
Chkservice — управление Systemd через терминал

Что такое Chkservice

Chkservice — это ncurses-приложение, которое отображает доступные unit-ы Systemd в интерактивном терминальном интерфейсе. Оно упрощает повседневные задачи администрирования служб: запуск, остановка, перезагрузка и включение/отключение unit-ов, при этом минимизируя набор команд вручную.

Краткое определение: Systemd unit — объект (служба, таймер, сокет и т. п.), которым управляет systemd.

Важно: Chkservice не заменяет глубинную отладку systemd и не предназначен для сложных сценариев с зависимостями — это инструмент для быстрой повседневной работы.

Установка

Пакеты доступны для основных дистрибутивов. Ниже — проверенные команды установки. Выполняйте коллекцию команд с правами суперпользователя там, где это требуется.

Arch Linux:

git clone https://aur.archlinux.org/chkservice.git
cd chkservice
makepkg -si

Debian / Ubuntu:

sudo apt install chkservice

(в Ubuntu можно использовать PPA, если необходимо свежая версия):

sudo add-apt-repository ppa:linuxenko/chkservice
sudo apt-get update
sudo apt-get install chkservice

Fedora:

dnf copr enable srakitnican/default
dnf install chkservice

Сборка из исходников:

git clone https://github.com/linuxenko/chkservice.git
# затем следуйте инструкциям в README проекта для сборки и установки

Примечание: некоторые дистрибутивы могут содержать пакет с другим именем в сторонних репозиториях — проверяйте страницу проекта на GitHub для последних деталей.

Доступные команды и горячие клавиши

Диалог справки Chkservice

(Изображение: окно справки Chkservice с перечнем горячих клавиш и описаниями.)

Запустите chkservice в терминале командой:

chkservice

Перечень основных клавиш управления внутри интерфейса:

  • Перемещение курсора вверх: стрелка вверх или k
  • Перемещение курсора вниз: стрелка вниз или j
  • Пролистать страницу вверх: Page Up или b
  • Пролистать страницу вниз: Page Down или f
  • Показать справку: ?
  • Выйти: q

Если вы запускаете Chkservice с правами администратора (например, через sudo), доступны дополнительные действия над unit-ами:

  • s — начать/остановить выбранный unit
  • r — перезагрузить или обновить unit
  • Пробел — включить или отключить unit (enable/disable)

Важно: команды изменения состояния unit-ов требуют привилегий. Если вы запускаете программу без sudo, вы увидите статусы, но действия над unit-ами будут недоступны.

Интерфейс и что он показывает

Главный экран Chkservice

(Изображение: основной экран Chkservice с перечнем unit-ов, колонками статусов и описаний.)

Основные элементы экрана:

  • Левая колонка — маркеры состояния unit-ов:
    • [x] — включён (enabled)
    • — выключен (disabled)
    • [s] — static unit (не управляется enable/disable)
    • -m- — masked (закрыт)
  • В центре — имя unit-а
  • Справа — расположение или краткое описание
  • Внизу — счётчик отображаемых unit-ов и подсказки по клавишам

Список разбит по типам: Services, Timers, Sockets, Slices, Mounts, Automounts, Swaps, Paths, Scopes, Devices. Каждый блок сортирован по алфавиту.

Цвета маркеров могут отличаться в зависимости от статуса (активен/неактивен/ошибка). Это помогает быстро находить проблемные unit-ы.

Когда Chkservice полезен и когда нет

Когда подходит:

  • Быстрая навигация по службам на сервере или рабочей станции.
  • Удобно для администраторов, которым нужно массово просмотреть статусы и быстро действовать.
  • Для операторов, которым не хочется помнить длинные systemctl-команды.

Когда не подходит:

  • При необходимости глубокого дебага зависимостей unit-ов (требуются systemctl status, journalctl и анализ юнит-файлов).
  • Для автоматизации в скриптах — здесь лучше использовать systemctl и API systemd.
  • При управлении удалёнными узлами без терминального доступа (требуется SSH или orchestration).

Альтернативы и сравнение

Короткая справка по альтернативам:

  • systemctl (CLI): мощный, поддерживает все сценарии, обязателен для скриптов и отладки.
  • htop-подобные визуальные менеджеры процессов: показывают процессы, но не управляют systemd unit-ами напрямую.
  • Web-интерфейсы и панели управления (Cockpit): дают GUI и дистанционное управление, но требуют дополнительных служб.

Решение: используйте Chkservice для интерактивной работы в терминале; systemctl/Journald — для отладки и автоматизации; Cockpit — для удалённой администрирования через веб.

Руководство по ролям: что делать администратору и пользователю

Для администратора:

  • Запустите chkservice под sudo.
  • Проверьте блок Services на предмет неактивных критичных unit-ов.
  • Используйте s для запуска/остановки, r для перезагрузки, пробел для включения/отключения.
  • После изменений проверяйте логи командой journalctl -u .

Для обычного пользователя:

  • Запускайте chkservice без sudo для просмотра статусов.
  • При обнаружении проблем сообщайте администратору с указанием названия unit-а и его статуса.

Критерии приёмки

Чтобы считать установку и базовую проверку Chkservice успешной, выполните:

  1. Установка без ошибок (команды возвратили 0).
  2. Запуск chkservice открывает интерфейс и показывает список unit-ов.
  3. Горячие клавиши навигации работают (стрелки/k/j, Page Up/Down).
  4. При запуске под sudo доступны команды s, r, пробел для изменения состояний.
  5. Любые изменения в состоянии unit-ов отражаются в systemctl status .

Быстрый чеклист тестирования

  • Открыть chkservice и убедиться, что список загружен.
  • Переместиться к нескольким unit-ам клавишами k/j.
  • Под sudo попытаться стартовать и остановить тестовую службу.
  • Включить/отключить unit и сверить с systemctl is-enabled.
  • Проверить логи через journalctl для отловa ошибок.

Безопасность и рекомендации

  • Не запускайте Chkservice с правами суперпользователя без необходимости. Лучше использовать sudo только для изменения состояния, а интерфейс держать в пользовательском режиме для просмотра.
  • Проверяйте, какие unit-ы вы переключаете — отключение системных unit-ов может повредить систему.
  • Для автоматизации и массовых изменений используйте systemctl из скриптов, а не интерфейс.

Важно: Chkservice — удобный инструмент, но все критичные изменения делайте с пониманием последствий.

Совет по отладке проблем

Если unit не запускается после управления через Chkservice:

  1. Выполните:
systemctl status 
journalctl -u  --no-pager
  1. Проверьте конфигурационные файлы unit-а в /etc/systemd/system или /lib/systemd/system.
  2. При необходимости восстановите маскировку: systemctl unmask .
  3. Убедитесь в наличии зависимостей (Requires, Wants) в описании unit-а.

Краткое резюме

Chkservice — быстрый и удобный способ просмотреть и управлять unit-ами Systemd из терминала. Он полезен для повседневных задач и ускоряет администрирование, но не заменяет systemctl и journalctl для детальной диагностики и автоматизации. Используйте его как интерфейс «быстрой помощи» и комбинируйте с классическими инструментами для надёжного управления системой.

Важно: перед массовыми изменениями всегда проверяйте зависимости и логи.


Ключевые команды примера установки и проверки:

chkservice              # запустить интерфейс
systemctl status sshd   # проверить статус конкретного unit-а
journalctl -u sshd      # просмотреть логи unit-а

Примечание: подробная документация и обновления расположены в репозитории проекта на GitHub.

Поделиться: X/Twitter Facebook LinkedIn Telegram
Автор
Редакция

Похожие материалы

Несколько аккаунтов Skype: Multi Skype Launcher
Программное обеспечение

Несколько аккаунтов Skype: Multi Skype Launcher

Журнал для работы: повысить продуктивность
Productivity

Журнал для работы: повысить продуктивность

Персональные звуки уведомлений на Android
Android.

Персональные звуки уведомлений на Android

Скачивание шоу Hulu для офлайн‑просмотра
Стриминг

Скачивание шоу Hulu для офлайн‑просмотра

Microsoft Start: персонализированная новостная лента
Новости

Microsoft Start: персонализированная новостная лента

Как изменить имя в Epic Games быстро
Гайды

Как изменить имя в Epic Games быстро