Продвинутый скриншотинг

Периодически мне бывает нужно показать людям скриншот экрана. Однажды я устал делать всё ручками и автоматизировал этот процесс.

Сейчас при нажатии на PrtsSc:

  • делается снимок текущего экрана
  • заливается на сервер
  • ссылка на картинку кладётся в буфер обмена
  • всплывающее окошко говорит “какбе всё ок, ссылка в буфере”

Всю работу делает скрипт на bash из нескольких строчек:

#!/bin/sh

FNAME="$(echo $(date) | md5sum | awk '{ print $1}').png"
URL="http://it-omsk.com/pub/$FNAME"

import -window root /tmp/screen.png
scp /tmp/screen.png web@dedic:/web/it-omsk.com/pub/$FNAME

echo -n $URL | xclip
echo $URL
DISPLAY=:0.0 notify-send  --expire-time=3000 "Screenshot uri saved to X clipboard"

Файл я заливаю с помощю scp (авторизация по rsa ключу). Имя файла — это хэш, чтобы было трудно вычислить другие файлы (паранойя-с). Больше пояснять то и нечего, мне кажется :-) Вызов скрипта я повесил на клавишу PrtSc.

Каждый раз делаю скриншот и кайфую от того, как всё теперь легко ))

Add post to:   Delicious Reddit Slashdot Digg Technorati Google
Make comment

Comments

Можно раскрыть как-то мысль? )

Коля 8.12.2008 15:37

Наверное, имелся в виду сайт http://floomby.ru/

Если что-то может быть сделано без временных файлов, всегда следует рассмотреть этот вариант. Проще говоря, у тебя классическое небезопасное создание временных файлов в /tmp в скрипте.

Как вариант, сделать так:

import -window root png:- | ssh web@dedic “cat > /web/it-omsk.com/pub/$FNAME

Плюс к тому, в твоем случае $DISPLAY должен бы определяться автоматом — обработка printscreen у тебя наверняка же иксовым приложением сделана. Да и без $DISPLAY import не работал бы.

Зато скрипт коротий и делает именно то, что мне надо — ни больше и не меньше :-) С $DISPLAY я решил не заморачиваться до тех пор, пока нужда в этом не настанет.

Хорошая идея. Можно и себе такую сделать? автор, надеюсь не против :)

Думаю не против так бы не размещал

Required. 30 chars of fewer.

Required.

captcha image Please, enter symbols, which you see on the image