Михаил Овчинников

Homebrew

macOS Homebrew Менеджер пакетов

Homebrew — менеджер пакетов для Mac OS X, который упрощает установку открытого программного обеспечения. Этот проект имеет открытый исходный код, написан на языке Ruby, а его автором является Max Howell.

Зачем нужны менджеры пакетов?

Чтобы понять преимущества использования менеджеров пакетов, рассмотрим типичный процесс сборки из исходников и установки программы в unix-мире на примере Wget.

Сначала потребуется скачать исходный код Wget и распаковать архив. Так как программы пишутся под разные платформы, то перед компиляцией необходимо собрать информацию об используемой операционной системе и подготовить исходники к сборке на ней. Делается это при помощи скрипта конфигурации командой ./configure. Точка и слэш ставятся для того, чтобы указать, что скрипт находится в текущей папке. По умолчанию unix-системы не ищут исполняемые файлы в текущей директории (в целях безопасности).

Компиляция программы осуществляется командой make. Установка, которая заключается (по умолчанию) в перемещении скомпилированного бинарного файла в директорию /usr/local/bin, производится командой make install. После этого можно набрать в консоли wget и увидеть, как запустилась программа.

Нельзя не отметить, что это довольно рутинный процесс, особенно если устанавливать более сложное ПО с большим количеством зависимостей. Чтобы упростить процедуру установки были созданы менеджеры пакетов, которые сводят инсталляцию необходимого ПО к одной команде в консоли. Практически каждый современный дистрибутив Linux поставляется с такой утилитой.

В мире Mac такая практика не столь распространена, так как большинство приложений распространяется через AppStore, либо устанавливается простым «перетягиванием» app-файла в папку Applications. Тем не менее полезно иметь под рукой такой инструмент, особенно если вы перешли на OS X из мира Linux и ощущаете себя некомфортно без привычных утилит вроде mc, wget и т. д.

Обычно в пакетах содержатся уже скомпилированные версии программ. В Homebrew так же некоторые приложения распространяются в собранном виде, но все же стоит отметить, что большинство программ собирается из исходных кодов. Сценарий сборки и установки определяется так называемыми формулами, которые могут быть отредактированы в соответствии с личными потребностями, что обеспечивает высокую гибкость.

Как установить Homebrew?

Для установки Homebrew нужно лишь выполнить в терминале следующую команду:

ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"

Homebrew использует версию Ruby, которая идёт в поставке с OS X, поэтому не потребуется устанавливать дополнительных компонентов для запуска скрипта.

Сначала скрипт спрашивает разрешение на продолжение установки, нужно нажать Enter чтобы согласиться. Далее, необходимо будет ввести пароль суперпользователя, для того чтобы разрешить модификацию системных файлов. Затем установщик проверит наличие утилит командной строки разработчика (xcode-select, необходимы для компиляции) и при их отсутствии попытается установить. Последним этапом будет непосредственная установка исполняемых файлов Homebrew.

Процесс установки Homebrew

Проверить, что программа установилась корректно, можно при помощи команды для диагностики brew doctor.

Использование

Обновить Homebrew: brew update.

Показать список установленных приложений: brew list.

Поиск приложений осуществляется командой search.

brew search mc

Установка приложения выполняется командой install.

brew install mc

Удаление приложения - remove.

brew remove mc

Сайт проекта
Репозиторий на GitHub

Альтернативы Homebrew

  • MacPorts — развитие проекта DarwinPorts, инициативы по портированию unix-приложений на платформу Darwin, которая является основой Mac OS X. Используется для сборки и установки приложений с открытым исходным кодом;
  • Fink - ещё один проект по портированию открытых unix-программ на OS X. Использует dpkg и APT.

Applescript: язык автоматизации для macOS

macOS Applescript

AppleScript — скриптовый язык, который используется для управления системой, приложениями и файлами в Mac OS X. Наиболее общий принцип применения следующий: открыть приложение и передать ему набор инструкций для выполнения. Причем это не обязательно приложения из стандартного комплекта поставки операционки, многие сторонние приложения также предоставляют API для обращения к ним через AppleScript.

Для редактирования и запуска скриптов есть небольшой редактор, который находится в Application > Utilites > AppleScript Edtior. Редактор довольно минималистичный и не имеет богатых возможностей, но для написания небольших скриптов его обычно оказывается вполне достаточно. Условно его можно разделить на две части: в первой пишется непосредственно сам код, а в нижней части, показывается результат выполнения твоих трудов. Если вдруг возникнет необходимость сделать более или менее серьезный проект, то удобнее будет воспользоваться какой-нибудь сторонней разработкой, например Script Debugger.

Азы

Applescript имеет очень простой синтаксис, который был максимально приближен к обычному английскому языку, давай быстро пробежимся по основным операторам, чтобы понимать, как нам выполнять самые базовые вещи.

Чтобы задать переменную нужно воспользоваться оператором set. Делается это так:

set <имя переменной> to <значение>

Имя переменной не должно совпадать с зарезервированными словами (beep, say и т.д.), а также нельзя начинать имя переменной с цифры.

Условия задаются при помощи оператора if, как и в других языках:

set a to true
if a is true then
     say "That's true"
else
     say "That's false"
end if

Оператор say произносит переданный ему текст. Вместо «is» можно писать привычный знак равенства.

Задать цикл можно оператором repeat. В самом простом случае достаточно написать:

repeat 2 times
     beep
end repeat

Этот цикл 2 раза воспроизведет стандартный системный звук. Если нужны итерационные циклы, то их можно задать используя until или while, например:

set i to 1
repeat until i is 10
     beep
     set i to i + 1
end repeat

Арифметический цикл можно задать при помощи with таким образом:

repeat with i from 1 to 20 by 2
     say i
end repeat

Я думаю, понятно, что этот код будет произносить числа от 1 до 20 с шагом 2. Сейчас я быстро прошелся по основным «школьным» азам, чтобы было понятно что это за язык и с чем его едят. Как видишь, разработчики старались делать его таким, чтобы пользователи с разным уровнем подготовки могли «говорить» с компьютером практически человеческим языком. Я не буду подробно останавливаться на всех особенностях синтаксиса, если возникнут вопросы, ты всегда сможешь найти ответы в документации на сайте Apple.

Диалоги с пользователем

AppleScript не был бы так интересен, если бы не возможность легко создавать различные диалоговые окна, что дает нам возможность сделать наши скрипты более user-friendly.

Давай начнем с вызова стандартного системного диалога выбора файла. Делается это при помощи команды choose file.

set filePath to choose file of type {"PDF", "MOBI"} with multiple selections allowed

В данном примере, будет вызван диалог выбора файла в котором включена фильтрация по типу (pdf или mobi) и разрешен выбор нескольких файлов. Если ты выполнишь этот код, то заметишь, что путь к файлу запишется, как alias:

System:Users:UserName:file.pdf   

Такой формат понимают стандартные приложения в Mac OS, но часто требуется использовать привычный нам POSIX-вид, делается это легко:

set posixFilePath to POSIX path of filePath

В переменную posixFilePath путь запишется в виде: /Users/UserName/file.pdf.

Аналогичным способом выбирается папка при помощи choose folder. Чтобы показать свое, кастомное сообщение пользователю, нужно воспользоваться командой:

display dialog "Твое сообщение" with title "Заголовок"

Если не было передано никаких параметров, то будет выведен стандартный диалог с кнопками «ОК» и «Cancel». Тут стоит отметить, что после вывода диалога скрипт приостановит выполнение, и продолжит выполняться после нажатия «ОК», а вот после «Cancel» выполнение скрипта будет прервано с соответствующей ошибкой «User canceled.». Если такое поведение в твои планы не входит, то самое простое, — воспользоваться обработчиком ошибок:

try
     display dialog "Нажми Cancel"
on error
     display dialog "Ты нажал Cancel :)"
end try

Естественно, может такое случиться, что потребуются другие кнопки, кроме «Cancel» и «OK», и ты конечно же волен добавить любые, которые захочешь (но не больше трех). Делается это следующим образом:

display dialog "Are you sure?" buttons {"Don't know", "Not sure", "Maybe"}

А как быть, если требуется дать пользователю выбрать что-нибудь из списка? Легко:

choose from list {"1", "2", "3"} with title "Choose it!" with prompt "Choose somethng:"

В случае если нужно будет просто ввести какие-либо данные воспользуйся такой строчкой:

display dialog "What is your name?" default answer "

Диалоги с софтом

Как я отметил в начале, главным козырем AppleScript является возможность автоматизации действий в различных приложениях, что дает практически безграничные возможности по его применению. Для того чтобы передать команду приложением нужно воспользоваться блоком tell.

tell application "Имя приложения"
     -- Действия
end tell

Например, очистим корзину:

tell application "Finder"
     empty trash
end tell

Чтобы узнать какие действия доступны для того или иного приложения, в AppleScript имеется средство, которое называется Dictionary, оно доступно в меню File > Open dictionary.

Также имеется возможность передачи команд на удаленный компьютер. Для начала, нужно включить опцию Remote Apple Events на машине, где требуется выполнить какие-либо действия в System Preferences > Sharing. Теперь, чтобы выполнить код на другой машине, нужно использовать следующую конструкцию:

tell application "Имя приложения" of machine "epic://ip-адрес"

Будь готов, что для выполнения действия на удаленной машине скрипт запросит логин и пароль, так что если ты потираешь руки, чтобы творить беспредел, придется придумать что-то еще :).

Командная строка

После прочтения предыдущих двух разделов у тебя наверняка должна была зародиться мысль о том, что неплохо было бы соединить удобство AppleScript с мощью shell-скриптов. Первое, что приходит в голову, — воспользоваться знаниями из предыдущего раздела и скормить необходимые команды приложению Terminal.

tell application "Terminal"
     do script "ping -c 1 ya.ru"
end tell

Такой способ имеет право на существование и в отдельных случаях он может быть даже предпочтительнее, но есть другой вариант: воспользоваться командой do shell script, при помощи которой можно также выполнять консольные команды, что гораздо более удобно, так как дает возможность записать результат выполнения команды в переменную и оперировать с ней дальше средствами AppleScript.

«60 Mountain Lion tips» — David Sparks, Brett Terpstra

macOS Книги

«60 Mountain Lion tips» — совместная книга Дэвида Спаркса, автора популярного блога «Macsparky», и Бретта Терпстра, создателя «Marked» и автора многих статей в журнале «Macworld». Нетрудно понять из названия, что перед нами книга в стиле Tips&Tricks, рассчитанная большей частью на начинающих пользователей. Уверен, что и опытные пользователи смогут найти для себя что-то интересное, но платить 7$ за пару советов в этом случае через чур расточительно на мой взгляд.

Изначально книга была выпущена в формате iBooks для iPad, но есть возможность ее купить и в формате PDF. Я приобрел ее во втором варианте, так как не являюсь обладателем упомянутого яблочного устройства, и стоит заметить, что это не совсем удобный способ чтения книги. Потому что на деле это не совсем книга, а сборник скринкастов с небольшими аннотациями. Это идеально смотрится в формате iBooks, а вот просто PDF-файл и 500 МБ видео впридачу, как-то портит впечатление.

Что касается содержания, то советы варьируются от совершенно очевидных вещей вроде «используйте приложение „Заметки“ потому что это удобно», до довольно интересных манипуляций, а также кратких обзоров всяких известных в кругах маководов программ вроде Hazel и Geektool. Честно говоря, 90% советов из представленных в книге, можно легко отыскать на тематических сайтах, но начинающий пользователь, может счесть более удобным получить все и сразу, пусть даже за весьма ощутимые деньги.

Ниже несколько небольших трюков и хоткеев, которые мне захотелось выделить.

Если в Finder выделить файл и нажать «пробел», откроется удобный просмотровщик.

Клавиша ⌥ (Option) обладает особенной магией. Если покликать по иконкам в менюбаре с этой зажатой клавишей то можно обнаружить «альтернативные меню».

Если менять громкость с зажатой комбинацией ⇧+⌥ , то можно делать это с меньшим шагом.

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

Наконец, если у вас открыто много окон, на рабочем столе, то запуская очередное приложение можно кликнуть по нему с зажатой комбинацией ⌘+⌥ , тогда появится окно только этого приложения, а остальные будут скрыты.

Удобные горячие клавиши в Finder:

  • ⌘+D  — сделать дубликат файла
  • ⌘+⌥+V  — переместить файл (очень часто знакомые, только пересевшие на Mac задают вопрос, как «вырезать» файлы, а не копировать).
  • ⌘+⌫ - шорткат для удаления файлов (тоже частый вопрос начинающих из серии «почему не работает клавиша Del?»)

В Spotlight есть клевый фильтр kind:, который позволяет искать файлы по типу (не по расширению, а именно по типу: документы, музыка и т.д.).

В стандартном приложении Mail, если вы нечаянно нажали Reply вместо Reply All, не нужно создавать сообщение заново, чтобы исправить ошибку, а просто нажать комбинацию ⌘+⇧+R.

Насчет того, стоит ли покупать книгу или нет, я не могу дать однозначного ответа. С одной стороны, я потраченных денег не жалею, так как узнал много интересных мелочей, которые теперь буду использовать постоянно. С другой стороны, повторюсь вся представленная информация в книге может быть без труда найдена в интернете, и если вы давно работаете с Mac и знаете большинство горячих клавиш, умеете работать с Spotlight и т.д. и хотите просто расширить кругозор, то я считаю можно не тратить деньги, а просто ограничиться чтением хороших тематических блогов подобных «OS X Daily».

Сайт книги

Mac Mini (mid 2011)

macOS Девайсы

Благодаря небольшой цене, Mac Mini по-праву называют «входным билетом в мир Apple». Не скажу, что я сильно стремился в этот мир попасть, но ознакомиться было и желание, и возможность, поэтому я приобрел себе этого «малыша» для подробного изучения платформы и дальнейшей работы.

Комплектация

Как и другая продукция компании, Mac Mini поставляется в скромной, маленькой коробочке.

Помимо самого компьютера в ней лежит переходник с HDMI на DVI, шнур питания заморского происхождения, инструкция и традиционные наклеечки. Зачем нужны наклейки, я понятия не имею, наверное для каких-то особенно диких фанатов продукции Apple.

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

Железо

Думаю, бессмысленно описывать внешний вид, уже по-моему есть устойчивое выражение «стиль Apple», когда минималистично, красиво и качественно.

Корпус сделан из цельного куска алюминия, внизу имеется пластиковая крышка, которая выпирает на где-то на пол-сантиметра в результате чего компьютер, как будто немного «парит» над столом. Спереди находится глазок ИК-порта и малюсенький индикатор питания, который горит бледным белым светом. Основные разъемы и щель вентиляции находятся сзади.

Характеристики у малыша не сказать, что очень скромные, но и ничего сверхъестественного. Я не мелочился и взял более дорогую комплектацию, ту которая за 800 долларов. Она может похвастаться следующими цифрами:

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

Отдельной, приятной особенностью является наличие встроенного динамика. Аудиофилы конечно криво усмехнутся, но в целом звучит он очень чисто и качественно, гораздо лучше любого ноутбука или дешевых китайских колонок за 150р, но, естественно, хорошую аудиосистему им не заменить.

Софт

У меня, как у человека использующего Windows с 1997 года, переезд на новую операционную систему вызывал определенные опасения. Беспокоило не только отсутствие привычного софта, но и совместимость с остальным моим «пролетарским» железом: клавиатура, мышь, монитор, так как на покупку фирменной периферии в моем мелком, студенческом кармане денег уже не осталось.

К счастью, мои опасения не оправдались. OS X спокойно распознала монитор и мышку (что ожидаемо), а для опознания китайской клавиатуры BTC потребовалось лишь по просьбе системы нажать клавиши слева и справа от двух шрифтов соответственно. Конечно, некоторые горячие клавиши так и не заработали, но все можно довести до ума при помощи мелких утилиток типа Ukulele. Хотя в моих планах покупок все же значится фирменная клавиатура и Magic Trackpad, так как последний мне кажется намного удобнее мышки.

На моем экземпляре стоит OS X Lion, которому уже перемыли все косточки в ваших интернетах, поэтому я не буду сильно распространяться, отмечу лишь общие впечатления. В качестве исторического приложу свой первый скриншот, с первым твитом из-под мака.

У меня нет возможности сравнить версию операционки с предыдущими, а с Windows ее сравнивать совсем некорректно: это два абсолютно разных мира. Субъективно, что-то лучше, что-то хуже, ну а в целом я не могу ничего сказать: ни за, ни против.

Отмечу лишь, что с освоением не возникло никаких трудностей: сел и начал пользоваться, все опции и настройки находились за считанные секунды, такое ощущение, что пользовался системой всегда. Слышал много плохого об инвертированном скролле в Lion — не подтвердилось: мне кажется так намного естественнее, ведь если я перемещаю колесико вверх, то и страничка должна ползти вверх. Это настолько естественно, что я переучился буквально за 20 минут, а вот теперь когда сажусь за Windows, иногда путаюсь.

Переезд на любую систему у меня проходит без проблем: поставил Evernote и Dropbox, и готово. Попробовал Safari — нормальный браузер, есть удобные фишки, но разбираться и настраивать под себя было не охота, поэтому поставил привычный Chrome. Еще не могу жить без Punto Switcher, он тут также имеется, так что я доволен. Возможно, труднее придется людям с более обширными потребностями и привычками.

Скорость работы на мой взгляд достойная — анимации работают гладко, программы открываются практически без задержек, правда по-настоящему сильно я не нагружал компьютер — задач таких пока не было. Попробовал проигрывать «тяжелые» видеофайлы — Quicktime глючил, как последняя зараза, изображения рассыпались на квадраты, в чем причина я не стал разбираться, поставил свой любимый VLC — все имеющиеся у меня форматы, в 1080p стали проигрываться без проблем.

Софт под Mac, это вообще отдельная песня, достойная отдельного поста. Если говорить в общем, то миф, что под OS X мало софта для меня не оправдался. Для любой цели можно найти целую кучу мелких и не очень программ, как платных, так и бесплатных. С покупкой платных программ в AppStore никаких проблем тоже не испытал — завел AppleID, подключил карточку и вперед. Единственное, что бесит, что нет никаких триальных версий, а по паре скриншотов очень трудно судить о программах. Хотя по-правде говоря, мне почти ничего не понадобилось из платного — почти всему можно найти достойные бесплатные аналоги. Игрушек под него тоже тонны, но в них я ничего не понимаю, так как уже давно ни во что не играю.

Итог

Конечно, подводить итог, проведя в новой для себя системе всего 2 недели, еще рановато, но я попробую обобщить. В целом покупкой я доволен. Мне нравится бесшумная работа устройства, компактность, устраивает скорость работы, да и с операционной системой я вполне ужился (хотя и не без проблем, которые некоторые маководы любят называть «особенностями»). Диких эмоций и восторгов не будет — меня трудно чем-то удивить, да и нет тут ничего удивительного: все просто работает. Брать или не брать? Решать только вам. По той цене, по которой он продается на просторах нашей отчизны, я бы покупать не рекомендовал, а своих честных 800 долларов он вполне стоит.

1 of 1