当前位置: 首页 > web >正文

CentOS 如何使用截图工具截取命令行操作的图片?

一、图形界面截图工具(推荐)

1. GNOME 自带截图工具

适用场景:本地图形界面(GNOME 桌面)
操作步骤

# 截取当前终端窗口(含边框)
gnome-screenshot -w -f ~/terminal.png# 截取当前终端窗口(去除边框)
gnome-screenshot -w -B -f ~/terminal-borderless.png# 延迟5秒截图(用于准备操作)
gnome-screenshot -d 5 -w -f ~/terminal-delay.png

参数说明

  • -w:捕获当前活动窗口
  • -B:移除窗口边框
  • -d:设置延迟时间(秒)
  • -f:指定输出路径
2. Shutter(专业截图工具)

安装方法

# 添加软件源
sudo dnf copr enable kwizart/shutter -y# 安装Shutter
sudo dnf install shutter -y

核心功能

  • 滚动截图:通过Ctrl+Alt+A快捷键启动,选择区域后点击滚动按钮自动捕获长页面22
  • 编辑功能:支持添加标注、马赛克、水印等,截图后可直接在软件内编辑7
  • 命令行调用
    # 截取指定区域
    shutter -s -o ~/region.png# 截取整个屏幕
    shutter -d 5 -o ~/fullscreen.png
    

二、纯命令行截图工具

1. scrot(轻量级工具)

安装方法

sudo dnf install scrot -y

常用命令

# 截取当前终端窗口
scrot -u -d 2 ~/terminal.png# 截取滚动内容(需手动滚动并多次截图)
scrot -u -d 2 ~/part1.png
sleep 2; scrot -u -d 2 ~/part2.png

进阶技巧

  • 拼接多张截图
    montage part1.png part2.png -tile 1x2 -geometry +0+0 merged.png
    

    (需先安装 ImageMagick:sudo dnf install ImageMagick -y
2. fbgrab(无图形界面截图)

适用场景:服务器环境(无 X Window)
安装方法

sudo dnf install fbgrab -y

操作示例

# 截取整个屏幕
fbgrab -o ~/fbgrab.png# 截取指定区域(需先查询坐标)
xwininfo -root
fbgrab -x 100 -y 200 -w 800 -h 600 -o ~/region.png

三、远程环境截图方案

1. 终端模拟器内置功能

Terminator(分屏终端)

# 安装Terminator
sudo dnf install terminator -y# 快捷键操作:
Ctrl+Shift+c 复制选中区域
Ctrl+Shift+v 粘贴到本地剪贴板

FinalShell(远程管理工具)

  1. 登录服务器后,右键点击终端窗口
  2. 选择「截图」→「截取屏幕」
  3. 支持区域截图、窗口截图及滚动截图9
2. byzanz(动态操作录制)

安装方法

sudo dnf install byzanz -y

录制命令

# 录制10秒动态操作(含鼠标)
byzanz-record -d 10 -c ~/operation.gif# 自定义区域录制
byzanz-record -x 500 -y 300 -w 800 -h 600 -d 15 ~/region.gif

四、性能优化与细节调整

1. 终端字体优化

调整字体大小

# GNOME终端
gsettings set org.gnome.Terminal.Legacy.Profile:/:b1dcc9dd-5262-4d8d-a863-c897e6d979b9/ font 'Monospace 14'# 查看当前字体设置
gsettings get org.gnome.Terminal.Legacy.Profile:/:b1dcc9dd-5262-4d8d-a863-c897e6d979b9/ font

颜色主题推荐

  • Solarized Dark:通过gnome-tweak-tool安装主题包
  • Dracula:使用gsettings导入配置:

    bash

    gsettings set org.gnome.Terminal.Legacy.Profile:/:b1dcc9dd-5262-4d8d-a863-c897e6d979b9/ background-color '#282a36'
    gsettings set org.gnome.Terminal.Legacy.Profile:/:b1dcc9dd-5262-4d8d-a863-c897e6d979b9/ foreground-color '#f8f8f2'
    
2. 截图质量优化

启用压缩

# scrot 压缩输出
scrot -z -u ~/terminal.png# gnome-screenshot 调整质量
gnome-screenshot -w -f ~/terminal.png -q 90

分辨率适配

# 调整截图分辨率(ImageMagick)
convert ~/terminal.png -resize 1920x1080 ~/terminal-hd.png

五、特殊场景解决方案

1. 无图形界面服务器

方案 1:script 命令记录会话

# 开始录制
script -a ~/session.log# 结束录制
exit

方案 2:asciinema 录制动态终端

# 安装asciinema
sudo dnf install asciinema -y# 开始录制
asciinema rec ~/session.cast# 生成GIF
asciinema play ~/session.cast --loop --speed=2 -o ~/session.gif
2. 跨平台同步截图

方案 1:SSH 隧道转发

# 本地执行(需安装XQuartz)
ssh -X root@server_ip "gnome-screenshot -w -f /tmp/remote.png"
scp root@server_ip:/tmp/remote.png ~/

方案 2:MobaXterm(Windows 客户端)

  1. 登录服务器后,右键点击终端窗口
  2. 选择「Capture screenshot」
  3. 支持直接保存到本地或复制到剪贴板9

六、常见问题处理

问题现象解决方案
截图模糊1. 增大终端字体(建议 14 号以上)
2. 启用抗锯齿(gsettings set org.gnome.Terminal.Legacy.Profile:/:b1dcc9dd-5262-4d8d-a863-c897e6d979b9/ use-system-font false
滚动截图不完整1. 使用 Shutter 的自动滚动功能
2. 分屏录制(byzanz-record
远程截图黑屏1. 检查防火墙是否放行 X11 端口
2. 尝试export DISPLAY=:0后再截图

通过以上方案,您可以在 Rocky Linux 系统中灵活实现命令行操作的截图需求。对于复杂场景(如服务器无图形界面),推荐优先使用scrotfbgrab;对于需要编辑功能的场景,Shutter 是更优选择。实际操作中可根据具体需求组合使用工具,例如通过byzanz录制动态操作并结合ImageMagick进行后期处理。

http://www.xdnf.cn/news/2137.html

相关文章:

  • 定制一款国密浏览器(12):分析SM2签名算法的实现
  • 在 Linux 上安装 PNPM 的教程
  • Git分支重命名与推送参数解析
  • 案例速成GO操作redis,个人笔记
  • LeetCode100题
  • 案例速成GO+redis 个人笔记
  • 【springboot知识】配置方式实现SpringCloudGateway相关功能
  • TortoiseGit 入门指南
  • Linux基础命令总结
  • 【设计模式区别】装饰器模式和适配器模式区别
  • C#中wpf程序中的x名空间详解
  • CSS3布局方式介绍
  • 如何修改npm的全局安装路径?
  • 【Token系列】02 | Embedding是怎么“长出来”的?从查表到训练过程全解
  • git和github的使用指南
  • 探索具身智能协作机器人:技术、应用与未来
  • 苹果(IOS)手机怎么开启开发者模式(简单明了版)
  • 在QML中获取当前时间、IP和位置(基于网络请求)
  • 机器学习:逻辑回归实现二元分类
  • 【解决】trying to draw too large(147456000bytes) bitmap
  • 当自动驾驶遇上“安全驾校”:NVIDIA如何用技术给无人驾驶赋能?
  • Redis和MQ的区别
  • WEB安全--RCE--webshell bypass
  • 数据分析岗位-相关知识
  • Nginx性能优化:从配置到缓存,全面提升Web服务器性能
  • Datawhale AI春训营二期---使用AI实现老人的点餐效果(关于task2的相关思考)
  • [FPGA Video IP] Video Processing Subsystem
  • 基于Tcp协议的应用层协议定制
  • 软件技术专业
  • CF-Hero:自动绕过CDN找真实ip地址