Вопрос или проблема
У меня на компьютере два жестких диска (Lion). Один содержит обычную копию ОС, которую я использую каждый день, другой — немного более старую копию ОС, которую я храню в качестве резервной (на случай, если первый диск перестанет работать).
Несколько раздражающая проблема заключается в том, что всякий раз, когда я щелкаю правой кнопкой мыши по файлу и перехожу в “Открыть с помощью”, в каскадном меню отображаются две записи для каждого приложения, которые у меня есть, по одной копии приложения с каждого из дисков. Тот, что на диске для повседневного использования, будет иметь более новую версию, потому что я обновляю их регулярно (Так я могу определить, какое приложение использовать).
Я изучил документацию и кажется, что я могу использовать Launch Services
/System/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/LaunchServices.framework/Versions/A/Support/lsregister
но я не нашел ни одного примера, который бы делал именно то, что мне нужно. Какие-нибудь идеи? Спасибо!
Попробуйте эту процедуру:
- Исключите второй диск из индексации Spotlight (или, если вы хотите сохранить доступ к нему через Spotlight, просто исключите папку
/Applications
) путем перетаскивания его значка в панель конфиденциальности настроек системы Spotlight. Это не позволит Launch Services видеть приложения на диске и повторно регистрировать их на следующем шаге. - Заставьте Launch Services перезагрузить список доступных приложений с помощью команды
/System/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/LaunchServices.framework/Versions/A/Support/lsregister -kill -r -all local,system,user
. Поскольку приложения на втором диске больше не доступны через Spotlight, новая база данных будет содержать только те, что находятся на вашем основном диске. - Перезапустите Finder для восстановления его контекстного меню “Открыть с помощью” (щелкните с опцией правой кнопкой по его значку на Dock для получения опции перезапуска, или выполните
killall Finder
в Terminal).
.
Ответ или решение
Для предотвращения отображения приложений с внешнего жесткого диска в контекстном меню "Открыть с помощью" на вашем компьютере Mac, работающем под управлением операционной системы Lion, следует применить ряд мероприятий. Данная проблема возникает из-за того, что системы автоматически сканируют все доступные тома на наличие приложений, создавая тем самым список приложений для контекстного меню "Открыть с помощью". Для решения этой задачи мы можем воспользоваться функционалом Launch Services и вспомогательными программами системы.
Теория
В операционных системах MacOS система Launch Services отвечает за управление информацией о зарегистрированных приложениях и их ассоциациях с файлами. Когда вы щелкаете правой кнопкой мыши и выбираете "Открыть с помощью", система использует базу данных Launch Services для отображения соответствующего списка приложений. Эта база данных может включать приложения с различных томов, даже если они не используются на постоянной основе.
Пример
Для исключения приложений из другого жесткого диска из этого списка нам потребуется отключить их регистрацию в Launch Services. Один из способов, который позволяет это сделать, включает использование команды lsregister
, предусмотренной в системных фреймворках MacOS. Эта команда позволяет управлять регистрацией приложений, удаляя ненужные записи и обновляя базу данных с учетом текущих настроек.
Применение
-
Исключение тома из индексации Spotlight:
Для начала исключите второй жесткий диск из индексации Spotlight. Это предотвратит повторную регистрацию приложений этого тома в Launch Services. Для этого выполните следующие шаги:
- Откройте
Системные настройки
и выберитеSpotlight
. - Перейдите на закладку
Конфиденциальность
. - Перетащите ваш второй жесткий диск или его папку
/Applications
в список исключений.
- Откройте
-
Обновление базы данных Launch Services:
Теперь необходимо перезагрузить базу данных Launch Services, чтобы она больше не учитывала приложения с исключенного тома:
- Откройте
Терминал
. - Введите следующую команду и нажмите
Enter
:/System/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/LaunchServices.framework/Versions/A/Support/lsregister -kill -r -all local,system,user
- Эта команда отвечает за удаление существующей базы данных и ее перезагрузку, исключая приложения с индексацией в Spotlight.
- Откройте
-
Перезапуск Finder:
После обновления базы данных необходимо обновить контекстное меню в Finder:
- Удерживайте клавишу
Option
и щелкните правой кнопкой мыши на иконке Finder в Dock. - Выберите опцию
Перезапустить
. - Либо введите в
Терминале
:killall Finder
- Удерживайте клавишу
Эта последовательность действий должна позволить скрыть приложения с небазового тома из меню "Открыть с помощью", что, в свою очередь, сделает выбор нужного приложения при открытии файлов более удобным и точным.
Таким образом, вы оптимизируете работу системы, исключая ненужные версии приложений, и упрощаете процесс взаимодействия с файлом на вашем основном жестком диске. Эта методика также позволит вам избежать ошибок и путаницы, связанных с различными версиями программ, находящихся на втором томе, который используется лишь в качестве резервной копии.
Просмотр данных рекомендаций требует систематического подхода и внимания к деталям, что может быть решающим фактором для достижения наилучшего результата в поддержании порядка и функциональности на устройствах под управлением MacOS.