Верх страницы
Обложка к записи Свой скриншотер с блек-джеком и шлюхами
Время для прочтения: 0 мин. 10 сек.

Свой скриншотер с блек-джеком и шлюхами

Несомненным лидером по созданию снимков c экрана (скриншотов) в linux является программа Shutter. Но после перехода на Ubuntu 17.10 данный софт просто перестал работать, постоянно вылетая и вынося мой мозг. Решил замутить что-то свое, а сами скриншоты складывать на свой FTP.

За основу был взят проект Gyazo и его Linux-версия Gyazo for Linux. Написан он на руби и использует стандартные утилиты самой ОС.

Установка

Зависимости

Так как скрипт зависит от некоторых внешних проектов — доставим их в систему:

sudo apt-get install ruby imagemagick xdotool xclip

Установка через apt-get

# Качаем скрипт
curl -s https://packagecloud.io/install/repositories/gyazo/gyazo-for-linux/script.deb.sh | sudo bash

# Ставим
sudo apt-get install gyazo

Установка через yum Install

# Качаем скрипт
curl -s https://packagecloud.io/install/repositories/gyazo/gyazo-for-linux/script.rpm.sh | sudo bash

# Ставим
sudo yum install gyazo

Установка ручками

# Скачиваем скрипт
wget -c https://github.com/gyazo/Gyazo-for-Linux/raw/master/src/gyazo.rb

# Делаем его исполняемым
chmod +x ./gyazo.rb

# Переносим в папку с программами
sudo mv gyazo.rb /usr/local/bin/gyazo

Настройка

По умолчанию gyazo отправляет все сделанные скриншоты на свои сервера и возращает ссылку имеено на них. Но если внимательно посмотерть на исходный код, то станет понятно, что это поведение можно переопределить через специально созданный файл конфигурации.

Создаем файл $HOME/.gyazo.config.yml, перезаписывающий дефолтные настройки и вносим туда реквизиты вашего сервера и название системной утилиты для создания, собственно, скриншотов:

# доменное имя
host: screens.kobzarev.com

# путь к загрузчику
cgi: /upload.php

# порт
http_port: 80

# есть ли поддержка https
use_ssl: false

# команда запуска скриншотера
command: gnome-screenshot -a -f

Где command может принимать одно из значений в зависимотси от вашего дистрибутива:

Программа Команда запуска
scrot scrot -s
gnome-screenshot gnome-screenshot -a -f
xfce4-screenshooter xfce4-screenshooter -r -o gyazo

Либо выбираете любую другую утилиту для вашей версии ОС.

Загрузчик

Сам аплоадер файлов, вы можете написать на любом удобном вам языке программирования, который вы больше всего знаете и понимаете. Я выбрал для этой цели PHP. Мой загрузчик upload.php в урезанном варианте выглядит примерно так:

<?php
// Приставка для имени файла.
$uri = "http://screens.kobzarev.com/";

// Если передан файл.
if ( isset( $_FILES['imagedata']['name'] ) ) {

	// Генерим имя для загруженного файла.
	$path = date('Y-m-d-U') . '.png';

	// Перемещаем из временной папки в нужный нам каталог.
	if ( move_uploaded_file( $_FILES['imagedata']['tmp_name'], $path ) ) {

		// Отдаем полный URL.
		echo $uri , $path;
	} else {

		// При ошибке - отдаем только домен.
		echo $uri;
	}
} else {

	// При ошибке - отдаем только домен.
	echo $uri;
} 
?>

Шорткат

Осталось только повесить наш скрипт на понравившуюся вам комбинацию клавиш и всё. Я предпочитаю Win + Print:

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

Вопросы и комментарии приветствуются.

Автор: Кобзарёв Михаил

Русский разработчик с 20-ти летним стажем. Работаю с PHP, ООП, JavaScript, Git, WordPress, Битрикс, Joomla, Drupal, OpenCart, DLE, Laravel, Moonshine, Symfony, SuiteCRM.

Оптимизирую сайты под Google Page Speed, настраиваю импорты для больших магазинов на WooCommerce + WP All Import. Пишу плагины на заказ. Все мои услуги.

Веду блог о разработке, дайджест в телеграмме и в ВК.

Вы всегда можете нанять меня.

Комментарии
Подписаться
Уведомить о
guest

2 комментариев
Межтекстовые Отзывы
Посмотреть все комментарии
Алексей Карпов
5 лет назад

Полезно, спасибо!

Предыдущая запись
Следующая запись

Давайте дружить
в Telegram

Авторский блог вашего покорного слуги в Telegram про web, программирование, алгоритмы, инструменты разработчика, WordPress, Joomla, Opencart, Laravel, Moonshine, фильмы и сериалы