问题描述
虽然我们在 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, The feature-rich screenshot tool
shutter-project/shutter: Screenshot tool for Linux
Shutter in Launchpad
Shutter | Shutter – Screenshot Tool
Shutter – Screenshot Tool | Shutter – Screenshot Tool website
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 类似,但是具有录屏功能。具备如下功能:
能够在截图前进行短暂停顿,以允许用户进行准备;
还有些效果设置,比如:截图是否包含鼠标、边框等等;
在截图后,能够保存到目录;
并且,能够记录声音;
在录屏前,能够等待,以允许用户准备;
安装运行
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, Powerful yet simple to use screenshot software.(正在使用)
功能特性
功能丰富且简单易用的截图工具。具有以下功能:
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 截取特定窗口。
其他工具
Snagit = The Best Screen Capture Software (Free Trial) | TechSmith
参考文献
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