Быстрые и удобные скриншоты в Ubuntu - сочетанием горячих клавиш. Шесть приложений для снятия скриншотов в Ubuntu Горячие клавиши для скриншотов ubuntu

В этой заметке хочу увековечить свой велосипед, который я изобрёл для удобного создания скриншотов. Да, я знаю о существовании таких программ как shutter, но все они по тем или иным причинам мне неудобны, а так как был интерес и время, я занялся этой проблемой.

Как работает мой велосипед

Пользователь нажимает PrintScreen, появляется меню, в котором последовательно задаются вопросы:
  1. Сохранить весь экран или только часть (окно)?
  2. Сохранить файл со снимком куда-то на долгую память или сохранить в ненадёжном /tmp?
  3. Ввести имя файла самому, сгенерировать случайное или генерировать по шаблону?
  4. Если по шаблону, предлагается выбрать шаблон или ввести его самому
  5. Выбрать задержку в секундах перед фотографированием
  6. Копировать ли URL опубликованной картинки в буфер
  7. Показать ли диалог с путём к файлу на диске, а также URL картинки
Прорвавшись через эту кучу вопросов, программа:
  1. Уточняет имя файла (если нужно)
  2. Делает скриншот экрана либо ждёт, пока пользователь выделит регион или окно (man scrot)
  3. Если пользователь ввёл имя файла, которое уже существует, выведется подтверждение на перезапись. В случае отмены пользователю придётся самому ещё раз вызвать скрипт (сам он пока не настолько умный, чтобы спросить другое имя файла)
  4. В лог-файл записывается путь к сохранённому файлу и URL опубликованной картинки
  5. В буфер обмена копируется URL скриншота (если надо)
  6. Отображается диалог с путём к файлу на диске и URL опубликованной картинки (если надо)

Скрипт, вызванный без аргументов, будет каждый раз спрашивать вопросы заново. Однако, запомнив ответы пользователя, он их кеширует и записывает в файл (по умолчанию /tmp/screenshot.cache.sh). Если запустить скрипт с аргументом cached , скрипт попытается считать кешированные ответы, и если это удастся, задавать вопросы не будет.

Таким образом, настроив PrintScreen на вызов скрипта с загрузкой кеша, а Win+PrintScreen на вызов без загрузки кеша, я всегда могу изменить настройки, заново ответив на вопросы, после чего фотографировать дальше значительно быстрее.

Disclaimer

Мой дистрибутив ArchLinux, и я пользуюсь openbox в качестве оконного менеджера. У счастливых обладателей KDE/Gnome/Xfce/ваш_вариант процесс установки и использования может отличаться.

Строительные материалы

  1. dmenu (показывать меню)
  2. scrot (скриншотер)
  3. zenity (спрашивать вопросы у пользователя)
  4. xclip (копировать ссылку в буфер обмена)
  5. imagepaste (заливать картинку на image hosting)
  6. скрипт (собрать все компоненты воедино)
  7. terminus-font (шрифты в меню, optional)
Первые четыре программы должны быть (по идее) доступны в репозиториях вашего дистрибутива. Последний пункт опционален. Можете использовать другие шрифты, если terminus вам неугоден. Пятый пункт - моя собственная поделка, смысл которой сводится к заливке картинки на сайты типа ImageShack.us одной командой из командной строки. Сборка этого чуда, вообще говоря, не такая сложная, но описание этого процесса в любом случае выходит за рамки данной заметки, так что Вы вольны заменить этот компонент .
Пошаговая инструкция
Вот как выглядела бы установка он начала до конца в моём дистрибутиве.
Установим стандартные пакеты:
$ pacman -S dmenu scrot zenity xclip terminus-font
Сообщим Иксам путь к этим шрифтам (плюс, хорошо бы прописать эту команду в ~/.xinitrc):
$ xset +fp /usr/share/fonts/local/
Считаем, что imagepaste (или аналог) уже установлен, поэтому пропускаем этот шаг.
Устанавливаем скрипт:
$ mkdir ~/bin $ cd !$ $ wget https://bitbucket.org/balta2ar/screenshot/raw/45ad932db13b/screenshot.sh $ chmod u+x ./screenshot.sh
Папка ~/bin у меня используется для моих наколенных поделок. В скрипте Вы, вероятно, захотите изменить:
LOG - путь к лог-файлу
FONT - шрифт меню
IMAGEPASTE_CMD - команда для публикации картинки
BASEDIR - базовая директория для тех скриншотов, которые вы захотите сохранять

Не забудьте создать лог-файл:
$ touch /var/log/screenshot.log $ sudo chown `whoami`:users !$
И последнее, это повесить вызов скрипта на горячую клавишу. Я для этого использовал возможности openbox, а именно obkey для настройки горячих клавиш. Можно, впрочем, сразу залезть в ~/.config/openbox/rc.xml и добавить:
/home/bz/bin/screenshot.sh cached /home/bz/bin/screenshot.sh

Плюсы
  • своё не пахнет
  • удобно, заточено под свои нужды
  • автоматическая публикация
Минусы
  • установка для красноглазых
  • много компонентов, а хотелось бы один и чтобы всё работало искаропки
Скрипт целиком
#!/bin/bash init() { ACTIONS="window/region,screen" ACTIONS="drop,save" ACTIONS="create random,ask,incremental pattern" ACTIONS="screenshot-%05d.png" ACTIONS="0,5,10,30,60" ACTIONS="yes,no" ACTIONS="no,yes" PROMPT="Capture region" PROMPT="Picture file" PROMPT="File name" PROMPT="File name pattern" PROMPT="Delay" PROMPT="Copy to clipboard" PROMPT="Show links in a dialog" IND_CAPTURE_REGION=0 IND_FILESAVE=1 IND_FILENAME=2 IND_PATTERN=3 IND_DELAY=4 IND_COPY_CLIPBOARD=5 IND_SHOW_LINKS=6 LOG="/var/log/screenshot.log" FONT="-xos4-terminus-*-*-*-*-16-*-*-*-*-*-*-*" DMENU="dmenu -fn $FONT" IMAGEPASTE_CMD="imp" SCREENSHOT_CMD="scrot" SCREENSHOT_OPTIONS= OPTIONS= COUNT=${#ACTIONS[*]} BASEDIR="/home/`whoami`/pic/screenshot/scrot" CACHE="/tmp/screenshot.cache.sh" PATTERN_INDEX=0 } load_cache() { source $CACHE } save_cache() { echo -n > $CACHE for ((i = 0; i < ${#OPTIONS[*]}; i++)) do echo "OPTIONS[$i]=\"${OPTIONS[$i]}\"" >> $CACHE done echo "PATTERN_INDEX=\"$PATTERN_INDEX\"" >> $CACHE } random_filename() { TMP=`mktemp --suffix=.scrot` BASE=`basename $TMP` FILENAME="$BASEDIR/$BASE.png" } ask_filename() { FILENAME=`zenity --entry --text "Enter filename" --entry-text "$BASEDIR/"` } set_next_pattern_filename() { FILENAME="$BASEDIR/$(printf ${OPTIONS[$IND_PATTERN]} $PATTERN_INDEX)" PATTERN_INDEX=$(($PATTERN_INDEX + 1)) while [ -e "$FILENAME" ]; do FILENAME="$BASEDIR/$(printf ${OPTIONS[$IND_PATTERN]} $PATTERN_INDEX)" PATTERN_INDEX=$(($PATTERN_INDEX + 1)) done } ask_options() { for i in $(seq 0 $(($COUNT - 1))) do # if we are about to ask patern and # it wasn"t the choise in prev question, continue if [ "$i" -eq "$IND_PATTERN" -a "${OPTIONS[$IND_FILENAME]}" != "incremental pattern" ] then continue fi OP=`echo ${ACTIONS[$i]} | tr "," "\n" | $DMENU -p "${PROMPT[$i]}"` if [ ! -n "$OP" ]; then exit 0 fi OPTIONS[$i]=$OP done } parse_options() { # parse options and ask user questions, if any ITEM=${OPTIONS[$IND_CAPTURE_REGION]} case "$ITEM" in window/region) SCREENSHOT_OPTIONS="-b -s" ;; screen) ;; esac ITEM=${OPTIONS[$IND_FILESAVE]} case "$ITEM" in save) # Dont touch BASEDIR ;; drop) BASEDIR="/tmp" ;; esac ITEM=${OPTIONS[$IND_FILENAME]} case "$ITEM" in ask) ask_filename ;; "create random") random_filename ;; "incremental pattern") set_next_pattern_filename ;; esac ITEM=${OPTIONS[$IND_DELAY]} SCREENSHOT_OPTIONS="$SCREENSHOT_OPTIONS -d $ITEM" } check_existence() { if [ -e "$FILENAME" ] then zenity --question --text "File already exists. Overwrite?" OVERWRITE=$? if [ $OVERWRITE -ne 0 ] then exit 1 fi fi } do_screenshot() { rm -f "$FILENAME" mkdir -p `dirname "$FILENAME"` $SCREENSHOT_CMD $SCREENSHOT_OPTIONS "$FILENAME" CMD="$IMAGEPASTE_CMD $FILENAME" URL="`$CMD`" echo "$FILENAME -> $URL" >> $LOG } copy_to_clipboard() { if [ ${OPTIONS[$IND_COPY_CLIPBOARD]} == "yes" ] then echo "$URL" | xclip -selection primary echo "$URL" | xclip -selection clipboard fi } show_links() { if [ ${OPTIONS[$IND_SHOW_LINKS]} == "yes" ] then zenity --info --no-wrap --text "$FILENAME\n$URL" fi } init if [ -e "$CACHE" -a "$1" == "cached" ] then load_cache else ask_options fi save_cache parse_options check_existence do_screenshot copy_to_clipboard show_links exit 0

UPD 01 : Добавлен выбор задержки: 0, 5, 10, 30, 60 секунд.
UPD 02 : Добавлено: 1) кеширование ответов пользователя 2) возможность указать инкрементальный паттерн для имени файла.

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

Способ №1 Самый простой способ получить скриншот на Ubuntu мало чем отличается от такового на Windows. Достаточно нажать клавишу «Prt Sc» (Print Screen) и перед вами появиться окно сохранения сделанного снимка:

Главный недостаток данного способа - вы можете сделать только снимок целого экрана (и то без каких-либо опций). Но, все равно отметим, что аналогичная утилита на Windows XP не выдерживает сравнения, потому что нажатие «Prt Sc» (Print Screen) приводит к сохранению скриншота в папку по умолчанию, в то время как на Ubuntu мы может хотя бы определить папку в процессе. Способ №2 Другой способ получить скриншот в Ubuntu стандартными средствами системы - воспользоваться одноименной утилитой. Для этого заходим «Приложения» - «Стандартные» - «Снимок экрана» (Applications -> Accessories -> Take screenshot).

В отличие от первого способа, данная утилита предоставляет нам куда большие возможности. Во-первых имеется 3 режима снятия скриншота - «Захватить весь рабочий стол», «Захватить текущее окно», «Выбрать область захвата». Обычно этих трех режимов достаточно чтобы удобно сделать «снимок» любой необходимой области экрана. Во-вторых, у вас есть возможность выставить «задержку». То есть время, после которого будет осуществлен захват. Опция сверхполезная, особенно в том случае когда вам нужно захватить какое-то «всплывающее» окно или «всплывающую» подсказку. В-третьих, мы можем включить или исключить из снимка указатель мыши, что так же очень полезно. После того как нужный режим и опции отмечены, и скриншот сделан, вы попадаете на окно сохранения скриншота, которое идентично тому что мы имеем в способе №1. Способ №3 Если вам нужно быстро сделать скриншот всего экрана без особых опций, можно воспользоваться способом №1, если вам нужно выделить какую-то область, установить задержку или убрать указатель мыши, придется воспользоваться способом №2, если вас по тем или иным причинам не устраивает то и другое и хочется большего, остается выбрать одну из популярных утилит сторонних разработчиков. На мой взгляд самая известная и распространенная утилита для снятия скриншотов Ubuntu - Shutter.

Если разобраться, большинство жизненно важных функций обеспечивает родная утилита «Снимок экрана» (Take Screenshot). Shutter более удобный, комфортный, и добавляет несколько (я бы даже сказал немало) приятных мелочей. Базовые функции в Shutter те же что в утилите «Снимок экрана» (Take Screenshot), поэтому давайте поговорим о «пряниках» и бонусах. Во-первых, Shutter позволяет выбрать формат сохраняемого скриншота (jmp, png, gif) и уровень сжатия (если такой может иметь место). Во-вторых в Shutter есть интересный режим - получения снимка веб-сайта. Это очень важная штука потому что сайт может выходить (и чаще всего выходит) за рамки одно экрана. Поэтому, даже выбрав опцию «Захватить весь рабочий стол» вы вряд-ли получите снимок всего сайта, дай бог, только его верхушки. Стоит отметить так же что для этого режима можно определить ширину виртуального браузера. В-третьих, утилита поддерживает комбинации клавиш, что так же очень удобно. В-четвертых, в Shutter предусмотрена гибкая настройка поведения. Это касается параметров окна (скрывать главное окно во время съемки, сворачивать в область уведомлений при закрытии главного окна, задержка перерисовки), уведомлений (показывать всплывающие уведомления после съемки, показывать всплывающие сообщения если включена задержка и так далее). В-пятых, Shutter может в автоматическом режиме закачивать сделанные снимки на файловый хостинг (например, ubuntu-pics.de, imagebanana.com, imageshack.us и так далее). Передача осуществляется по протоколу FTP в активном или пассивном режиме соединения. В-шестых, Shutter поддерживает плагины, которые способны очень существенно расширить его функционал. Вот только некоторые из них: «Сепия», «Водяной знак», «Оттенки серого», «Негатив», «Мягкие углы», «Рваная бумага». При умелом использовании этих плагинов, теоретически можно вовсе исключить стадию постобработки (если она требуется) в графическом редакторе (например, GIMP). Как видите, у пользователей Ubuntu есть все возможности для полноценно работы со скриншотами. Если вам не требуется чего-то особого, можно вполне обойтись внутренними средствами, ну, а если вам нужен полный контроль и богатейшие возможности - устанавливайте Shutter, ему все по плечу! P.S. Проще всего установить Shutter если найти его в «Центре приложений Ubuntu». Альтернативный путь для Ubuntu 9.10 (Karmic Koala) и более старших версий: sudo add-apt-repository ppa:shutter/ppa sudo apt-get update sudo apt-get install shutter

Когда я использовал Windows, я активно пользовался инструментом Ножницы. Затем я перешел на Ubuntu и мне понадобилась подобная программа. После непродолжительных переборов, я выбрал Shutter. Как оказалось, я нашел гораздо более эффективный комбайн, чем хотел. Сегодня я познакомлю вас с этой замечательной программой.

Функции

Что же умеет делать Шаттер:

  1. Скриншоты выбранной части экрана
  2. Скриншоты всего экрана
  3. Скриншоты сайтов, даже если они не помещаются на экране.
  4. Редактирование изображений
  5. Отправка изображений на фотохостинги

Установка программы

Программа доступна через Ubuntu Software Center. Но, к сожалению, там доступна не самая последняя версия. На данный момент последняя 0.90.1, а в USC есть только 0.89. Последнюю версию программы можно скачать, например, с оф.сайта .

Настройка программы

Для комфортной работы с программой, стоит настроить ее сразу же под себя. Для этого переходим в Edit → Preferences, а там во вкладках выставляем нужные вам параметры. Например, я выставил формат изображений png (оптимально для web), автоматическое сохранение и расширение в 1366 для снятия скриншотов сайта. Если вас не устраивает английский язык программы, можно ее русифицировать (Help → Translate this Application).

Интерфейс программы

  1. Скриншот выделенной области экрана
  2. Скриншот всего экрана
  3. Скриншот одного из экранов или всех сразу (если вы используете несколько экранов/рабочих столов в Ubuntu)
  4. Скриншот окна (выбор нужного окна после нажатия)
  5. Скриншот выбранного окна (из списка)
  6. Скриншот только части окна
  7. Скриншот части меню какой-либо программы
  8. Захват подсказки меню/программы
  9. Скриншот вебсайтов
  10. Выбор максимального времени выполнения скриншота сайтов
  11. Редактирование вашего скриншота
  12. Отправка на фотохостинги или на фтп-сервер

Возможности редактирования фото

  • Скрытие секретной информации
  • Подсветка нужных элементов
  • Добавление текста, стрелочек, прямоугольников и т.д.
  • Обрезка изображения
  • Добавление нумерованных указателей (как на моем скриншоте)

Заключение

Я описал далеко не все возможности этого многофункционального комбайна. С каждой новой версией разработчики добавляют новые функции и исправляют старые ошибки. Буду рад вашим замечаниям и дополнениям. Удачной вам работы с программой. Enjoy it!

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

Что представляет собой Shutter

Shutter — многофункциональное приложение, позволяющее делать скриншоты рабочего стола, выделенной области, отдельного меню или окна любого приложения:

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

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

Установка Shutter

В большинстве дистрибутивов Linux программа доступна из стандартных репозиториев, поэтому устанавливаться она обычным способом. В Ubuntu или Debian нужно ввести в терминале:

Sudo apt install shutter

После окончания установки программу можно открыть через меню приложений.

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

Приветствую Всех!

Сегодня я хотел бы рассказать вам о том, как можно делать скриншоты в linux Ubuntu.

Программа для создания скриншотов в linux Ubuntu — Shutter.

Что же умеет делать Shutter:

  • Скриншоты выбранной части экрана;
  • Скриншоты всего экрана;
  • Скриншоты сайтов, даже если они не помещаются на экране;
  • Редактировать скриншоты (обрезать, накладывать watermarks, размывать приватную информацию);
  • Применять различные красивые эффекты к сделанным скриншотам;
  • Отправка изображений на фотохостинги.

Установка программы

Программа доступна через Ubuntu Software Center. Но там доступна не самая последняя версия. На данный момент последняя версия 0.93.1, а в USC есть только 0.90.1. Для установки версии 0.93.1 нужно подключить дополнительный репозиторий.

Открываем меню Dash, вводим в поиске ter и запускаем «Терминал».

После знака $ вводим следующую команду и нажимаем клавишу «Enter»

Для добавления дополнительного репозитория нам потребуются дополнительные привелегии, и система попросит ввести пароль нашего пользователя. Вводим его и нажимаем клавишу «Enter».

Система уточнит необходимость подключения дополнительного репозитория. Подтвердим это, нажав клавишу «Enter».

Убедимся, что добавление прошло успешно.

Обновим список пакетов и запустим установку. Для этого вводим в командную строку следующую команду и нажимаем клавишу «Enter».

sudo apt-get update && sudo apt-get install shutter

Установщик пакетов проверит нашу систему и запросит подтверждение на установку дополнительных пакетов. Вводим «Y» и нажимаем клавишу «Enter».

После окончания процесса установки, мы вернемся в командную строку, которая будет заканчиваться знаком «$»

Настройка программы

Открываем меню Dash, вводим в поиске «shutter» и запускаем «Shutter».

Для того, чтобы при нажатии на клавишу «Prt Scr» открывался «Shutter», внесем изменения в систему. Откроем «Параметры системы» и выберем пунк «Клавиатура».

Выбираем закладку «Комбинации клавиш», пунк «Дополнительные комбинации» и для добавления нажимаем на клавишу «+»

Добавляем в поле Название «Shutter», а в поля Команда «shutter -f», нажимаем кнопку «Применить».

Теперь у нас появилась новая команда, но она пока «Выключена».Для включения нажимаем на надпись «Выключена» и на клавиатуре кнопку «Prt Scr».

Система предупредит нас, что данное сочетание уже используется. Подтвердим переопределение нажав на кнопку «Переопределить».

Теперь при нажатии на клавиатуре кнопки «Prt Scr», будет сделан скриншот экрана и изображение откроется в программе «Shutter».

Для редактирования изображения нажимаем на кнопку «Правка».

В левой панели доступны кнопки инструментов для редактирования. Для сохранения изображения надо нажать кнопку «Сохранить».

Мы разобрали, как установить программу для создания скриншотов «Shutter» и ее возможности. А так же рассмотрели, как создать с ее помощью скриншот рабочего стола. И если остались непонятные вопросы по данной теме и есть предложения, то прошу их писать в комментариях. Всем пока!