Процесс запуска приложений в OS X довольно прост и не требует большого количества усилий от пользователя, но все же бывают случаи, когда хочется, чтобы те или иные программы запускались самостоятельно, без каких-либо действий с вашей стороны. К примеру, вы хотите, чтобы почтовый клиент открывался при входе в систему, или у вас есть какое-то специфическое приложение, которое вы обычно сами запускаете по пятницам в 9 утра. Или возможно вам бы хотелось, чтобы какая-то программа запускалась при подключении внешнего диска. Вариантов может быть множество и большинство из них довольно легко реализовать средствами OS X.
Объекты входа
Самый распространенный способ автоматического открытия программ или документов в OS X – это настройка их запуска при входе пользователя в систему. Сделать это можно двумя способами.
- Щелкните правой кнопкой мыши по нужной вам программе в Dock и выберите пункт Параметры - Открывать при входе.
- Откройте меню Системные параметры - Пользователи и группы - Объекты входа. В этом окне вы можете добавлять и удалять объекты, которые должны (или не должны) запускаться при входе в систему.
Объекты входа часто используются для запуска фоновых приложений и дополнительных элементов меню программ сторонних разработчиков, но вы можете использовать их для запуска практически всего чего угодно.
Действия папок
Второй способ автоматического открытия программ и документов – это встроенные действия папок. Принцип их действия сводится к тому, что при изменении содержимого той или иной папки запускается выбранный вами скрипт. Причем именно вы выбираете на какие изменения и каким образом нужно реагировать.
Чтобы настроить действия папок необходимо запустить Редактор скриптов из папки «Утилиты», и в меню Редактор скриптов - Настройки - Основные поставить галочку напротив пункта «Отображать меню скриптов».
В результате в панели меню у вас появится новый элемент, открыв который необходимо выбрать пункт «Configure Folder Actions» в подменю «Folder Actions». В открывшемся окне поставьте галочку, чтобы активировать эту функцию и добавьте нужные вам папки нажав на кнопку «+» (плюс) под левым столбцом. После этого нажмите кнопку «+» (плюс) под правым столбцом, чтобы выбрать действие, которое вы с ней хотите связать. Например, можно добавить весьма удобный встроенный скрипт «add—new item alert», который будет уведомлять вас, если в папке появятся новые элементы.
Того же результата можно добиться, если выбрать пункт «Attach script to folder», указать нужный скрипт, а затем папку, к которой вы хотите его прикрепить. После этого в меню скриптов необходимо выбрать пункт «Enable Folder Actions».
Вы также можете взять за основу упомянутый выше скрипт для создания своего собственного, который бы запускал то или иное приложение, или вообще создать скрипт с нуля при помощи Редактора скриптов или Automator (выбрав «Действие папки» при создании нового проекта).
К примеру, можно сделать так, чтобы при добавлении в папку файлов PDF, они бы автоматически открывались в просмотре.
- Запустите Automator из папки «Утилиты» и выберите «Действие папки» при создании нового проекта.
- Вверху окна выберите папку, изменение содержимого которой вызывало запуск скрипта.
- Перенесите в рабочую область элемент «Фильтровать объекты Finder» из списка слева.
- В настройках элемента установите значения таким образом, чтобы они соответствовали фразе «Найти файлы, в которых все следующие условия выполняются: тип совпадает с PDF», как показано на изображении.
- Перенесите из списка слева в рабочую область элемент «Открыть объект Finder» и в настройках элемента выберите приложение Просмотр.
После сохранения проекта все добавленные в выбранную вами папку файлы PDF будут автоматически открываться в Просмотре. По аналогии вы также можете настроить открытие других файлов и запуск других приложений, а также копировать, перемещать, удалять, переименовывать файлы и многое, многое другое. Возможности автоматизации в Mac OS X ограничиваются в основном только вашим воображением.
Календарь
Еще один любопытный способ автоматического запуска приложений – использование напоминаний в Календаре.
- Создайте новое событие в Календаре и включите для него напоминание.
- В графе «Предупреждение» выберите пункт «Настроить».
- Выберите тип напоминания “Открыть файл”.
- Укажите документ, приложение, скрипт или программу созданную в Automator, которую вы бы хотели запустить.
- Укажите дату и время запуска.
В результате, в указанное вами время откроется выбранный вами файл или программа. Использование Календаря очень удобно, так как позволяет быстро и легко менять дату напоминаний и дублировать их при необходимости.
Элементы Launch Agents
Описанные выше способы позволяют добиться реализации практически любого сценария автоматического запуска программ. Однако бывают случаи, когда вам может потребоваться больше контроля над запуском того или иного процесса, особенно если они фоновые и должны запускать через определенные промежутки времени (как в случае со скриптом для проверки Time Machine) или при определенных условиях (например, при подключении внешнего диска).
В этом случае могут помочь специальные файлы, которые называются Launch Agents. Они позволяют передать системному сервису, который отвечает за запуск процессов, инструкцию относительно нужной вам программы. Создание этих файлов может оказаться довольно сложным, но это зависит от сложности самих задач, которые перед ними поставлены. К тому же для упрощения процесса существуют специальные приложения, такие как Lingon или LaunchControl, о работе с которыми мы уже рассказывали в одной из предыдущих статей, и все же рассмотрим еще один пример с использованием LaunchControl.
Допустим вы хотите, чтобы при подключении внешних носителей автоматически запускалась Дисковая утилита.
- Запустите программу LaunchControl.
- В открывшемся окне первым делом выберите пункт «User Agents» в ниспадающем меню в левом верхнем углу.
- Нажмите кнопку «+» (плюс) в нижней части левого столбца, чтобы создать новый файл.
- Дайте ему имя, которое бы описывало, что это за файл и для чего он создан, например, «start.disk.utility».
- В раздел «Program to run» вставьте следующий текст:
/usr/bin/open -W "/Applications/Utilities/Disk Utility.app"
Вместо ввода конкретно этого текста вы можете просто перетащить любую другую программу, которую вам нужно запускать автоматически, в раздел «Program to run», но стоит учитывать, что перед путем к программе обязательно должна присутствовать запись/usr/bin/open -W
. - По умолчанию, к каждой новой записи уже добавлено условие запуска «Run at load», указывающее на то, что процесс будет запускаться при загрузке системы (или при входе в учетную запись). В нашем же случае его стоит удалить, нажав на крестик, а затем добавить в качестве условия подключение внешнего диска, перетащив элемент «StartOnMount» из списка справа в рабочую область.
- Для того чтобы сохранить наш файл и загрузить его в систему нажимаем кнопку «Load». В открывшемся окне снова нажимаем «Load», затем «Save and Load».
В результате при подключении внешнего диска или флешки у вас автоматически будет открываться окно Дисковой утилиты.
За оригинальный материал, который использовался в качестве основы при написании этой статьи в очередной раз говорим спасибо Кристоферу Кесслеру.