scrot + xclip
Você pode usar scrot
com xclip
para tirar uma captura de tela e copiá-la para a área de transferência.
scrot '/tmp/%F_%T_$wx$h.png' -e 'xclip -selection clipboard -target image/png -i $f'
Ele irá capturar toda a sua tela e copiar a imagem para a área de transferência. Se você deseja capturar a janela atual, use -u
flag. Para a seleção de uma área específica, você pode adicionar -s
flag. Veja $ man scrot
para mais opções.
Ele armazenará sua captura de tela no diretório /tmp
. Você pode alterar esse diretório onde quer que ele seja armazenado. Os arquivos do diretório /tmp
geralmente são excluídos após cada reinicialização. Se você quiser remover imediatamente o arquivo armazenado, faça algo como:
scrot -w '/tmp/%F_%T_$wx$h.png' -e 'xclip -selection clipboard -target image/png -i $f && rm $f'
Como eu li em outros comentários, você precisa copiar uma imagem para a área de transferência. Espero que isso responda à sua pergunta.
Se você só precisa copiar um arquivo de imagem já existente para a área de transferência:
cat 2018-06-16-224938_670x730_scrot.png | xclip -selection clipboard -target image/png -i
Você pode definir atalhos de teclado / atalhos de teclado de acordo com seu ambiente de área de trabalho atual / gerenciador de janelas.
Bônus
Explicação de /tmp/%F_%T_$wx$h.png
:
Está sendo usado como o nome do arquivo. Estes são chamados format specifiers
. Eles são de dois tipos: começando com %
ou $
.
%F Equivalent to %Y-%m-%d (the ISO 8601 date format).
%T The time in 24-hour notation (%H:%M:%S).
%F_%T_
imprimirá algo como: 2018-06-17_02:52:19_
, ou seja, seu timestamp atual. Você pode personalizar o formato conforme suas necessidades. Veja $ man strftime
para mais ajuda.
$wx$h
são parte dos especificadores internos do scrot.
$w image width
$h image height
Assim, o nome do arquivo final será parecido com 2018-06-17_02:52:19_1365x384.png
.