我正在运行 Centos 7 服务器,并在其上安装了 LAMP,一切运行正常。我可以通过 SSH 进行所有操作。
但碰巧我需要每小时在 Chrome 中打开一个网站。我无法通过其他方式做到这一点,我真的需要让 Chrome 打开该网站并将屏幕保存在图像文件中。我曾考虑在我的 Centos 7 服务器上安装 Chrome,但我意识到它没有物理屏幕。
我读了很多,有一个叫做“屏幕”的东西,但我认为这不是我需要的。有人知道如何使用 SSH 打开 chrome 浏览器窗口并要求我的 Centos 对其进行截图吗?
答案1
假设您安装了 Chrome,并且它每小时刷新一次,那么您可以使用 ImageMagick 附带的 import 命令来截取屏幕截图。如果一切正常,请设置一个 cronjob 来每小时运行一次 import 命令。
For CentOS:
yum install ImageMagick ImageMagick-devel # I did not test this.
For Ubuntu:
apt-get install imagemagick # How I tested it.
import -window root screenshot.png
screen 命令允许您以交互方式运行命令,断开 ssh 会话后命令不会受到影响;即使您已注销,命令仍会继续运行。您可以稍后重新登录并重新连接到 screen 会话。
您可以使用 VNC 设置显示器,并在显示器上运行浏览器,然后捕获显示器的屏幕截图。
vncserver :1 -geometry 1920x1080 -depth 24
screen
DISPLAY=":1"; export DISPLAY; midori # Browser I tested.
按 CTRL-a d 退出运行浏览器的屏幕会话。
DISPLAY=":1"; export DISPLAY; import -window root screenshot.png
查看您的活动屏幕会话。
screen -ls
重新连接到屏幕会话。
screen -r "screen id"