在Linux系统中,如何通过多种方法完成截屏?工具、命令和快捷键有哪些?

Linux系统提供了多种截屏方式,涵盖命令行工具和图形界面操作,可满足不同场景需求,无论是快速截取全屏、选定区域,还是延时截屏、编辑标注,用户都能通过合适的工具高效完成。

linux 如何截屏

命令行截屏工具:灵活高效,适合自动化

命令行工具通过参数控制截屏行为,适合脚本编写或远程服务器环境使用,无需图形界面支持,以下是常用工具及用法:

scrot:轻量级通用截屏工具

scrot是Linux社区广泛使用的命令行截屏工具,支持全屏、窗口、区域截屏,并可设置延时、命名规则等。

  • 安装(不同发行版):
    • Debian/Ubuntu:sudo apt install scrot
    • Fedora:sudo dnf install scrot
    • Arch:sudo pacman -S scrot
  • 常用参数
    • 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结合了命令行灵活性和图形化编辑,支持标注、打码、上传等功能,适合需要后期处理的场景。

linux 如何截屏

  • 安装
    • Ubuntu:sudo apt install flameshot
    • Arch:sudo pacman -S flameshot
  • 命令行用法
    • 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等)

  • 工具名称KSnapshotSpectacle(新版)。
  • 快捷键
    • Print Screen:全屏截屏,自动保存。
    • Alt+Print Screen:截取当前窗口。
    • Shift+Print Screen:打开Spectacle界面,支持区域、滚动窗口截屏。

XFCE(Xubuntu、Linux Mint Xfce等)

  • 工具名称Xfce4-screenshooter
  • 快捷键:默认Print Screen,弹出截屏工具栏,可选择全屏、窗口、区域,并直接编辑或上传。

高级用法:提升截屏效率

  • 截屏并自动编辑:使用flameshot gui后,可通过画笔、箭头、文字、马赛克等功能标注图片,适合教程制作。
  • 截屏到剪贴板:通过gnome-screenshot -cxclip(安装sudo apt install xclip)将图片直接复制到剪贴板,粘贴到聊天工具或文档中。
  • 定时截屏:结合atcron命令,例如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等专门的上传工具简化流程。

linux 如何截屏

Q2: 如何截取特定应用程序的窗口(排除其他窗口)?
A: 不同工具有对应方法:

  • 命令行:scrot -u(截取当前焦点窗口)或gnome-screenshot -w(GNOME环境截取活动窗口)。
  • 图形界面:在GNOME中按Shift+Print Screen,点击目标窗口;在KDE中使用Spectacle,选择“窗口”模式并点击目标窗口。
  • 注意:若窗口有透明效果或边框,需确保工具支持“包含边框”选项(如gnome-screenshot默认包含窗口边框)。

原创文章,发布者:酷番叔,转转请注明出处:https://cloud.kd.cn/ask/23176.html

(0)
酷番叔酷番叔
上一篇 4小时前
下一篇 4小时前

相关推荐

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

联系我们

400-880-8834

在线咨询: QQ交谈

邮件:HI@E.KD.CN

关注微信