Ошибка failed to stop anydesk.service: unit anydesk.service not loaded появляется в терминале Linux при попытке остановить службу AnyDesk через systemctl, когда systemd не находит загруженный юнит с таким именем. Чаще всего это происходит при удалении пакета, после неудачной установки или когда служба уже остановлена и выгружена из памяти менеджера systemd.
Сообщение выглядит тревожно, но по сути оно означает одно: systemd не знает о существовании юнита anydesk.service в текущий момент. Это не критический сбой системы, а рассинхронизация между тем, что вы пытаетесь остановить, и тем, что реально зарегистрировано в менеджере служб. Ниже разберём, почему так происходит и как корректно решить ситуацию в зависимости от вашей цели — остановить программу, полностью удалить её или вернуть службу в рабочее состояние.
Что означает сообщение «unit not loaded»
В systemd каждая служба описывается юнит-файлом, который менеджер загружает в память. Статус not loaded говорит о том, что юнит отсутствует в списке активных объектов: либо файл службы удалён, либо systemd ещё не перечитал конфигурацию после изменений, либо служба никогда не была установлена как системный юнит.
Важно различать похожие состояния. not-found означает, что юнит-файл вообще не существует на диске, а not loaded при попытке остановки часто возникает, когда служба уже завершена и выгружена, и systemd не считает нужным держать её в памяти. Поэтому команда sudo systemctl stop anydesk возвращает ошибку, хотя сама программа при этом уже не работает.
⚠️ Внимание: ошибка «unit not loaded» при остановке часто означает, что служба и так не запущена. Прежде чем предпринимать дальнейшие действия, проверьте фактическое состояние процесса — возможно, ничего исправлять не требуется.
Диагностика: проверяем реальное состояние службы
Первый шаг — выяснить, что systemd знает о юните прямо сейчас. Для этого выполните:
systemctl status anydesk.service
systemctl list-unit-files | grep -i anydesk
ps aux | grep -i anydesk
Первая команда покажет статус юнита, вторая — присутствует ли юнит-файл в системе и включён ли он в автозагрузку, третья — запущены ли процессы AnyDesk в обход systemd. Именно сопоставление этих трёх результатов даёт полную картину.
- 🔍 Статус
could not be foundи пустой выводlist-unit-files— юнит-файл удалён, служба не установлена. - 📄 Юнит-файл есть, но статус
inactive (dead)— служба установлена, просто не запущена. - ⚙️ Процесс
anydeskвиден вps, но юнита нет — программа запущена вручную или из пользовательской сессии. - 🔁 Юнит есть, но systemd «не видит» его после установки — требуется перечитать конфигурацию.
Причина 1: служба уже остановлена или выгружена
Наиболее безобидный сценарий: вы повторно выполняете systemctl stop anydesk, а служба к этому моменту уже завершена. Systemd выгружает неактивные юниты без включённого автозапуска, и повторная попытка остановки возвращает failed to stop anydesk.service: unit anydesk.service not loaded.
В этом случае ничего чинить не нужно. Убедитесь через ps aux | grep anydesk, что процессов не осталось, и считайте задачу выполненной. Если процессы всё же висят в памяти, завершите их вручную командой sudo killall anydesk — это корректный способ остановить экземпляры, запущенные вне контроля systemd.
Причина 2: юнит-файл удалён, но systemd держит устаревший кэш
Обратная ситуация возникает при удалении пакета: файлы службы стёрты, но в выводе systemctl ещё мелькают следы юнита, либо, наоборот, свежеустановленный пакет не подхватывается менеджером. В обоих случаях помогает принудительное обновление конфигурации systemd:
sudo systemctl daemon-reload
sudo systemctl reset-failed
Команда daemon-reload заставляет systemd заново прочитать все юнит-файлы с диска, а reset-failed очищает список юнитов, застрявших в состоянии failed. После этого повторите проверку статуса — в большинстве подобных случаев рассинхронизация исчезает.
Причина 3: ошибка возникает при удалении AnyDesk
Частый сценарий — сообщение появляется в выводе пакетного менеджера при деинсталляции: скрипт пакета пытается остановить службу, которая уже выгружена, и печатает ошибку. Само по себе это не прерывает удаление, но оставляет в системе «хвосты», если процесс шёл с перебоями.
Для чистого удаления в дистрибутивах на базе Debian/Ubuntu последовательность выглядит так:
sudo systemctl stop anydesk 2>/dev/null
sudo killall anydesk 2>/dev/null
sudo apt purge anydesk
sudo systemctl daemon-reload
В RPM-системах (Fedora, RHEL, openSUSE) вместо apt purge используется sudo dnf remove anydesk или sudo zypper remove anydesk соответственно. После деинсталляции проверьте, не осталось ли конфигурационных каталогов /etc/anydesk и ~/.anydesk — их можно удалить вручную, если настройки больше не нужны.
☑️ Чистое удаление AnyDesk из Linux
Причина 4: служба не зарегистрирована после установки
Если вы только что установили AnyDesk, а systemctl status anydesk сообщает, что юнит не найден, вероятная причина — установка прошла неполностью или пакетный скрипт не смог зарегистрировать службу. Сначала выполните sudo systemctl daemon-reload и проверьте снова.
Если юнит так и не появился, проверьте наличие файла службы в стандартных каталогах:
ls /etc/systemd/system/ | grep -i anydesk
ls /usr/lib/systemd/system/ | grep -i anydesk
ls /lib/systemd/system/ | grep -i anydesk
Отсутствие файла во всех трёх каталогах означает, что установка пакета завершилась с ошибкой. В этом случае переустановите пакет и внимательно прочитайте вывод менеджера пакетов — там обычно указано, на каком этапе произошёл сбой. Путь к каталогу юнитов может отличаться в зависимости от дистрибутива, поэтому сверяйтесь с документацией вашей системы.
⚠️ Внимание: не создавайте юнит-файл anydesk.service вручную «с нуля», если не уверены в его содержимом. Некорректные параметры запуска могут привести к тому, что служба будет падать в цикле перезапусков. Безопаснее переустановить официальный пакет.
Сравнение типичных сценариев ошибки
| Сценарий | Признак | Решение |
|---|---|---|
| Повторная остановка | Процессов anydesk нет в ps | Ничего не требуется |
| Устаревший кэш systemd | Юнит «висит» после удаления/установки | daemon-reload и reset-failed |
| Удаление пакета | Ошибка в выводе apt/dnf | killall, purge, daemon-reload |
| Запуск вне systemd | Процесс есть, юнита нет | Завершить процесс вручную |
| Неполная установка | Юнит-файл отсутствует на диске | Переустановка пакета |
Почему AnyDesk может работать без системной службы
AnyDesk умеет запускаться как обычное пользовательское приложение — для разовых сессий удалённого доступа служба не обязательна. Системный юнит нужен для постоянного неконтролируемого доступа и автозапуска до входа пользователя в систему. Поэтому отсутствие юнита не всегда означает неисправность: если вы запускаете программу вручную, она работает в пользовательской сессии.
Когда ошибка повторяется: дополнительные проверки
Если после всех шагов сообщение продолжает появляться, проверьте журнал systemd на предмет связанных ошибок: journalctl -u anydesk.service --no-pager | tail -50. Там могут быть записи о попытках запуска, падениях или конфликтах, которые объяснят нестандартное поведение юнита.
Также убедитесь, что в системе не осталось «осиротевших» симлинков автозапуска: команда systemctl list-unit-files | grep anydesk не должна показывать юнит со статусом enabled, если сам файл удалён. При наличии такой записи выполните sudo systemctl disable anydesk и повторите daemon-reload.
Часто задаваемые вопросы
Опасна ли ошибка «unit anydesk.service not loaded» для системы?
Нет. Это информационное сообщение о том, что systemd не нашёл загруженный юнит с указанным именем. На работу остальных служб и системы в целом оно не влияет.
Почему systemctl stop выдаёт ошибку, хотя AnyDesk работает?
Вероятно, программа запущена вручную из графической сессии, а не как системная служба. Проверьте процессы командой ps aux | grep anydesk и завершите их через killall anydesk.
Чем отличается daemon-reload от reset-failed?
daemon-reload перечитывает юнит-файлы с диска, а reset-failed очищает список юнитов в состоянии сбоя. При рассинхронизации после установки или удаления пакетов обычно выполняют обе команды.
Ошибка появляется при каждом удалении пакета — это нормально?
Да, если служба уже была остановлена и выгружена: скрипт деинсталляции пытается остановить её повторно и получает «not loaded». Само удаление при этом обычно завершается успешно — проверьте итоговый статус пакета.
Как полностью убрать AnyDesk из автозагрузки?
Выполните sudo systemctl disable anydesk, затем остановите процессы и при необходимости удалите пакет. После этого проверьте systemctl list-unit-files | grep anydesk — записей быть не должно.