[root@putty ~/articles] #

Установка PuTTY на Mac OS X

Многие привыкли к использованию PuTTY, но не могут найти достойную OS X альтернативу. А при попытке задать вопрос на тематическом форуме, на них обрушивается град ухмылок в духе: «используй openssh, PuTTY не нужна». Но, как правило, эти люди замолкают из-за недостатка аргументов, когда пользователь начинает перечислять им те возможности, которые он хочет иметь при использовании Telnet/COM-порт/SSH клиента под Mac OS X.

И всё-таки, есть ли PuTTY под Мак?

PuTTY на Mac OS X

И да и нет, сложно дать однозначный ответ.

Исходный код PuTTY успешно компилируется в той его части, которая относится к утилитам командной строки, но вот разработка графического интерфейса PuTTY, нативного для OS X, к сожалению ещё не завершена.

Но есть и хорошие новости. Учитывая родственность Mac OS X и UNIX, умельцами сразу была создана система по портированию программ из мира Open Source на компьютеры от Apple. Сегодня существует уже не одна, а несколько таких систем — это MacPorts (ранее DarwinPorts), Fink, Homebrew. Они имеют в своих репозиториях десятки тысяч различных «портов», файлов описания процесса компиляции и установки программ.

Установка X11/GTK+ версии PuTTY на Mac OS X при помощи менеджера пакетов 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

SSH PuTTY под OS X настройка GTK+

Как и следовало ожидать, на чистом GTK программы выглядят «прекрасно», но попробуем с эти что-нибудь сделать.

К сожалению в репозиториях нет готового решения на тему «Lion Theme for GTK+». Поэтому приходится гуглить в поисках самодельных тем, одна из них была найдена на deviantART:

PuTTY и Mac OS X Lion Theme для GTK+

Создадим директорию для хранения пользовательских 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.

Создание Application.app для Homebrew/MacPorts на примере PuTTY

Запускаем программу, выбираем: «Тип документа» → «Программа»; далее в «Действия» → «Запустить 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 + правая кнопка мыши кликом по области терминала.

Терминал PuTTY SSH под Mac OS X и lolcat output

Список всех файлов установленного пакета можно посмотреть командой 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

Ссылки

  1. Homebrew — The missing package manager for OS X
  2. Xcode 4 Downloads and Resources — Apple Developer
  3. XQuartz — A version of the X.Org X Window System that runs on OS X
  4. X.Org X Window System
  5. The MacPorts Project