You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在无显示器的Rocky Linux 9云服务器上截取渲染后的HTML/本地网站截图

如何在无显示器的Rocky Linux 9云服务器上截取渲染后的HTML/本地网站截图

我之前帮不少朋友处理过类似的无显示器服务器截图需求,针对你的Rocky Linux 9场景,完全不需要外接显示器或者折腾XRDP会话,直接用命令行工具就能搞定,推荐两个靠谱的方案,分别适配不同的页面复杂度:

方案一:用wkhtmltoimage(轻量高效,适合简单静态/轻量动态页面)

这个工具是专门把HTML直接转成图片的命令行工具,渲染逻辑贴近webkit内核,安装和使用都很简单:

  • 先安装依赖的EPEL仓库(工具托管在这个仓库里):
    dnf install epel-release -y
    
  • 安装wkhtmltoimage:
    dnf install wkhtmltoimage -y
    
  • 实际使用:
    • 截取本地运行的web应用页面:
      wkhtmltoimage http://localhost/your-app-url output-screenshot.png
      
    • 直接截取本地磁盘上的HTML文件:
      wkhtmltoimage file:///var/www/html/your-edited-page.html local-page.png
      
    • 要是遇到“找不到X服务器”的错误,就用xvfb虚拟一个X环境来运行(先装xvfb:dnf install xvfb -y):
      xvfb-run wkhtmltoimage http://localhost/your-app-url output.png
      

方案二:用Chromium无头模式(贴近真实浏览器,适合复杂JS渲染页面)

如果你的用户编辑的HTML里有大量JS动态效果(比如拖拽组件、实时渲染的交互元素),用Chromium的无头模式截图会更准确,因为它和普通Chrome的渲染逻辑完全一致:

  • 安装Chromium浏览器:
    dnf install chromium-browser -y
    
  • 基础截图命令:
    chromium-browser --headless --disable-gpu --screenshot=app-screenshot.png http://localhost/your-app-path
    
  • 自定义截图分辨率(比如要1920x1080的高清图):
    chromium-browser --headless --disable-gpu --window-size=1920,1080 --screenshot=high-res.png http://localhost/your-app-path
    
    这个工具自带无头模式,完全不需要X服务器或者桌面环境,直接命令行运行就能生成和真实浏览器一致的截图。

一些额外注意事项

  • 先确认你的web应用在本地能正常访问:可以用curl http://localhost/your-app-path测试,确保能返回完整的HTML内容
  • 生成的图片文件可以直接复制到内网共享目录,或者用scp工具传到内网机器(如果网络允许的话)
  • 你之前安装的“Server with GUI”其实用不上这些工具,要是想节省服务器资源,甚至可以把GUI组卸载,完全不影响截图功能

备注:内容来源于stack exchange,提问作者Paul Folkers

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.04.16 10:40:33