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进行后期处理。

相关推荐
DC...26 分钟前
vue滑块组件设计与实现
前端·javascript·vue.js
Mars狐狸35 分钟前
AI项目改用服务端组件实现对话?包体积减小50%!
前端·react.js
H5开发新纪元44 分钟前
Vite 项目打包分析完整指南:从配置到优化
前端·vue.js
嘻嘻嘻嘻嘻嘻ys1 小时前
《Vue 3.3响应式革新与TypeScript高效开发实战指南》
前端·后端
恋猫de小郭1 小时前
腾讯 Kuikly 正式开源,了解一下这个基于 Kotlin 的全平台框架
android·前端·ios
2301_799404911 小时前
如何修改npm的全局安装路径?
前端·npm·node.js
(❁´◡双辞`❁)*✲゚*1 小时前
node入门和npm
前端·npm·node.js
韩明君1 小时前
前端学习笔记(四)自定义组件控制自己的css
前端·笔记·学习
tianchang1 小时前
TS入门教程
前端·typescript
吃瓜群众i1 小时前
初识javascript
前端