Как стать автором
Обновить

Screen Shot script

Настройка Linux
image Всем доброго времени!
В один прекрасный момент меня достало:
  1. Нажимать PrintScreen
  2. Искать место куда же его сохранить
  3. Открывать сервис imageshack\radikal\хабр-эффект
  4. Искать на диске, куда же я сохранил все таки именно этот скриншот
  5. Копировать полученную ссылку, и делать с ней .....

Теперь я делаю:
  1. Нажимаю Ctrl+/
  2. Копирую полученную ссылку и делаю с ней .....

Неправдо ли лучше? И вас это тоже достало? Тогда лезем под кат!

А тут у нас нет ничего сложно, но сначала немного истории ;)
Захотев сделать user-friendly инструмент, я честно скачал исходники gnome-utils в котором лежит gnome-screenshot, но поняв, что допиливание этого «чуда» будет куда сложнее, интерестнее и медленне чем написание очередного комманд-лайнера, я полез в man curl… Сразу скажу, что не стоит злоупотреблять этим скриптом. Мы ведь не хотим нагрузить наш сервис по самые уши, чтобы он стал тормозить, или еще чего нибудь хуже? Поэтому просто делаем скриншоты, и не злоупотребляем.
Я написал реализацию для трех популярных и известных файлохостингов:
radikal.ru
ImageShack
Хабр-Эффект

Для работы этого детища нам понадобятся следующие утилиты:
scrot curl xsel
В Debian\Ubuntu подобных системах поставить их можно следующей коммандой:
sudo aptitude install scrot curl xsel
Далее, создаем файл
sudo touch /usr/sbin/screen.sh
Делаем его исполняемым
sudo chmod +x /usr/sbin/screen.sh
Открываем ваш любимый редактор, и вставляем слудщий код:
#!/bin/bash
scrot  /tmp/screen.png
curl  -F "upload=yes" -F "filename=@/tmp/screen.png" http://www.radikal.ru/action.aspx | grep "input_link_1\"" | cut -d "\"" -f4 | tee -ai /var/log/screens.log | xsel -b -i ;
tail -n 1 /var/log/screens.log |  xargs -I _ google-chrome _ ;
notify-send "Загрузка скриншота" "Скриншот был успешно загружен" -i /usr/share/icons/gnome/scalable/emblems/emblem-default.svg -t 5000 ;

curl  -F "upload=yes" -F "file=@/tmp/screen.png" -L http://habrastorage.org/storage/habraeffect/05/68/056805cc524b8f502bd06f517fb65059.pngupload.php  | grep -e "original-link" |  awk -F"\"" '{print $10}' | tee -ai /var/log/screens.log | xsel -b -i ;
tail -n 1 /var/log/screens.log |  xargs -I _ google-chrome _ ;
notify-send "Загрузка скриншота" "Скриншот был успешно загружен" -i /usr/share/icons/gnome/scalable/emblems/emblem-default.svg -t 5000 ; 

ImageShack по какой то мне не ведомой причине не хочет принимать такие png'шки, поэтому для него используем jpg. Может подскажите?
#!/bin/bash
scrot /tmp/screen.jpg
curl  -F "upload=yes" -F "fileupload=@/tmp/screen.jpg" http://www.imageshack.us/upload_api.php | grep "image_html" | awk -F"="" '{print $2}' | cut -d "&" -f1 | tee -ai /var/log/screens.log | xsel -b -i ;
tail -n 1 /var/log/screens.log |  xargs -I _ google-chrome _ ;
notify-send "Загрузка скриншота" "Скриншот был успешно загружен" -i /usr/share/icons/gnome/scalable/emblems/emblem-default.svg -t 5000 ;

Выбираете для себе то что хотите, и оставляйте только ОДНУ строчку с curl'ом.

Далее лепим в горячих клавишах, у меня в гноме, у вас это может быть по другому, открытие по кнопкам нашего скрипта.
habrastorage.org/storage/habraeffect/05/68/056805cc524b8f502bd06f517fb65059.pngfiles/1a8/ef227f182/screen.png
Вот пример для гнома.
Вот теперь и все)
P.S. Предлагаю Вам создать нечто подобное и для других фотохостингов. Обязательно включу в статью ;)

UPD0. Добавил возможность копирования ссылки в буфер обмена с использованием xsel
Теги:bashlinuxscrotcurlphoto hostinglinux bash scriptslinux для всех
Хабы: Настройка Linux
Всего голосов 71: ↑45 и ↓26 +19
Просмотры7.5K

Похожие публикации

Linux администратор
до 120 000 ₽ТИТАН-2Санкт-ПетербургМожно удаленно
Системный администратор Linux/Senior
от 50 000 до 120 000 ₽NetPingМожно удаленно
Старший системный администратор Linux/DevOps
до 250 000 ₽Онлайн-кинотеатр iviМоскваМожно удаленно
C++ Developer (Linux)
от 150 000 до 250 000 ₽MicroAviaСанкт-Петербург
C++ Embedded Developer (Linux)
от 150 000 до 250 000 ₽MicroAviaСанкт-Петербург

Лучшие публикации за сутки