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

相关推荐
杯莫停丶20 分钟前
Linux基础指令大全
linux·运维·chrome
阿芯爱编程23 分钟前
最长和谐子序列,滑动窗口
前端·javascript·面试
你脸上有BUG42 分钟前
Css实现悬浮对角线边框动效
前端·css·动画
烛阴1 小时前
开发者神器:如何在浏览器控制台玩转第三方库,让调试效率翻倍!
前端·javascript
crary,记忆1 小时前
Module Federation 和 Native Federation 的比较
前端·webpack·angular
why技术1 小时前
翻译翻译,什么叫“编程专用”的显示器?
前端·后端
拉不动的猪2 小时前
JQ常规面试题
前端·javascript·面试
海上彼尚2 小时前
Monorepo + PNPM 搭建高效多项目管理
前端·js·源代码管理
Random_index2 小时前
#Uniapp篇:chrome调试&&unapp适配
前端·chrome·uni-app