scrot + xclip
Вы можете использовать scrot
с xclip
чтобы сделать скриншот и скопировать его в буфер обмена.
scrot '/tmp/%F_%T_$wx$h.png' -e 'xclip -selection clipboard -target image/png -i $f'
Он захватит весь ваш экран и скопирует изображение в буфер обмена. Если вы хотите захватить текущее окно, используйте флаг -u
. Для выбора конкретной области вы можете добавить флаг -s
. Смотрите $ man scrot
для большего количества вариантов.
Он сохранит ваш скриншот в каталоге /tmp
. Вы можете изменить этот каталог там, где вы хотите, чтобы он хранился. Файлы из каталога /tmp
обычно удаляются после каждой перезагрузки. Если вы хотите немедленно удалить сохраненный файл, сделайте что-то вроде:
scrot -w '/tmp/%F_%T_$wx$h.png' -e 'xclip -selection clipboard -target image/png -i $f && rm $f'
Как я читал в других комментариях, это нужно для копирования скриншота в буфер обмена. Надеюсь, это ответит на ваш вопрос.
Если вам просто нужно скопировать уже существующий файл изображения в буфер обмена:
cat 2018-06-16-224938_670x730_scrot.png | xclip -selection clipboard -target image/png -i
Вы можете установить сочетания клавиш / сочетания клавиш в соответствии с текущей рабочей средой / оконным менеджером.
бонус
Объяснение /tmp/%F_%T_$wx$h.png
:
Он используется в качестве имени файла. Они называются format specifiers
. Они бывают двух типов: начиная с %
или $
.
%F Equivalent to %Y-%m-%d (the ISO 8601 date format).
%T The time in 24-hour notation (%H:%M:%S).
%F_%T_
напечатает что-то вроде: 2018-06-17_02:52:19_
т.е. ваша текущая метка времени. Вы можете настроить формат в соответствии с вашими требованиями. Смотрите $ man strftime
для получения дополнительной помощи.
$wx$h
являются частью внутренних спецификаторов scrot.
$w image width
$h image height
Таким образом, окончательное имя файла будет выглядеть примерно так 2018-06-17_02:52:19_1365x384.png
.