[Из песочницы] Как я не смог включить MacBook из-за удаления TeamViewer

image

Вчера я столкнулся с совершенно неожиданным стечением обстоятельств во время очередного обновления MacOS. Я вообще очень люблю обновления ПО, всегда хочется посмотреть на новые возможности той или иной программы. Когда летом я увидел, что можно скачать и поставить MacOS 10.15 Catalina Beta, я сознательно не стал этого делать, понимая, что beta может содержать значительное количество багов, а MacBook мне нужен ежедневно по работе. И вот вчера я увидел долгожданное уведомление.

image

Я с радостью нажал кнопку «Обновить сейчас» и стал ждать загрузки. Пока у меня скачивалось обновление, я решил сделать что-нибудь «полезное», а именно поудалять какой-нибудь ненужный хлам с ноута. И в этот раз под категорию хлам у меня попал TeamViewer.

Проблема тут вовсе не в TeamViewer.
Я его раньше использовал для удаленной помощи родителям, ну тут они вроде как сами хорошо справляются, и TeamView мне оказался не нужен. Плюс меня начала раздражать одна вещь, а именно то, что он, судя по всему, висел у меня в объектах входа на маке, хотя в системных настройках в разделе «Пользователи и группы» во вкладке «Объекты входа» его не было.

Как бы там ни было, я решил его удалить. И для этой задачи у меня под руку подвернулась известная многим утилита — «Clean my mac». Я очень люблю эту программу, но в этот раз она меня подвела.

image

Я как обычно зашел в раздел «Деинсталлятор» и выбрал там TeamViewer для дальнейшего удаления. Все прошло хорошо и как раз подоспела загрузка обновления MacOS. Далее все шло как обычно. Установка продолжалась некоторое время, мак несколько раз перезагружался и вот долгожданный момент. Завершающий этап установки и завершение настройки. Я сижу и жду входа в систему, и что я вижу:

image

И вот тут у меня начались проблемы. Естественно сначала я нажал раз пять OK, но это ни к чему не привело. Следующий шаг, пару раз перезагрузиться, что тоже не помогло! Дальше начал рассуждать. Вспомнил о том, что я только что удалил TeamViewer и вспомнил про объекты входа, и понял что поступил плохо. Дальше последовал час нагугливания решения, и первое что подвернулось под руку, было решение, предполагающее удаление всех остатков приложения вручную. Как выяснилось, информация по объектам входа разложена по каталогам LaunchAgents, LaunchDaemons и StartupItems, которые разбросаны по системе, под разные права доступа.

Для того чтобы их удалить нужен был доступ к жесткому диску. Есть несколько вариантов, об этом довольно много написано в сети. Я выбрал вариант использования терминала, запустив его из режима восстановления системы.
Там тоже было не все гладко, так как диск у меня зашифрован. Но это меня не остановило. Пройдя поиском по всем файлам, и удаляя все подряд, похожее на TeamViewer по названию, я думал что решил проблему, но это было не так! После перезагрузки все оставалось по прежнему. Здесь надо оговориться, так как, у кого-нибудь может возникнуть логичный вопрос: Почему я не запустил систему через безопасный режим? Ведь он отключает объекты входа для пользователя? — отвечу: система не запускалась в безопасном режиме!

Спустя еще один час этой возьни нашлось рабочее решение. Оно заключалось в том, что надо поместить TeamViewerAuthPlugin.bundle на прежнее место, а именно в каталог /Library/Security/SecurityAgentPlugins/. И это меня спасло! Спасибо моему другу, который посреди ночи развернул локальный сервер и через ngrok раздал мне этот файл, который я успешно скачал из терминала с помощью curl`a.

Итог этой истории: относитесь внимательно к удалению приложений в MacOS!

P.S. Catalina вроде в порядке, все работает.

© Habrahabr.ru