「Linux」- 截图工具

  CREATED BY JENKINSBOT

问题描述

虽然我们在 Linux 中办公(编程),但是许多日常工作需求与在 Windows 下是及其相似的。比如,该笔记将记录的截图。所谓一图胜千言,截图操作是在日常沟通中的重要操作,在某些留证说明中也要使用截图。不管是用 Windows macOS Linux 系统,截图都是我们必须要进行的事情。

所以,拥有一款好用的截图软件为非常必要的。在 Windows 中,我们能够使用某些通讯工具内置的截图功能。但是,在 Linux 中,就需要自己折腾(自行寻找合适的工具,或者自行开发)。

该笔记将记录:在 Linux 中,我们用过的截图工具,以及使用经验、常用问题处理等等。

解决方案

GNOME Screenshot

功能特性

GNOME Screenshot 是 GNOME 自带的截图工具,我们最早使用的截图软件。具有以下功能:
1)截取屏幕、截图特定窗口、截取特定区域;
2)并且,能够在截图前进行短暂停顿,以允许用户进行准备;
3)还有些效果设置,比如:截图是否包含鼠标、边框等等;
4)在截图后,能够复制到剪贴板,或者保存到目录;

安装运行

apt-get install gnome-screenshot
gnome-screenshot -i # 默认截图,使用选项 -i 显示图形界面

常用设置

1)修改默认截图使用 jpg 格式:gsettings set org.gnome.gnome-screenshot default-file-type jpg

使用体验

现在(03/21/2021),我们放弃使用 GNOME Screenshot 工具,原因是我们需要在图片中注解、打码、标注等等,但是该工具还未支持这些功能(gnome-screenshot 3.36.0)。但也未完全放弃:在进行特定窗口截图时,我们还会使用该应用(在 Linux 中就是这个样子 —— 某些问题就是需要同时使用多种工具才能解决)。

Scrot (SCReenshOT)

功能特性

Scrot 是命令行截图工具,因此交互性较弱,但能够用于某些脚本任务。具有以下功能:
1)能够支持区域选择、截图特定窗口;
2)针对图片:多种格式、质量优化、追加文本;
3)以及,定义格式化的图片名称、在截图后运行其他程序等等;

安装运行

apt-get install scrot
scrot '%Y-%m-%d_$wx$h_scrot.png' -e 'mv $f ~/images/shots/' # 截图,然后移动到指定目录下

使用体验

我们还未使用该工具,毕竟截图无法保存到剪贴板,且无法进行编辑,这与我们的需求不符。但是,正如该工具的介绍所说,我们能够将其用于脚本自动化、缺乏管理的 PC 监控等等场景中。

import(ImageMagic)

功能特性

在 ImageMagic 中,命令 import 也支持屏幕截图。具有以下功能:
1)能够进行区域截图:improt tmp.png
2)也可以进行全屏截图:import -window root tmp.png

安装运行

apt-get install imagemagick
import this-window.png # 此时鼠标指针会发生变化,以提示用户选择窗口,或者选择特定区域

使用体验

这也是命令行截图工具,能够在脚本中使用,存在与 Scrot 相同的问题。比如,在截图后,要么保存到指定文件,要么提示选择保存路径,无法同步到剪贴板留作粘贴。

Shutter

shutter-project/shutter: Screenshot tool for Linux
Shutter in Launchpad
Shutter | Shutter – Screenshot Tool

Shutter 是功能极其丰富的截图软件,远超其他截图工具。具有以下功能:
1)截取:支持区域选择及大小调整、特定窗口截图、全屏截图、浏览器页面截图;
2)编辑:具有打码、追加文字、追加图片等等功能,其实内置轻量级图片编辑器;

安装运行

snap install shutter
snap run shutter

使用体验

但是,好东西就是这个样子 —— 已停止更新,现在没有适用于 GTK+3 版本,需要通过 Snap 安装。并且仍然存在部分问题:在 Debian 中,会出现图标显示不完整、响应慢等等问题;在 Ubuntu 20.04 TLS 中表现很好,未出现那些问题。

GIMP

GIMP 具有截图功能,位于 File => Create Screenshot 菜单,但是 GIMP 是大型图片处理软件,并非用于截图的应用(这是我们仅进行记录,就像 PhotoShop 支持截图,不足为奇)。

Kazam

功能特性

Kazam 功能与 GNOME Screenshot 类似,但是具有录屏功能。具备如下功能:

1)截图:
截取屏幕、截图特定窗口、截取特定区域;

能够在截图前进行短暂停顿,以允许用户进行准备;

还有些效果设置,比如:截图是否包含鼠标、边框等等;

在截图后,能够保存到目录;

2)录屏:
能够录制屏幕,生成 .mp4 文件;

并且,能够记录声音;

在录屏前,能够等待,以允许用户准备;

安装运行

snap install kazam
kazam

使用体验

针对截图,我们未使用该工具,原因如下:在截图后,要么保存到文件,要么提示你选择保存路径,无法同步到剪贴板留作粘贴;此外,无法进行图片的编辑操作;

Deepin Screenshot

功能特性

Deepin Screenshot 使用体验与 Wechat、QQ 内置的截图功能极其相似,具有以下功能:
1)截图:截图窗口、截图桌面、选定区域、调整大小;
2)编辑:内容框选、追加文本、箭头标记、绘制线条;

安装运行

apt-get install deepin-screenshot
deepin-screenshot

使用体验

我们今天(10/28/2020)试用 Deepin Screenshot 截图,功能还是很棒的,基本能够满足需求(比如截图到剪切板、标注图片、添加文本(配合 Fcitx 运行正常)等等)。鉴于是在 Deepin 环境下的截图软件,所以软件依赖可能较多。

今天(01/14/2021)我们截图无法复制到剪贴板的问题。也许是因为系统环境,或者 QT 应用的常见问题。

Flameshot(正在使用)

功能特性

功能丰富且简单易用的截图工具。具有以下功能:
1)截图:选定区域、全屏截图;
2)编辑:打码、添加文本、选框标记等等;

安装运行

apt-get install flameshot
flameshot gui # 启动截图

常用配置

1)使用 flam1eshot config 命令,以启动图形界面来配置属性;
2)或者,配置 ~/.config/flameshot/flameshot.ini 文件;
3)对于 0.8.5 (debian) 版本,配置 ~/.config/Dharkael/flameshot.ini 文件;

修改 flameshot.ini 文件的 drawColor 属性,以修改选框的颜色。

使用体验

这是我们目前(03/22/2021)正在使用的截图软件,使用体验与 Wechat、QQ 内置的截图功能极其相似。唯一的不足是,暂时无法截图特定窗口(Selecting a window in GUI mode · Issue #5 · flameshot-org/flameshot)。所幸这种需求比较小,我们在必要时会使用 GNOME Screenshot 截取特定窗口。

参考文献

5 Tools to Take or Capture Desktop Screenshots in Ubuntu Linux
5 Ways to Take Screenshot in Linux
Ask Ubuntu / How do I take a screenshot?
flameshot-org/flameshot: Powerful yet simple to use screenshot software
How do I change dconf keys without a gui (for a post-install script)? – Ask Ubuntu
How to create animated GIF images of a screencast?
How To Fix Disabled Edit Option In Shutter in Ubuntu 18.04 & Mint 19 – It’s FOSS
How to make sure gnome-screenshot saves an image as jpg rather than png
Make Animated Screenshot Gifs Using Gifine for Linux