PDF-файлы всегда открываются в Photoshop на Macbook Pro 2015, даже когда я меняю программу по умолчанию

Без моего вмешательства PDF-файлы просто открываются в Photoshop. Я ни разу не говорил им открывать в Photoshop, но компьютер решает изменить программу по умолчанию на Photoshop. Я меняю программу по умолчанию обратно на Preview, но через день она снова меняется на Photoshop.

У меня такая же проблема с Grab и Preview. Компьютер хочет, чтобы Grab обрабатывал jpg, и я постоянно меняю его на Preview, и каким-то образом он снова меняется без моего участия.

РЕДАКТИРОВАТЬ: в основном единственные шаги, которые я пробовал, - это щелкнуть правой кнопкой мыши файл и перейти к получению информации, затем изменить приложение по умолчанию на предварительный просмотр, а затем нажать «изменить все». Я также сделал: щелкните правой кнопкой мыши файл и выберите «открыть с помощью» предварительного просмотра, но это также не изменит его навсегда.

Добро пожаловать в Ask Different. Можете ли вы отредактировать свой вопрос, чтобы включить шаги, которые вы предпринимаете для изменения программы по умолчанию?

Ответы (1)

Поскольку 1.) Вы сталкиваетесь с постоянными и незапрошенными изменениями сопоставления типов файлов и 2.) Как стороннее программное обеспечение, так и системные утилиты Mac OS устанавливаются — опять же, без запроса и настойчиво — в качестве приложений первого реагирования для основных типов файлов, я поэтому полагайте, что у вас повреждена база данных Launch Services. (Хотя существует известная проблема с Adobe CC2017, являющаяся причиной .pdfоткрытия файлов в Photoshop, а не в Preview.app, это не объясняет поведение Grab, делающего то же самое с .jpgфайлами.)

[ПРИМЕЧАНИЕ: следующие абзацы взяты с сайта The Eclectic Light Co. Я включаю их здесь, чтобы предоставить резервный набор инструкций для попытки решения, если ссылка не работает, но я рекомендую посетить реальный сайт, если это возможно.]

Нет простого способа перестроить базу данных Launch Service, если только у вас нет такой утилиты, как OnyX, которая включает это как функцию. Перезапуск в безопасном режиме (с зажатой клавишей Shift) очищает немало кешей, но не затрагивает базу данных Launch Services. Даже если кто-то скажет вам, где найти файлы, вы не можете просто выкинуть их в корзину.

Инструмент, который поддерживает базу данных Launch Services lsregister, находится в папке /System/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/LaunchServices.framework/Versions/A/Support.

У него нет справочной страницы, но ввод /System/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/LaunchServices.framework/Versions/A/Support/lsregister -hв терминале вернет информацию об использовании.

Чтобы сбросить базу данных Launch Services, вы должны использовать ее -killопцию. Вы хотите, чтобы это применялось через рекурсивное сканирование каталогов, поэтому вам также нужна эта -rопция. Целесообразно наблюдать за его ходом в подробном режиме ( -vопция), и вам нужно указать домены, к которым это будет применяться. Как правило, рекомендуется следующая команда:

/System/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/LaunchServices.framework/Versions/A/Support/lsregister -kill -r -domain u -domain s -domain l -v

к которому некоторые добавляют возможность сканирования местоположений по умолчанию для заполнения базы данных, -seed.

Есть некоторые проблемы с этой командой. Он охватывает три домена — системный, локальный и пользовательский, что делает его очень обширным, возможно, даже больше, чем требуется. Он также использует синтаксис, отличный от того, который указан для команды в Sierra 10.12.6. Вместо этого я предлагаю вам попробовать в первую очередь

/System/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/LaunchServices.framework/Versions/A/Support/lsregister -kill -r -v -apps u

Это должно делать свое дело. Если это не так, расширьте домены с помощью/System/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/LaunchServices.framework/Versions/A/Support/lsregister -kill -r -v -apps u,s,l

и, наконец, попробуйте/System/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/LaunchServices.framework/Versions/A/Support/lsregister -kill -r -v -all u,s,l

который должен стереть все из базы данных.

Также не исключено, что вам придется использовать старый синтаксис с/System/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/LaunchServices.framework/Versions/A/Support/lsregister -kill -r -v -domain u

Загвоздка со сбросом базы данных Launch Services заключается в том, что вашему Mac потребуется время, чтобы постепенно ее перестроить, в течение которого его функции будут работать гораздо медленнее. Однако через некоторое время он будет перестроен, и правильное приложение должно быть связано с каждым типом документа.



Что касается того, как база данных была повреждена, есть десятки способов. Вот пример, связанный с недавней причиной (не обязательно связанной с вашей): версия Firefox повреждает базу данных ассоциаций файлов MacOS .