Выбрать главу

После нескольких вспомогательных заклинаний в командной строке я набрал заветное port install ion3. Неторопливо поскрипывая двумя ядрами своего процессора, iMac прикинул, сколько всего потребуется скачать и скомпилировать, ужаснулся, затянул покрепче ремень - и приступил к делу: необходимые пакеты (а их было немало) автоматически забирались из Сети, распаковывались, компилировались и прописывались в системе без моего вмешательства. Не могу сказать, чтобы установка прошла без сучка без задоринки, однако я и не рассчитывал на быстрое достижение своих целей - они не совсем обычны, а Ion в конечном счете все-таки собрался.

Надо заметить, что Mac OS X использует две параллельные графические подсистемы - собственную проприетарную Aqua и стандартные для мира юникс X’ы (точнее, XFree86). Последние, впрочем, требуется отдельно установить с прилагаемого DVD-диска, но делается это совсем просто. После чего в Mac OS начинают работать программы, даже не адаптированные под Aqua, причем внешний вид их окон почти не отличается от оригинальных - системы работают параллельно и друг другу практически не мешают. По крайней мере, если не менять встроенный оконный менеджер quartz-wm на что-то другое. Но именно это мне и хотелось сделать.

Боюсь, что, взглянув на скриншот слева, поклонники маковского дизайна захотят стереть меня в порошок: да, я действительно заменил красивые и стильные окошки в стиле Aqua на унылые и аскетичные, но весьма функциональные и удобные фреймы Ion’а. И это было только начало.

Они повсюду

Просматривая списки пакетов в MacPorts и Fink, поневоле задумываешься о проникающих способностях свободного софта: здесь есть почти все программы, к которым я привык под Linux. Желающие могут даже установить KDE или Gnome поверх Mac OS X - мне лично очень хотелось посмотреть на то, как будет выглядеть замечательный планетарий KStars, но увы: сборка всех необходимых для этого пакетов несколько противоречила графику использования iMac’а.

Вероятно, повозившись еще немного, я мог бы привести Mac OS X в состояние, в котором ее вообще никто не отличил бы от Linux или FreeBSD. Правда, осмысленность этого подхода остается под вопросом - в конце концов, никто не мешает поставить Linux, зачем мучить и так неплохую ОС? Если бы мне действительно пришлось работать на iMac’е, вероятнее всего я бы попытался использовать часть встроенных возможностей системы вместе с привычным набором софта. А возможно, даже "распробовал" бы какие-то специфические эппловские решения.

Ну а текущий мой опыт работы под Mac OS X подтверждает мнение о том, что любую задачу можно решить практически в любой среде, и выбор операционной системы в скором времени будет таким же делом вкуса, привычки и технологической моды, как и большинство других "выборов" в наш век тотального консьюмеризма. Конечно, как только пользователи Windows обнаружат, что он вообще есть.

Тотальная автоматизация

В Mac OS с незапамятных времен присутствует система, которая тоже должна была бы мне очень понравиться - если бы я успел с ней разобраться. Речь идет об AppleScript - средстве автоматизации различных процессов, чем-то напоминающем столь милые сердцу любого юниксоида shell-скрипты, но предназначенном для работы с любыми приложениями. Однако философия здесь достаточно далека от классического unix way.

Работу с командной строкой в unix можно представить как проектирование конвейеров, обрабатывающих поток информации, обычно в текстовом виде. Мы имеем несколько сотен достаточно специализированных "роботов", каждый из которых умеет делать одно действие, но делает его хорошо. Расставляем их в цепочку, настраиваем каждый и запускаем процесс обработки.

AppleScript устроен несколько иначе. Продолжая аналогию, можно сравнить его с языком, который понятен более сложным и более универсальным роботам ("большим" приложениям типа Adobe Photoshop), с помощью которого можно автоматизировать их работу и наладить между ними взаимодействие. При этом его грамматика очень похожа на грамматику естественного английского (и некоторых других языков), а написанные на нем скрипты напоминают кулинарные рецепты: "положить в кастрюлю три яйца из холодильника на кухне" не сильно отличается от "tell application "Downloader" to download "computerra.ru" to file “test.html”". (Насколько такой синтаксис удобен для разработки реальных программ - вопрос спорный, но после вычурных конструкций большинства языков программирования выглядит, несомненно, впечатляюще.) В версии Mac OS X 10.4 Tiger появилось средство для упрощения разработки скриптов под названием Automator, позволяющее создавать "потоки обработки" (workflow) буквально мышкой, вообще без написания кода, - впрочем, к подобным "прослойкам" я отношусь скептически.