“无头”是什么意思?


86

在阅读《QTKit应用程序编程指南》时,我遇到了“无头环境”一词-这是什么意思?这是段落:

...包括带有GUI的应用程序和旨在在“无头”环境中运行的工具。例如,您可以使用该框架编写用于处理QuickTime电影文件的命令行工具。

Answers:


112

在这种情况下,“无头”只是意味着没有图形显示。(即:基于控制台。)

许多服务器都是“无头的”,例如通过SSH进行管理。


2
它们存在于后台操作中。示例是在父操作系统上运行的虚拟服务器。他们不一定主动听键盘和鼠标事件。甚至没有屏幕。
Bimal Poudel

@JohnParker我的一位负责人说了一些关于无头行家的事情,这使我感到困惑,因为行家本身没有GUI。Maven中有无头模式吗?
Kasun Siyambalapitiya

11

您最有可能知道浏览器是什么。现在拿走GUI,您将拥有所谓的无头浏览器。无头浏览器可以执行与普通浏览器相同的所有操作,但速度更快。它们非常适合以编程方式自动化和测试网页。


1
@GayanPathirage PhantomJS是一个受欢迎的示例。
亚当·伯利

问题是关于无头环境而不是无头浏览器。这是今天刚刚学到的两件事。我们将Jenkins服务器配置为在动态docker实例上运行我们的硒测试。我们尝试获取浏览器的屏幕快照,这是可能的,因为浏览器不是无头的,但是当我尝试使用Robot类(java.awt.Robot)来获取屏幕截图时,由于环境具有Windows图形,我会遇到无头环境错误
Akash Chavan

6

无头意味着应用程序在没有图形用户界面(GUI)的情况下运行,有时甚至根本没有用户界面。

为此有类似的术语,它们在上下文和用法上略有不同。这里有些例子。

无头/幽灵/幻影

该术语更适用于重量级客户。这个想法是在非图形模式下(例如,以命令行)运行客户端。然后,客户端将运行,直到其任务完成,或者将通过提示符与用户进行交互。

例如,Eclipse可以在无头模式下运行。当在后台或构建工厂中运行作业时,此模式非常有用。

例如,您可以在图形模式下运行Eclipse来安装插件。如果您只是自己做,那就可以了。但是,如果您要打包打包供大型公司的开发人员使用的Eclipse,并且想跟上所有更新的步伐,那么您可能希望找到一种更具可复制性,自动的简便方法。

那就是无头模式出现的时候:您可以在命令行中运行带有指示要安装哪些插件的参数的Eclipse。

这种方法的好处是它可以集成在构建工厂中!

不露面

该术语更适用于大规模应用。它是由UX设计师创造的。一个不露面的应用程序会与用户互动,而传统上是专门针对人类用户的,例如邮件,短信,电话...,但不是GUI。

例如,某些公司使用SMS作为与用户对话的入口点:用户向特定号码发送包含请求的SMS。这会触发自动化服务来运行并回复用户。

这是一个很好的用户体验,因为一个人可以通过电话执行某些任务。您不一定需要建立互联网连接,并且与应用程序的同步是同步的。

在后端,服务可以确定它不理解用户的请求,并退出自动模式。然后,用户以交互方式与操作员进入,而无需更改其通信工具。


0

无头可以用不需要GUI的浏览器或程序来表示。对于普通人来说查看并仅将信息以代码形式传递给另一个程序并没有真正的用处。

那么为什么要使用无头程序呢?

仅仅是因为它改进了speedand,performance并且对所有用户(包括有权访问图形卡的用户)可用。允许testing browserless setups并帮助您multitask

无头浏览器指南

什么是GUI?

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.