Answers:
首先,安装python和pygtk
sudo apt-get install python pygtk
现在将以下脚本保存为imgclip.py(请参阅https://stackoverflow.com/questions/3571855/pasting-image-to-clipboard-in-python-in-linux)
#! /usr/bin/python
import pygtk
pygtk.require('2.0')
import gtk
import os
import sys
def copy_image(f):
assert os.path.exists(f), "file does not exist"
image = gtk.gdk.pixbuf_new_from_file(f)
clipboard = gtk.clipboard_get()
clipboard.set_image(image)
clipboard.store()
copy_image(sys.argv[1]);
要使用它:
python /path/to/imgclip.py filename.png
注意:在gimp和xournal中测试粘贴。注意:这适用于gnome桌面(因此是gtk)。我打赌kde有类似的东西
退房xclip
。它允许您从命令行将文本或文件移动到剪贴板。
编辑:
这篇文章中讨论了命令行截图应用程序:http://www.linux.com/archive/feed/57772包括scrot
。这是来自scrot
手册页:
scrot是一个使用imlib2库获取的屏幕捕获实用程序 并保存图像。scrot有几个选项,详情如下。指定 [file]作为保存屏幕截图的文件名。
最后一个选项是找到一个X应用程序,它只是在点击时截取屏幕截图(没有提示,对话框等),将其分配给热键组合并用于xdotool
从命令行模拟该按键?
xclip
并xsel
没有与图像工作,他们只显示文本内容合作。
xclip < image.jpg
和xclip -o > image2.jpg
其中的作品,但也没用;(
我将禁用Compiz的截图功能,只需转到System
- > Preferences
- > Keyboard Shortcuts
(在Desktop
类别下)并绑定Print Screen到Take a Screenshot
现在每当你点击PrintScreen一个sreencapture时,都会选择复制到剪贴板,或者只是为了保存文件。
Compiz
。
您可以使用scrot
with 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相当于%Y-%m-%d(ISO 8601日期格式)。 %T 24小时表示法的时间(%H:%M:%S)。
%F_%T_
将打印出类似的内容:2018-06-17_02:52:19_
即您当前的时间戳。您可以根据自己的要求自定义格式。请参阅$ man strftime
更多帮助。
$wx$h
是scrot内部说明符的一部分。
$ w图像宽度 $ h图像高度
所以最终的文件名看起来像2018-06-17_02:52:19_1365x384.png
。