【发布时间】:2023-03-31 04:48:01
【问题描述】:
在阅读QTKit Application Programming Guide 时,我遇到了“无头环境”一词——这是什么意思?这段话是这样的:
...包括带有 GUI 的应用程序和旨在在“无头”环境中运行的工具。例如,您可以使用该框架编写用于操作 QuickTime 电影文件的命令行工具。
【问题讨论】:
标签: terminology headless
在阅读QTKit Application Programming Guide 时,我遇到了“无头环境”一词——这是什么意思?这段话是这样的:
...包括带有 GUI 的应用程序和旨在在“无头”环境中运行的工具。例如,您可以使用该框架编写用于操作 QuickTime 电影文件的命令行工具。
【问题讨论】:
标签: terminology headless
无头意味着应用程序在没有图形用户界面 (GUI) 的情况下运行,有时甚至根本没有用户界面。
对此有类似的术语,它们在略有不同的上下文和用法中使用。以下是一些示例。
这个词更适用于重量级客户。这个想法是以非图形模式运行客户端,例如使用命令行。然后客户端将一直运行,直到其任务完成或通过提示与用户交互。
例如,Eclipse 可以在无头模式下运行。当需要在后台或构建工厂中运行作业时,此模式会派上用场。
例如,您可以在图形模式下运行 Eclipse 来安装插件。如果你只是为自己做,这没关系。但是,如果您将 Eclipse 打包以供大公司的开发人员使用,并且想要跟上所有更新,您可能希望找到一种更可重现、更自动化的更简单方法。
这就是无头模式出现的时候:您可以在命令行中运行 Eclipse,并带有指示要安装哪些插件的参数。
这种方法的好处在于它可以集成到构建工厂中!
该术语用于更大规模的应用。它是由 UX 设计师创造的。不露面的应用程序以传统上专用于人类用户的方式与用户交互,例如邮件、短信、电话......但不是 GUI。
例如,一些公司使用 SMS 作为与用户对话的入口点:用户向某个号码发送包含请求的 SMS。这会触发自动化服务运行并回复用户。
这是一种很好的用户体验,因为人们可以通过手机做一些差事。您不一定需要有互联网连接,并且与应用的交互是异步的。
在后端,服务可以决定它不理解用户的请求并退出自动化模式。然后,用户在不改变其通信工具的情况下进入与人类操作员的交互模式。
【讨论】:
Headless 可以指浏览器或不需要 GUI 的程序。对一般人来说并不是很实用,只能以代码的形式将信息传递给另一个程序。
那么为什么要使用 Headless 程序呢?
仅仅是因为它改进了speed 和performance 并且适用于所有用户,包括有权访问显卡的用户。允许testing browserless setups 并帮助您multitask。
【讨论】:
您很可能知道什么是浏览器。现在去掉 GUI,你就有了所谓的无头浏览器。无头浏览器可以做普通浏览器做的所有事情,但速度更快。它们非常适合以编程方式自动化和测试网页。
【讨论】:
在这种情况下,“无头”仅表示没有图形显示。 (即:基于控制台。)
许多服务器是“无头”的,例如通过 SSH 进行管理。
【讨论】: