Есть такой замечательный сервис http://min.us/. Славен тем, что понимает, когда на него перетаскивают файлы прямо из файлового менеджера, и загружает их. А потом ещё и складывает в красивую галлерею (которая особенно прекрасна, когда туда грузишь картинки).
Собственно, сервис мне нравится. А посему захотел я, чтобы когда я нажимаю заветную кнопочку и у меня делается скриншот экрана, то загружался бы он именно туда. Ну и наваял скрипт.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22
|
#!/bin/bash # Для работы скрипта необходимы: libnotify, xsel, curl, sed, awk, scrot
# Настройки: #Укажите Имя пользователя и пароль на сайте http://min.us/ minus_username="" minus_password="" # Чтобы плучить следующее значение надо в строку браузера вставить следующий адрес http://min.us/api/CreateGallery и скопировать editor_id. Если вы планируете использовать сервис как залогиненный пользователь, то следует залогиниться перед вводом адреса. minus_editor_id="" # Где будем хранить лог скриншотов? (там будет время и дата сделанного скриншота и ссылка на него) log_screenshot="~/.screenshots.log" #Конец настроек. # По умолчанию делается скриншот всего экрана, но если вы хотите, что бы скринилось только активное окно, то закоментируйте следующую строку и раскоментируйте ту, что за ней. scrot $1 /tmp/screenshot.png #scrot -u /tmp/screenshot.png # Авторизация на http://min.us/ (нужно закоментировать, если вы получали editor_id, не залогинившись.) curl -c /tmp/cookie_screen_minus -d username=$minus_username -d password1=$minus_password http://min.us/api/SignIn # Загрузка файла на сервис, формирование ссылки, помещение её в буфер обмена, вывод уведомления о завершении и сохранение ссылки в лог. img_url=`curl -b /tmp/cookie_screen_minus -F "file=@/tmp/screenshot.png" http://min.us/api/UploadItem\?editor_id\=$minus_editor_id\&key;\=OK\&filename;\=$(date +%T_%d_%m_%Y)_screenshot.png | awk '{print($7)}' | sed -e 's/,//g' | sed -e 's/"//g'` echo "http://min.us/l$img_url" | xsel -b -i && notify-send -t 5000 -i dialog-information "Screenshot uploaded." \ "<a href =\"http://min.us/l"$img_url\"">Url</a> copied to clipboard." && echo "`date`______ http://min.us/l"$img_url"">>$log_screenshot exit
|
Сразу оговорюсь, я гуманитарий и поэтому скрипт наверняка не блещет изяществом и красотой исполнения, но зараза работает. Собственно, уважаемая публика, у меня к вам просьба: расскажите мне что я в нём сделал не так и почему, чем подробнее тем лучше.
Скрипт на pastebin.com
P.S. Вообще предлагаю завести моду на то, чтобы криворукие новички вроде меня писали полезные, а главное работающие (то есть сначала проделывается самостоятельная работа и потом совсем глупые вопросы уже не задаются), скриптики, а гуру объясняли в чем те идиоты. Профит для новичков в том, что они учатся у живых людей, а не только по мануалам, а у гуру непомерно растёт чувство собственной значимости и ощущение, что они несут в мир разумное, доброе, вечное.