Вопрос или проблема
Я знаю, что существуют решения, позволяющие предотвратить автоматический запуск приложений, таких как iPhoto или его новое замещение, Photos, на основании каждого устройства через интерфейс Photos, а также более комплексный контроль (можно настроить, какое приложение открывать) через Image Viewer.
Но мой вопрос заключается в том, есть ли способ остановить Photos от автоматического запуска в универсальном порядке (независимо от того, какое съемное носитель я подключаю), предпочтительно с помощью команды “default write” или отключения plist launchd или чего-то подобного.
Я пытался разобраться с этим самостоятельно, используя статью от Lifehacker “Как найти скрытые функции в приложениях Mac“.
Я выполнил следующие команды:
strings /Applications/Photos.app/Contents/MacOS/Photos > Desktop/photosstrings.txt
class-dump /Applications/Photos.app/Contents/MacOS/Photos > Desktop/photosclassdump.txt
strings /Applications/Photos.app/Contents/MacOS/PhotosRelauncher > Desktop/photosrelauncherstrings.txt
class-dump /Applications/Photos.app/Contents/MacOS/PhotosRelauncher > Desktop/photosrelauncherclassdump.txt
Вывод вышеуказанного можно посмотреть/скачать через Gist
Я попробовал несколько обещающих строк, таких как:
defaults write com.apple.Photos canAutoLaunch = 0
defaults write com.apple.Photos shouldAutoLaunch = 0
Пока безуспешно. Я сделал:
defaults read com.apple.Photos
Что показывает, что два значения были записаны, но они не делают ничего очевидного и определенно не то, что я хотел.
Я не уверен, какую службу убить для быстрого тестирования, перезагрузка для проверки это несколько черезмерно. Мониторинг активности показывает следующее с “photo” в качестве поискового термина:
Photos Agent
com.apple.CloudPhotosConfiguration
Photolibraryd
com.apple.photomoments
com.apple.photomodel
Photos
Я пробовал выполнить “defaults read” на Photos Agent и так далее, даже экранируя символы и другие вариации, но безуспешно.
Это сработало для меня в Yosemite.
# -currentHost технически не требуется
defaults -currentHost write com.apple.ImageCapture disableHotPlug -bool YES
Это было получено в ответ на похожий вопрос на AskDifferent:
Интересно, что настройка UI в Image Capture ничего не делает, а это работает.
Шаги для отключения автоматического запуска нового приложения Photos на OS X Yosemite (10.10) или El Capitan (10.11):
- Подключите свою камеру или iDevice (iPhone, iPod, iPad и т.д.)
- Откройте приложение Image Capture
- Нажмите на свою камеру или iDevice в разделе “УСТРОЙСТВА” в верхнем левом углу
- Найдите “Подключение этого (устройства) открывает:” в нижнем левом углу
- Нажмите на выпадающий список и выберите “Нет приложения”
На моей машине с OS X 10.9.5 автоматически открывался Image Capture вместо Photos. Но, в любом случае, решение может быть тем же.
Решение, предложенное в принятом ответе, к сожалению, не сработало для меня. Но это сработало:
defaults -currentHost write com.apple.ImageCapture2 HotPlugActionPath ''
Не уверен, нужно ли -currentHost
на самом деле, или будет ли это работать и без него.
Может быть, это зависит от версии ОС.
Из терминала перейдите в /Applications/Photos.app/Contents/MacOS
введите:
sudo mv Photos Photos.old
нажмите Enter. Вам будет предложено ввести пароль администратора.
Это должно полностью отключить Photos. Если вы хотите, чтобы Photos снова заработало, введите
sudo mv Photos.old Photos
Вместо того, чтобы заниматься поисками потенциальных строк, я просто использовал бы Image Capture или RCDefaultApp, чтобы отключить проблему с ‘вставкой медиа’
Установите все на ‘Игнорировать’
& Secrets, чтобы найти “неоткрытые” настройки.
В ответ на пестроту описания этих функций автозапуска, я нашел следующие команды для отключения Photos, которые помогли мне с проблемами с SD-картами камер:
defaults -currentHost write com.apple.ImageCapture disableHotPlug -bool YES
defaults -currentHost write com.apple.Photos disableHotPlug -bool YES
Ответ или решение
Чтобы отключить автоматический запуск приложения "Photos" на Mac OS X Yosemite (10.10) и El Capitan (10.11) при подключении съемных носителей, можно воспользоваться несколькими методами. Хотя существует решение через пользовательский интерфейс приложения "Image Capture", вы можете применить более универсальные команды в терминале для окончательной настройки поведения системы. Вот как это сделать:
Способы отключения автоматического запуска Photos
-
Использование команд terminal
Один из самых эффективных способов — использоватьdefaults
команды, которые управляют различными настройками на системном уровне. Откройте терминал и выполните следующие команды:defaults -currentHost write com.apple.ImageCapture disableHotPlug -bool YES defaults -currentHost write com.apple.Photos disableHotPlug -bool YES
Первая команда отключает автоматический запуск приложения "Image Capture", если оно настроено на автоматическое открытие. Вторая команда выполняет аналогичную функцию для приложения "Photos".
-
Изменение настроек в Image Capture
Для более прямого подхода вы можете воспользоваться приложением "Image Capture", если уж у вас недавно было устройство подключено. Выполните следующие шаги:- Подключите ваше устройство (камера, iPhone и т.д.).
- Откройте приложение "Image Capture" через Launchpad или Spotlight.
- В левой панели выберите ваше устройство под разделом "DEVICES".
- Найдите строку "Connecting this device opens:" в левом нижнем углу окна.
- В выпадающем списке выберите "No application".
Это отключит автоматический запуск приложений при подключении устройства.
-
Обходные пути через системные настройки
Если вам по-прежнему нужно больше контроля над тем, какое приложение открывается при взаимодействии с медиафайлами, вы можете рассмотреть возможность использования сторонних приложений, таких как RCDefaultApp. Оно позволяет установить пользовательские настройки для разных типов медиа. Вы также можете использовать панель настроек Secrets для доступа к скрытым параметрам системы.
Устранение неполадок
Если указанные команды и решения не приводят к ожидаемому результату, вот несколько дополнительных шагов, которые можно предпринять:
- Перезагрузите систему: иногда изменения настроек требуют перезагрузки для вступления в силу.
- Проверьте права доступа: убедитесь, что у вас есть необходимые права для изменения системных настроек через терминал.
- Тестирование с разными носителями: Попробуйте подключить различные устройства после применения вышеперечисленных методов, чтобы убедиться в их эффективности.
Защитите ваши настройки
Помните, что внесенные изменения могут быть временными, особенно после обновлений системы. Поэтому рекомендуется периодически проверять настройки и устанавливать их заново, если это потребуется.
Заключение
Эти методы позволяют отключить автоматический запуск приложения "Photos" на Mac OS X Yosemite и El Capitan и решить проблему с автозапуском приложений. Применение команд в терминале является самым универсальным способом, но не забывайте о возможностях, которые предоставляет интерфейс приложений, и сторонних утилитах.