Print Screen с помощью import

On: 7 ноября 2010 г.

Есть такая утилита import. Она может создавать так называемые screenshot-ы. Как мне кажется ее роль в сети не достаточно раскрыта. Я предлагаю небольшой пример использования команды import для создания "фотографий экрана". Скорее всего если вы раньше использовали такие среды рабочего стола как Gnome, KDE, E17(назовем его средой рабочего стола, хоть это не совсем так он он того заслуживает) то вы наверное и не задумывались какие механизмы стоят за простым нажатием клавиши PrtSc.
Но в тех случаях когда сам создаешь рабочее окружение вопрос выбора метода создания скриншотов может быть разнообразным. После установки OpenBox я начал создавать свою среду рабочего стола и по мере появления вопросов дополнял ее разнообразными утилитами. Потребность в создании скриншотов появилась не сразу. Поначалу я пользовался командой import <имя файла>, вызывая ее из терминала. При вызове без аргументов мышью необходимо выбрать прямоугольник с которого будет сделан скриншот. Но для создания автоматического скриншта необходимо по умолчанию указать весь экран. Это можно сделать используя параметр "-windows root". Пример:

import -windows root <имя файла>

Теперь надо что бы имена файлов определялись сами и были уникальные (с расчетом того что могут быть и повторы в именах. В таком случае старый файл будет перезаписан). В качестве такого "генератора" имен файлов я выбрал указание даты и времени в названии файла. Для этого я буду использовать команду date. Пример получения данных с помощью команды date:

date +'%d%m%y'

при этом на выходе вы получите числа дня, месяца, года слитно без каких либо знаков припенания. Аналогично этому получаем значение часа, минуты и секунды:

date +'%H%M%S'

Теперь собираем все в кучу и получаем вот такой сценарий командной оболочки:

#!/bin/bash
cd ~/FLAV/Snaphot/ && import -windows root "$(date +'%d%m%y')$(date +'%H%M%S').png"

Здесь я устанавливаю директорию в которой у меня лежат скриншоты и запускаю import отправляя ему параметр указывающий на то что необходимо делать скриншот всего экрана и так же указываю имя файла. Да и я еще не сказал о том что команда import по расширению догадывается о том какого формата делать файл. В принцепе все. Для того что бы поставить этот скрипт допуским на клавишу PrtSc в OpenBox необходимо:

В файле ~/.config/openbox/rc.xml

изменить строку


     
        /home/cryptspirit/.config/openbox/snap.sh
     

где строка "/home/cryptspirit/.config/openbox/snap.sh" это путь к вашему сценарию. При наличии желания можете поэкспериментировать с командой import и создавать скриншоты конкретного окна либо создать свой скриншот с специфическими требованиями.

0 коммент. on "Print Screen с помощью import"