Установка PuTTY на Mac OS X
Многие привыкли к использованию PuTTY, но не могут найти достойную OS X альтернативу. А при попытке задать вопрос на тематическом форуме, на них обрушивается град ухмылок в духе: «используй openssh, PuTTY не нужна». Но, как правило, эти люди замолкают из-за недостатка аргументов, когда пользователь начинает перечислять им те возможности, которые он хочет иметь при использовании Telnet/COM-порт/SSH клиента под Mac OS X.
И всё-таки, есть ли PuTTY под Мак?
И да и нет, сложно дать однозначный ответ.
Исходный код PuTTY успешно компилируется в той его части, которая относится к утилитам командной строки, но вот разработка графического интерфейса PuTTY, нативного для OS X, к сожалению ещё не завершена.
Но есть и хорошие новости. Учитывая родственность Mac OS X и UNIX, умельцами сразу была создана система по портированию программ из мира Open Source на компьютеры от Apple. Сегодня существует уже не одна, а несколько таких систем — это MacPorts (ранее DarwinPorts), Fink, Homebrew. Они имеют в своих репозиториях десятки тысяч различных «портов», файлов описания процесса компиляции и установки программ.
Установка X11/GTK+ версии PuTTY на Mac OS X при помощи Homebrew — именно об этом и пойдёт речь в данной статье. Изначально мы хотели рассказать про MacPorts, но впоследствии перешли на Homebrew, как самую живую и активно развивающуюся систему на данный момент, лёгкую (во всех смыслах), дружественную к пользователю и к комьюнити разработчиков (в чём мы сами убедились, в кратчайшие сроки разобравшись с новым для нас языком Ruby, и без труда написав небольшое обновление для поддержки GTK+ в putty.rb).
Статья рассчитана прежде всего на пользователей, впервые столкнувшихся на Маке с такими понятиями, как порты, X11, GTK+, и сразу отметим, что установка чрезвычайно проста.
Следующие шаги были протестированы на Mountain Lion (OS X 10.8.2), но должны работать и на других версиях.
1. Установка Xcode
Xcode — пакет программ от Apple, содержащий компиляторы, библиотеки, дополнительные инструменты, требуемые для разработки и сборки приложений под Mac.
На версиях OS X начиная с 10.7 Lion, достаточно поставить «Command Line Tools for Xcode» с сайта Apple Developer.
Для более ранних версий придётся скачать Xcode из Mac App Store (также доступен на установочном диске OS X), и затем через «Preferences» → «Downloads», доинсталлировать «Command Line Tools».
После установки полной версии Xcode, нужно не забыть принять лицензионное соглашение, выполнив команду:
sudo xcodebuild -license
2. Установка XQuartz
XQuartz — это реализация сервера X.Org X Window System (X11) для Mac OS X, пришедшая на замену X11.app.
Шаг опциональный в целом, но для запуска GUI-версии PuTTY, которая в данном случае на GTK+, нам потребуется X сервер. Установить последнюю версию можно с сайта XQuartz. После установки, XQuartz попросит сделать релогин.
3. Установка Homebrew
Установка Homebrew (или просто brew) выполняется следующей командой:
ruby -e "$(curl -fsSL https://raw.github.com/mxcl/homebrew/go/install)"
По завершении необходимо выполнить проверку системы на корректность установки:
brew doctor
Одна из особенностей brew, это то что вам не приходится на каждое действие инициировать права администратора (командой sudo) и вводить каждый раз пароль.
4. Установка PuTTY
Проверим есть ли в Homebrew формула с названием «putty»:
brew search putty putty
Проверим опции установки для пакета «putty»:
brew options putty --with-gtk+ Build with gtk+ support
Установим «putty» с поддержкой GTK+:
brew install putty --with-gtk+
Без последнего ключа установка займёт не более 15 секунд, но будут установлены только command-line утилиты. А вот для графического интерфейса PuTTY, требуется установить массу зависимостей, и компиляция таких пакетов как GLib/GTK+/Pango/Cairo, может занять от получаса и более.
Чтобы было не так скучно ждать, предлагаем открыть вторую вкладку терминала и узнать рецепт приготовления домашнего пива:
brew beer
И если всё прошло удачно, то следующая команда наконец-то запустит PuTTY на Mac OS X:
putty
5. Настройка GTK
Как и следовало ожидать, на чистом GTK программы выглядят «прекрасно», но попробуем с эти что-нибудь сделать.
К сожалению в репозиториях нет готового решения на тему «Lion Theme for GTK+». Поэтому приходится гуглить в поисках самодельных тем, одна из них была найдена на deviantART:
Создадим директорию для хранения пользовательских GTK-тем:
mkdir ~/.themes/ && cd $_
Скачиваем и разархивируем тему:
curl https://putty.org.ru/files/LionGTKTheme.tar.gz | tar -zx
В домашней директории создадим текстовый файл с настройками GTK+:
nano ~/.gtkrc-2.0
И впишем в него путь до «gtkrc» нашей темы (вместо Vasja вписать ваше имя пользователя), и параметры шрифта:
include "/Users/Vasja/.themes/LionGTKTheme/gtk-2.0/gtkrc" style "user-font" { font_name = "Lucida Grande 9" } widget_class "*" style "user-font" gtk-font-name="Lucida Grande 9"
6. PuTTY.app
Последнее что осталось сделать — это поместить иконку PuTTY в папку «Программы».
Можем создать простую символическую ссылку на файл:
ln -s /usr/local/bin/putty /Applications/PuTTY
Но такой вариант имеет ряд недостатков — нельзя поместить программу в Dock, нельзя поменять иконку, и каждый раз при запуске будет вплывать окно терминала.
Поэтому создадим AppleScript-апплет при помощи Automator.app.
Запускаем программу, выбираем: «Тип документа» → «Программа»; далее в «Действия» → «Запустить shell-скрипт»; в поле ввода прописываем путь до исполняемого файла → «/usr/local/bin/putty»; сохраняем как «PuTTY.app», формат файла «Программа», в папку «Программы».
Далее находим подходящую иконку в формате ICNS (например здесь), и заменяем ею стандартную по адресу: «/Applications/PuTTY.app/Contents/Resources/AutomatorApplet.icns».
Иконку из головного скриншота можно установить следующей командой:
cd /Applications/PuTTY.app/Contents/Resources/
curl -O https://putty.org.ru/files/AutomatorApplet.icns
(Если старая иконка уже попала в кэш Finder, то изменения вступят в силу только после релогина.)
Работаем
Напоследок стоит отметить несколько моментов.
Главное меню PuTTY в запущенном сеансе вызывается сочетанием COMMAND + правая кнопка мыши кликом по области терминала.
Список всех файлов установленного пакета можно посмотреть командой list:
brew list putty /usr/local/Cellar/putty/0.62/bin/puttytel /usr/local/Cellar/putty/0.62/bin/puttygen /usr/local/Cellar/putty/0.62/bin/putty /usr/local/Cellar/putty/0.62/bin/pterm /usr/local/Cellar/putty/0.62/bin/psftp /usr/local/Cellar/putty/0.62/bin/pscp /usr/local/Cellar/putty/0.62/bin/plink /usr/local/Cellar/putty/0.62/share/man/ (7 files)
(Полный путь до файлов вводить не требуется, так как создаются ссылки в /usr/local/bin/.)
Обновление пакетов Homebrew осуществляется следующими командами:
brew update
brew outdated
brew upgrade putty
Подробнее в:
man brew