答案1
gnome-screenshot
据我所知,仅截取当前屏幕不是默认行为,也不是 中的选项,也不是任何其他屏幕截图应用程序中的选项。
然而,就像几乎所有事物一样,它可以被编写成脚本。
一个例子
下面的脚本将会:
- 截屏
- 在任意目录中自动创建(编号)图像
自动裁剪图像到您当前所在的屏幕部分(从鼠标位置检索),并创建一个名为的裁剪图像:
cropped_<image>.png
为了防止覆盖早期的屏幕截图,这些裁剪的图像与原始图像一样进行编号。
截屏
如果我在左侧屏幕:
如果我在正确的屏幕上:
剧本
#!/usr/bin/env python3
import os
from PIL import Image
import subprocess
# ---set the name of your (automatically numbered) screenshots (no extension)
imagename = "screenshot"
# ---set the path to where you (want to) save your screenshots
savepath = "/home/jacob/Bureaublad"
def get(cmd):
return subprocess.check_output(cmd).decode("utf-8")
n = 1
while True:
name = imagename+"_"+str(n)+".png"
path = os.path.join(savepath, name)
if os.path.exists(path):
n += 1
else:
break
# make the shot
subprocess.call(["gnome-screenshot", "-f", path])
# get the width of the left screen
screenborder = [int(n) for n in [s for s in get("xrandr").split()\
if "+0+0" in s][0].split("+")[0].split("x")]
# read the screenshot
im = Image.open(path)
width, height = im.size
# get the mouse position
mousepos = int(get(["xdotool", "getmouselocation"]).split()[0].split(":")[1])
top = 0
bottom = height
if mousepos <= screenborder[0]:
left = 0
right = screenborder[0]
else:
left = screenborder[0]
right = width
# create the image
im.crop((left, top, right, bottom)).save(os.path.join(savepath, "cropped_"+name))
如何使用
该脚本需要
xdotool
,来获取鼠标位置:sudo apt-get install xdotool
此外,不确定是否
python3-pil
默认安装:sudo apt-get install python3-pil
- 将上述脚本复制到一个空文件中,另存为
crop_screenshot.py
在脚本的头部部分,设置屏幕截图的名称以及用于屏幕截图的目录:
# ---set the name of your (automatically numbered) screenshots (no extension) imagename = "screenshot" # ---set the path to where you (want to) save your screenshots savepath = "/home/jacob/Bureaublad"
从终端测试运行脚本:
python3 /path/to/crop_screenshot.py
结果:
如果一切正常,请将其添加到快捷方式。选择:系统设置 > “键盘” > “快捷方式” > “自定义快捷方式”。单击“+”并添加命令:
python3 /path/to/crop_screenshot.py
笔记
脚本只是简单地将图像分割到左屏幕的宽度上。这就足够了,因为你们的屏幕具有相同的 y 分辨率和对齐。
不过,脚本可以很好地编辑以使用任何屏幕排列,屏幕数量任意,只要屏幕排列不重叠即可。不过,在这种情况下,数学计算会稍微复杂一些。
如果有人感兴趣的话我稍后会添加。
答案2
尽管有上述优雅的脚本,但在 ubuntu 16.04 上我发现 alt-print-screen 如下所述: Print Screen 可捕获两个空间,而不是一个 有效。实际上,这只是打印当前窗口。如果目的是捕捉背景,我认为它不会起作用。
答案3
一个选项是按住Shift + PrtSc并将十字从显示器的一角拖到另一角。松开后,系统会截取该区域的屏幕截图。