Як автоматично витягти зовнішні диски перед відходом Мака до сну ~ macOS
Зовсім не готовий був зіткнутися з такою проблемою, але вона. Приніс ноутбук, підключив живлення, монітор, шнурок USB. У моніторі хаб, до нього підключена клавіатурата зовнішній диск. Сонце село, відправив макбук у сон, відключив монітор, живлення та висмикнув шнурок USB.
Проблема перша – ноут прокидається при відключенні USB. Зовнішній монітор не включає, але індикатор, що «сонно дихає», робить вдих і з хвилину знову світиться постійно.
Проблема друга - при наступному включенні на вас чекає повідомлення - диск витягнутий неправильно.
З одного боку, комп'ютер міг заснути ненадовго, або ніхто його нікуди нести не збирався, коротше відключати проводи не планувалося.
З іншого боку, сплячий ноут - те ж вимкнений (я свій не пам'ятаю коли вимикав по-справжньому). Не треба йому прокидатися при відключенні проводів, ой не треба. Ну і лаятись потім на невірно витягнутий диск теж.
Найрозумніше рішення - відключати зовнішні диски під час засинання, підключати при пробудженні. Автоматично. Непомітно. Але Маки цього не вміють. Найгірше, Automator не можна навчити виконувати ці фокуси — немає тригерів onsleep/onwake.
Рішення, які я розглядав і що зрештою обрав.
Jettison (AppStore, 66 рублів)
Jettison автоматично виготовляє зовнішні диски з вашого Mac до ваших комп'ютерів ходити до шпильки і remounts them when it wakes.

autoEJECT (99 руб, AppStore)
Обидві програми, за умови їхньої працездатності, виглядають надмірно жирним рішенням для простого завдання. Мені ні до чого ці іконки у рядку системного меню, налаштування, випадки…
SleepWatcher, безкоштовно
Це daemon AKA «демон», процес, якиймоніторить сон/пробудження/простий/неспання комп'ютера і дозволяє виконувати різні штуки при виникненні цих подій.
Заряджаємо термінал (у мене iTerm2) і вперед.
Вміст скриптів, які виконують всю роботу
Якщо у вас два внутрішніх диски, як у моєму випадку, потрібно в кожному файлі поміняти disk[1-9] на disk[2-9], оскільки внутрішні накопичувачі витягувати і підключати насильно ні до чого.
Перевірив, чи працює. Перший рядок — Мак засинає, другий — прокидається.
Інша ситуація, трохи інші завдання, ті ж методи і набагато докладніший виклад - Automatically eject external disks on sleep and reconnect after on OS X.