首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在端口80上使用Ubuntu服务器17截图

如何在端口80上使用Ubuntu服务器17截图
EN

Ask Ubuntu用户
提问于 2018-03-25 00:22:45
回答 2查看 1.4K关注 0票数 3

我使用安装在我的Ubuntu17Azure服务器上的Apache2部署了一个网页。

是否有一个命令,我可以运行从终端,我可以捕获我的网站截图通过端口80?

我尝试了以下命令:gnome-screenshot,但是由于它是一个服务器,所以它说:

代码语言:javascript
复制
Unable to init server: Could not connect: Connection refused

(gnome-screenshot:55421): Gtk-WARNING **: cannot open display: 

如何将端口号添加到此命令中,或者如何告诉命令从我的网页中获取屏幕截图?

EN

回答 2

Ask Ubuntu用户

回答已采纳

发布于 2018-03-25 16:18:12

正如评论者所指出的,在无头服务器上,您要做的事情并没有很好地定义。Apache服务器不发送网页的任何“图像”(只发送HTML标记);您通常看到的图像是由web浏览器生成的,浏览器可以根据屏幕大小(以及浏览器版本、设置等)不同地呈现相同的页面。如果没有屏幕,就没有清晰的方法来捕捉图像。

话虽如此,我听说过的一个可能的解决方案(可能是最简单的解决方案)是PhantomJS,一个无头浏览器:http://phantomjs.org/

不过,我还没有亲自使用过这种方法,您的里程可能会有所不同。

在服务器上进行图形化操作的一个更普遍的解决方案是创建一个显示,供使用Xvfb运行的GUI应用程序使用。这将允许您像您试图使用的那样使用gnome-screenshot。为此,从安装和运行Xvfb开始:

代码语言:javascript
复制
sudo apt-get install xvfb
export DISPLAY=:0
Xvfb $DISPLAY -screen 0 1920x1080x24 -shmem -cc 4 &

然后安装并运行Gnome:

代码语言:javascript
复制
sudo apt-get install gnome-panel gnome-screenshot
gnome-settings &
gnome-panel &
metacity &

你需要一个浏览器。任何人都可以,但我将使用Firefox,例如:

代码语言:javascript
复制
sudo apt-get install firefox

然后运行指向您想要的网页的浏览器(在您的例子中,是localhost端口80上的Apache服务器):

代码语言:javascript
复制
firefox http://localhost &

最后,截图就像你想要的那样:

代码语言:javascript
复制
gnome-screenshot

可选地,清理这些过程:

代码语言:javascript
复制
killall firefox Xvfb gnome-settings gnome-panel metacity

正如您所看到的,这个方法要复杂得多(而且资源很重:超过500 MB的安装),但是它的优点是您可以像在桌面上一样获取任何GUI应用程序的屏幕快照,而且它不仅限于截图网页。

票数 2
EN

Ask Ubuntu用户

发布于 2018-03-25 09:00:45

请看一下这个链接。http://www.upubuntu.com/2012/07/how-to-take-screenshot-from-terminal-on.html

或者在你的终端gnome上试试-屏幕截图--帮助

票数 0
EN
页面原文内容由Ask Ubuntu提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://askubuntu.com/questions/1018960

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档