понедельник, 25 мая 2009 г.

Shutter: создаем скриншоты

Весьма занимательная и даже полезная статья. Данный перевод взят отсюда.

Оригинал: Shutter on Ubuntu: is this the mother of all free software Screenshot Utilities?
Автор: Gary Richmond
Дата: 13 апреля 2009
Перевод: Александр Тарасов aka oioki
Дата перевода: 14 мая 2009

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

Как твое имя?

Сначала был Scrot, и название было его нехорошим. В английском языке слово "scrot" весьма похоже на другое слово, обозначающее одну интимную часть мужского тела. Scrot - это не один из этих нестерпимых рекурсивных акронимов, которые так любят приверженцы GNU/Linux. Это всего лишь сокращение от ScreenShot. После Scrot появляется Gscrot (GtkScreenShot) - графическая оболочка вокруг командной строки, и это название было еще хуже. Затем Gscrot переименовали в Shutter, и разработчики поняли правильность своего решения. Действительно, название Shutter отражает то, что программа делает на самом деле, помимо этого оно не созвучно с чем-либо еще. Так намного лучше.

Но если у вашей программы одно лишь хорошее название, то не факт, что она сама будет чертовски хороша. Citroen 2CV выглядит "гадким утенком", даже если наклеить на капот вставшую на дыбы лошадь Ferrari. Прочитав эту статью, вы согласитесь со мной, что назвать Shutter утилитой для снятия скриншотов - то же самое, что назвать Королеву Элизабет 2 байдаркой.

Так что же такое Shutter?

Официальный веб-сайт описывает программу как "полнофункциональное средство для создания скриншотов". Причем это не преувеличение. Это действительно программа с полным набором функций, и какому-то слову "утилита" здесь не место. Конечно, можно ее использовать для снятия одного скриншота и отправки его по электронной почте другу, как например с помощью программ Ksnapshot в KDE или gnome-screenshot в Gnome, но Shutter - зрелая программа со всеми свисточками и звоночками.

Shutter не относится непосредственно к Ubuntu, однако разработчики создали соответствующие пакеты в репозиториях всех версий Ubuntu начиная с 7.10 (Gusty Gibbon) и до 9.04 (Jaunty Jackalope), вот ссылка на Launchpad. Установка программы сводится к запуску Synaptic от имени root, добавлению соответствующего репозитория, обновлению и собственно установке пакета из репозитория. Основным преимуществом данного метода является не только простота, но также и то, что у вас будет самая свежая версия Shutter на данный момент. Установить Shutter из консоли можно, запустив от имени root команду apt-get install shutter. При отсутствии необходимых зависимостей они будут установлены пакетным менеджером автоматически.

Если вы предпочитаете отдельные бинарные файлы Debian, то для вас есть 32- и 64-битная версии пакета на сайте Getdeb - для систем Ubuntu Intrepid Ibex (8.10) и Jaunty Jackalope (9.04). Просто нажмите на ссылке, и выберите "открыть с помощью Getdeb", все остальное за вас сделает пакетный менеджер, в том числе и устранение неудовлетворенных зависимостей. Каким бы путем вы ни пошли, после установки Shutter появится в меню Приложения -> Стандартные. Если вы хотите создать ярлык на рабочем столе, тогда просто перетащите пункт меню на рабочий стол.

Если вы пользуетесь другим дистрибутивом, то все равно есть пакеты для систем Fedora, Mandriva, Mepis и Archlinux. Все скриншоты в этой статье сняты с системы Ubuntu 8.10, окружение рабочего стола Gnome.

Shutter - это для кого?

Shutter, конечно, может служить заменой Ksnapshot и его эквивалента в Gnome (gnome-screenshot). Однако если вы собираетесь сделать всего лишь один или два скриншота, то вам такой сложный инструмент, как Shutter, не нужен. Если же вы блоггер или автор руководств по каким-то программам, тогда Shutter вам отлично подойдет.

Покажи скриншоты!

Не спешите. Перед тем, как начать снимать, нужно предварительно настроить Shutter под наши нужды. Немного времени в начале сэкономит много времени впоследствии. Переходим к пункту меню Правка -> Параметры (Edit -> Preferences).

Настройте по своему вкусу

Shutter поддерживает стандартные форматы, включая Bitmap, PNG и JPG. Каждый из них можно выбрать в качестве формата по умолчанию. Всякая уважающая себя программа для снятия скриншотов содержит функцию снимка через определенное время. Отметим это. Отображение/скрытие курсора на скриншотах и декорации окон. Отметим. Миниатюры. Отметим. Уровни сжатия. Отметим. Только что мы сделали настройку, но предположим, что нам нужно создавать скриншоты в разных форматах, снимать без задержки и выгружать их на определенный веб-сайт или FTP-сервер. Вместо того, чтобы каждый раз ходить в Параметры, мы создадим по профилю на каждый такой набор параметров:


Рисунок 1: Настраиваем профили

Если вы пользуетесь Firefox или Konqueror, значит вы знакомы с понятием профилей. В Shutter также используются профили. После начальной настройки Shutter "под себя", можно сохранить эти настройки в своем профиле и задать профилю имя. Теперь при выборе в окне Shutter меню Правка -> Быстрый выбор профиля (Edit -> Quick select) появится список доступных профилей, и ваш выбор будет отражен в правом нижнем углу экрана:


Рисунок 2: Выбираем профиль

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

Перед тем, как начать собственно съемку, полезно открыть консоль и ввести man shutter. Тут тоже есть полезные вещи. По умолчанию, Shutter открывается как обычное приложение (в виде окна), плюс к этому появляется значок в системном трее. Если вы хотите, чтобы Shutter запускался только в системном трее, нужно запустить его с ключом --min_on_startup. Теперь, когда нужно сделать скриншот, просто щелкните правой кнопкой мышки по значку в системном трее и выберите тип скриншота из выпадающего меню Выделение, Полный экран, Окно или Элемент окна (Selection, Window, Full или Section).

Для упрощения подобного вызова программы можно создать макрос в вашем файл bashrc. А еще лучше, сделать так, чтобы Shutter запускался автоматически при загрузке Gnome, это делается через Sessions Manager Система -> Параметры -> Запускаемые приложения (System -> Preferences -> Sessions). Если вы пользователь KDE, выберите вкладку Автозапуск (Startup Programs), нажмите Создать (Add) и введите имя и команду. Подробнее о том, как создать макрос (alias), смотрите статью на FSM.

Среди других полезных опций командной строки - shutter --selection, shutter --section, shutter --full, shutter --window. Попробуйте их, и увидите, что они делают.

Начинаем снимать

Как и Scrot, как и ImageMagick, так и Shutter позволяет создавать скриншоты разных типов - целый экран, отдельное окно или часть экрана, но при этом не требуется вводить в консоли длиннющие команды. Просто щелкните правой кнопкой мышки по значку в системном трее и выберите нужный тип. Если выберете Selection (Выделение), то экран затемнится и появятся инструкции по применению:


Рисунок 3: Сейчас будем снимать

Выделите мышкой требуемую прямоугольную область экрана, после чего нажмите Enter, и Shutter сделает скриншот:


Рисунок 4: Сейчас вылетит птичка

Остальные опции более-менее понятны. Все они имеют одно сходство: все типы скриншотов сохраняются в так называемых "сессиях" (Sessions) - это наборы скриншотов, каждый в своей вкладке. Когда вкладок становится много, под панелью инструментов появляются кнопки, с помощью которых можно переходить между сессиями и внутри них по скриншотам - с помощью кнопок и колесика мышки. Если вы закроете Shutter, тогда при следующем запуске они будут восстановлены. Если вы удалите их, то они исчезнут, но всего лишь из интерфейса Shutter. Скриншоты останутся лежать в том каталоге, в который вы их сохраняли.

Когда вы сняли скриншот, можно воспользоваться средствами редактирования (Снимок -> Изменить):


Рисунок 5: Несколько инструментов

Все эти стрелки с надписями-комментариями вставлены с помощью встроенных средств Shutter.

Это - огромное преимущество Shutter для авторов руководств по программам. Средства редактирования Shutter слабее, чем в Gimp, Photoshop или Scribus, однако этого достаточно для обработки скриншотов. Порой меньше - значит лучше. Для всего этого - от снятия непосредственно скриншота и до выгрузки его на сайт - достаточно одного лишь средства, и это Shutter. Если же встроенных средств редактирования не хватает, тогда можно открыть скриншот во внешней программе (например, Gimp). Внешнюю программу можно установить в окне Параметры, эту настройку можно сделать частью профиля, чтобы выбранное приложение открывалось автоматически сразу после снятия скриншота.

Если вам так больше нравится, графические возможности Shutter могут быть расширены. В режиме редактирования есть средство Вставить изображение (Import Image), к нему прилагается множество встроенных "шаблонов", но если вам их недостаточно, тогда можно импортировать свое изображение. Если и этого недостаточно, обратите внимание на набор расширений Shutter (их можно увидеть в пункте Снимок -> Выполнить плагин (Screenshot -> Execute) контекстного меню) - выступающая рамка, тени, углы, с их помощью можно сделать скриншот-шедевр. Правый щелчок по скриншоту открывает запрос расширения:


Рисунок 6: Выбор расширения

Щелкните по списку и вы увидите, какие расширения доступны:


Рисунок 7: Раздолье расширений

Доступные расширения можно также увидеть во вкладке Плагины (Plugins) окна Параметры:


Рисунок 8: Расширения с полными путями

Удивительно полезен в режиме редактирования инструмент-цензор. Когда вы делаете скриншоты почтовых клиентов или программ для сетевого входа на удаленные машины или машины локальной сети, тогда вы наверняка не хотите показывать свои логин/пароль всему миру. Такие конфиденциальные данные можно запросто стереть мышкой:


Рисунок 9: Даже в мире свободного ПО приходится применять цензуру

Я годами искал подобную встроенную функциональность. Наконец-то.

Гадкие расширения Firefox больше не нужны

Многие люди делают скриншоты, чтобы показать всем свой рабочий стол, а другие снимают изображения веб-страниц. Для браузера Firefox есть множество расширений, позволяющих получать изображение полностью веб-страницы, например Snagit и Fireshot. Недостатком их , однако, является то, что они работают только в Windows, либо кросс-платформенны, но слабофункциональны и/или проприетарные. Очевидно, они работают только внутри браузера, поэтому не годятся для снятия скриншотов откуда-либо еще. К тому же при выходе новой версии браузера расширения могут перестать работать. Расширения браузера снимают изображение веб-страниц и снабжают подписями, но Shutter может делать то же самое, и к тому же снимать обычные скриншоты. Выберите на панели инструментов значок Интернет (Web), откроется диалоговое окно. Введите в нем URL-адрес нужной веб-страницы, и Shutter сделает его снимок:


Рисунок 10: Shutter в режиме захвата целой веб-страницы

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

Три козыря в рукаве Shutter

То, что файлы, в том числе и изображения, выгружают на веб-сайты, не является сногсшибательной новостью. Однако то, что это может делать приложение для создания скриншотов, довольно неожиданно. На данный момент Shutter способен выгружать изображения на три сайта (к сожалению, среди них нет Picasa и Photobucket):


Рисунок 11: Встроенные средства выгрузки файла

Но можно выгружать изображения на Flickr. Есть Gnome-приложение под названием Postr, которая может выгружать изображения на Flickr, ее можно установить и интегрировать в Shutter, таким образом от снятия скриншота до его публикации на сайте проходит минимум времени. Жаль, что это в теории, ведь версия Postr в Getdeb, похоже, основана на репозиториях для Ubuntu 8.10 и является нерабочей при интегрировании ее в Shutter.

Есть два решения этой проблемы. Когда я обнаружил проблему, я обратился к разработчикам на веб-сайте Shutter и был поражен их отношением к пользователю. Они набросились на ошибку как коршун на добычу. Последовал большой поток электронных писем, и они предложили не одно, а сразу два решения. Если вы любитель поковыряться в конфигурационных файлах, тогда вот вам первое решение, предложенное разработчиками: откройте файл postr.desktop от имени root, например так:

sudo gedit '/usr/share/applications/postr.desktop'

и добавьте в него следующую строку:

MimeType=image/bmp;image/jpeg;image/gif;image/png;image/tiff;image/x-bmp

Сохраните файл и затем просто обновите базу данных с помощью команды:

sudo update-desktop-database

Теперь Postr готов работать в связке с Shutter.

Более простой способ - это удалить сначала поломанную версию Postr, с помощью команды

sudo apt-get remove postr --purge

и установить исправленную версию Postr с веб-сайта Shutter. Найдите ссылку "Fixed Postr Package", скачайте пакет и Getdebi позаботится о дальнейшей его установке. Стоит сказать, оба способа дают желаемый результат. У меня есть два компьютера, на одном проблема решена одним способом, на втором - другим. В любом случае, у вас после решения проблемы должно появляться такое окно:


Рисунок 12: Загрузчик файлов на Flickr, через Postr и Shutter


Рисунок 13: Выгрузка файлов на Flickr в пакетном режиме

Сделайте еще один профиль с интегрированной загрузкой на Flickr, и тогда доставка скриншота с момента нажатия PrintScreen будет почти мгновенной. Кстати, если вы работаете над совместным проектом, тогда загрузка изображений на общий FTP-сервер может быть обязательным, тут вам Shutter и поможет. Наконец, Shutter может делать скриншоты виртуальных рабочих столов - Shutter автоматически перейдет на него, сделает снимок, добавит его в сессию, после чего вернется на первоначальный рабочий стол.

Я сказал, что у Shutter три козыря в рукаве. Третье преимущество прозрачно, но не менее эффективно. В общем, имеется поддержка слежения за каталогами. Так же, как и в аудиоплеерах, эта функция основана на Gnome GVFS (Gnome Virtual File System) - если вы сделаете скриншот, а затем отредактируете его сторонней программой, тогда изменения сразу подхватятся Shutter'ом, и вы их увидите в окне сессий. Мелочь, а приятно.

Заключение

Для создания скриншотов существуют стандартные утилиты, есть расширения Firefox, Scrot и ImageMagick. Консольные программы обладают мощью скриптового языка, и при наличии опыта и воображения, со скриншотами можно делать все, что угодно. Также есть Shutter, написанный на Perl и распространяемый по лицензии GPLv3. Его функциональности вполне хватит блоггерам и составителям руководств к программному обеспечению. Когда возможностей Shutter не хватает (к примеру, нужно существенно отретушировать скриншот), можно запустить внешнее приложение.

Что касается разработчиков (Mario Kemper и Vadim Peretokin), их работа - это пример профессионализма и хорошего отношения к свободному ПО и его пользователям. Не сомневаюсь, что развитие программы продолжится, разработчики сказали, что версия Shutter 0.90 будет иметь поддержку Skype и Gmail. Выражаю разработчикам благодарность и желаю развития этому славному проекту.


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

2 комментария:

Oleg.Loginov комментирует...

Хорошая статья! Но мне я предпочитаю Joxi, поскольку он попроще в интерфейсе и есть возможность публикации картинки в соцсети.

Oleg.Loginov комментирует...
Этот комментарий был удален автором.