Ускоряем работу iPhoto через Терминал

iPhoto — замечательный менеджер фотографий. Большинство пользователей считают так, пока количество фотографий в их коллекции не перевалит за несколько тысяч. Не секрет, что после этого работа в iPhoto (особенно на не слишком мощном Маке с небольшим объёмом оперативки) граничит с мазохизмом. Что же делать? Мы рассмотрим два решения: официальное и радикальное.

Официальное решение — перестройка медиатеки iPhoto. Но не ищите в меню и в настройках программы такого пункта — всё равно не найдёте. Здесь редкий пример того, когда идеология Apple «Just works» не работает: если вы не знаете, как это сделать, то в жизни не догадаетесь. Нужно запустить iPhoto, предварительно зажав клавиши Alt (Option) и Command. Тогда программа перейдёт в безопасный режим и покажет вам вот такое окошко:

Мы рекомендуем пометить все галочки, кроме второй и пятой. После того, как iPhoto глубоко задумается, скорость работы наверняка возрастёт. Но если вы этого не заметите, либо вам нужен максимально возможный прирост производительности, то вашему вниманию предлагается второе решение — радикальное.

Радикальное оно потому, что оптимизирует базу данных не средствами iPhoto, а на уровне языка запросов SQL. Соответственно, для подобных манипуляций не обойтись без Терминала. Запустите его из папки /Программы/Служебные программы и введите две команды, нажимая после каждой Enter:

cd ~/Pictures/iPhoto\ Library

for dbase in *.db; do sqlite3 $dbase «vacuum;»; done

После того, как в строке Терминала снова появится серый курсор, вы сможете открыть iPhoto и оценить прирост скорости работы.

P.S. Хотя оба решения испробованы десятками тысяч пользователей, не забывайте о бэкапе библиотеки iPhoto (она лежит в папке Изображения). Если что-то пойдёт не так, то ваши драгоценные фотографии могут быть утрачены навсегда, а прирост быстродействия того не стоит.