Linux系统提供了多种截屏方式,涵盖命令行工具和图形界面操作,可满足不同场景需求,无论是快速截取全屏、选定区域,还是延时截屏、编辑标注,用户都能通过合适的工具高效完成。
命令行截屏工具:灵活高效,适合自动化
命令行工具通过参数控制截屏行为,适合脚本编写或远程服务器环境使用,无需图形界面支持,以下是常用工具及用法:
scrot
:轻量级通用截屏工具
scrot
是Linux社区广泛使用的命令行截屏工具,支持全屏、窗口、区域截屏,并可设置延时、命名规则等。
- 安装(不同发行版):
- Debian/Ubuntu:
sudo apt install scrot
- Fedora:
sudo dnf install scrot
- Arch:
sudo pacman -S scrot
- Debian/Ubuntu:
- 常用参数:
scrot
:截取全屏并保存为当前时间命名的PNG文件(默认路径)。scrot -s
:鼠标拖拽选定区域截屏。scrot -u
:截取当前活动窗口(需焦点窗口)。scrot -d 5
:延时5秒后截屏,适合准备窗口布局。scrot -e 'mv $f ~/Pictures/'
:截屏后直接移动到指定目录。
gnome-screenshot
:GNOME环境原生工具
若系统使用GNOME桌面(如Ubuntu默认),gnome-screenshot
可直接调用,支持窗口截屏、延时保存等功能。
- 安装:通常已预装,若缺失可通过
sudo apt install gnome-screenshot
安装。 - 常用参数:
gnome-screenshot
:截取全屏。gnome-screenshot -w
:截取当前窗口。gnome-screenshot -a
:鼠标选定区域。gnome-screenshot -d 3
:延时3秒截屏。gnome-screenshot -c
:截屏并复制到剪贴板(无需保存文件)。
flameshot
:功能强大的图形化+命令行工具
flameshot
结合了命令行灵活性和图形化编辑,支持标注、打码、上传等功能,适合需要后期处理的场景。
- 安装:
- Ubuntu:
sudo apt install flameshot
- Arch:
sudo pacman -S flameshot
- Ubuntu:
- 命令行用法:
flameshot full
:截取全屏并打开编辑器。flameshot gui
:启动图形化截屏界面(支持区域选择、实时标注)。flameshot screen -p ~/Pictures
:截取指定屏幕(多屏环境)并保存到目录。
import
(ImageMagick组件):支持复杂参数
ImageMagick的import
工具可将屏幕区域保存为图像,支持格式转换、质量调整等。
- 安装:
sudo apt install imagemagick
- 示例:
import -window root screenshot.png
:截取全屏(等同于import screenshot.png
)。import -crop 100x100+50+50 screenshot.png
:截取屏幕坐标(50,50)起始的100×100区域。
ffmpeg
:截取视频帧或屏幕流
ffmpeg
不仅能处理视频,还可通过X11grab接口截取屏幕实时画面,适合动态内容记录。
- 安装:
sudo apt install ffmpeg
- 示例:
ffmpeg -f x11grab -i :0.0 output.mp4
:录制全屏视频(默认60fps)。ffmpeg -f x11grab -i :0.0 -vframes 1 screenshot.png
:截取当前屏幕为单张图片。
桌面环境自带工具:即开即用,适合普通用户
主流Linux桌面环境均内置图形化截屏工具,通常通过快捷键或菜单调用,操作简单直观。
GNOME(Ubuntu、Fedora Workstation等)
- 快捷键:
Print Screen
(PrtScn):截取全屏,保存默认目录。Ctrl+Print Screen
:截取当前窗口,自动保存。Shift+Print Screen
:打开截屏界面,支持区域选择和标注。
- 工具入口:应用菜单搜索“Screenshot”或设置中自定义快捷键。
KDE Plasma(openSUSE、Kubuntu等)
- 工具名称:
KSnapshot
或Spectacle
(新版)。 - 快捷键:
Print Screen
:全屏截屏,自动保存。Alt+Print Screen
:截取当前窗口。Shift+Print Screen
:打开Spectacle界面,支持区域、滚动窗口截屏。
XFCE(Xubuntu、Linux Mint Xfce等)
- 工具名称:
Xfce4-screenshooter
。 - 快捷键:默认
Print Screen
,弹出截屏工具栏,可选择全屏、窗口、区域,并直接编辑或上传。
高级用法:提升截屏效率
- 截屏并自动编辑:使用
flameshot gui
后,可通过画笔、箭头、文字、马赛克等功能标注图片,适合教程制作。 - 截屏到剪贴板:通过
gnome-screenshot -c
或xclip
(安装sudo apt install xclip
)将图片直接复制到剪贴板,粘贴到聊天工具或文档中。 - 定时截屏:结合
at
或cron
命令,例如echo "scrot ~/screenshot_$(date +%F_%H%M).png" | at 10:00
,实现定时自动截屏。
常用命令行截屏工具对比
工具名称 | 所属包/安装命令 | 适用场景 | 常用参数示例 | 备注 |
---|---|---|---|---|
scrot |
scrot (apt/dnf/pacman) |
通用命令行截屏 | scrot -s (选定区域)、-d 5 (延时) |
轻量,依赖少 |
gnome-screenshot |
gnome-screenshot (GNOME自带) |
GNOME环境截屏 | -w (窗口)、-c (复制剪贴板) |
与GNOME深度集成 |
flameshot |
flameshot |
需要编辑或上传的截屏 | gui (图形界面)、full (全屏) |
支持标注、打码、云上传 |
import |
imagemagick |
需要复杂参数控制的截屏 | -crop (裁剪区域)、-quality (质量) |
支持多种图像格式 |
ffmpeg |
ffmpeg |
视频帧或动态屏幕截取 | -f x11grab (屏幕流)、-vframes 1 |
适合录制屏幕后提取单帧 |
相关问答FAQs
Q1: 如何使用命令行截屏并自动上传到图床?
A: 可结合scrot
(截屏)和curl
(上传)实现,先截屏并保存到临时文件:scrot /tmp/s.png
,再通过图床API上传(以Imgur为例,需提前获取API密钥):curl -X POST -H "Authorization: Client-ID YOUR_CLIENT_ID" -F "image=@/tmp/s.png" https://api.imgur.com/3/upload
,返回结果会包含图片链接,也可使用picup
等专门的上传工具简化流程。
Q2: 如何截取特定应用程序的窗口(排除其他窗口)?
A: 不同工具有对应方法:
- 命令行:
scrot -u
(截取当前焦点窗口)或gnome-screenshot -w
(GNOME环境截取活动窗口)。 - 图形界面:在GNOME中按
Shift+Print Screen
,点击目标窗口;在KDE中使用Spectacle,选择“窗口”模式并点击目标窗口。 - 注意:若窗口有透明效果或边框,需确保工具支持“包含边框”选项(如
gnome-screenshot
默认包含窗口边框)。
原创文章,发布者:酷番叔,转转请注明出处:https://cloud.kd.cn/ask/23176.html