Chkservice — Ncurses-интерфейс для управления 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 -siDebian / Ubuntu:
sudo apt install chkservice(в Ubuntu можно использовать PPA, если необходимо свежая версия):
sudo add-apt-repository ppa:linuxenko/chkservice
sudo apt-get update
sudo apt-get install chkserviceFedora:
dnf copr enable srakitnican/default
dnf install chkserviceСборка из исходников:
git clone https://github.com/linuxenko/chkservice.git
# затем следуйте инструкциям в README проекта для сборки и установкиПримечание: некоторые дистрибутивы могут содержать пакет с другим именем в сторонних репозиториях — проверяйте страницу проекта на GitHub для последних деталей.
Доступные команды и горячие клавиши

(Изображение: окно справки 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 с перечнем 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 успешной, выполните:
- Установка без ошибок (команды возвратили 0).
- Запуск chkservice открывает интерфейс и показывает список unit-ов.
- Горячие клавиши навигации работают (стрелки/k/j, Page Up/Down).
- При запуске под sudo доступны команды s, r, пробел для изменения состояний.
- Любые изменения в состоянии unit-ов отражаются в systemctl status
.
Быстрый чеклист тестирования
- Открыть chkservice и убедиться, что список загружен.
- Переместиться к нескольким unit-ам клавишами k/j.
- Под sudo попытаться стартовать и остановить тестовую службу.
- Включить/отключить unit и сверить с systemctl is-enabled.
- Проверить логи через journalctl для отловa ошибок.
Безопасность и рекомендации
- Не запускайте Chkservice с правами суперпользователя без необходимости. Лучше использовать sudo только для изменения состояния, а интерфейс держать в пользовательском режиме для просмотра.
- Проверяйте, какие unit-ы вы переключаете — отключение системных unit-ов может повредить систему.
- Для автоматизации и массовых изменений используйте systemctl из скриптов, а не интерфейс.
Важно: Chkservice — удобный инструмент, но все критичные изменения делайте с пониманием последствий.
Совет по отладке проблем
Если unit не запускается после управления через Chkservice:
- Выполните:
systemctl status
journalctl -u --no-pager - Проверьте конфигурационные файлы unit-а в /etc/systemd/system или /lib/systemd/system.
- При необходимости восстановите маскировку: systemctl unmask
. - Убедитесь в наличии зависимостей (Requires, Wants) в описании unit-а.
Краткое резюме
Chkservice — быстрый и удобный способ просмотреть и управлять unit-ами Systemd из терминала. Он полезен для повседневных задач и ускоряет администрирование, но не заменяет systemctl и journalctl для детальной диагностики и автоматизации. Используйте его как интерфейс «быстрой помощи» и комбинируйте с классическими инструментами для надёжного управления системой.
Важно: перед массовыми изменениями всегда проверяйте зависимости и логи.
Ключевые команды примера установки и проверки:
chkservice # запустить интерфейс
systemctl status sshd # проверить статус конкретного unit-а
journalctl -u sshd # просмотреть логи unit-аПримечание: подробная документация и обновления расположены в репозитории проекта на GitHub.
Похожие материалы
Несколько аккаунтов Skype: Multi Skype Launcher
Журнал для работы: повысить продуктивность
Персональные звуки уведомлений на Android
Скачивание шоу Hulu для офлайн‑просмотра
Microsoft Start: персонализированная новостная лента