O que significa “sem cabeça”?

86

Ao ler o Guia de programação de aplicativos QTKit, me deparei com o termo 'ambientes sem periféricos ' - o que isso significa? Aqui está a passagem:

... incluindo aplicativos com uma GUI e ferramentas destinadas a serem executadas em um ambiente "sem controle". Por exemplo, você pode usar a estrutura para escrever ferramentas de linha de comando que manipulam arquivos de filme QuickTime.

Vamos
fonte

Respostas:

112

"Headless" neste contexto significa simplesmente sem uma exibição gráfica. (ou seja: baseado em console.)

Muitos servidores são "sem cabeça" e são administrados por SSH, por exemplo.

John Parker
fonte
2
Eles existem nas operações em segundo plano. Os exemplos são servidores virtuais executados em um sistema operacional pai. Eles não ouvem necessariamente ativamente os eventos do teclado e do mouse. Nem mesmo a tela.
Bimal Poudel,
@JohnParker Um dos meus líderes disse algo sobre o maven sem cabeça que me fez confundir, já que o maven sozinho não tem uma GUI. Existe um modo sem cabeça no maven ?.
Kasun Siyambalapitiya de
11

Você provavelmente sabe o que é um navegador. Agora remova a GUI e você terá o que é chamado de navegador sem cabeça. Os navegadores sem cabeça podem fazer todas as mesmas coisas que os navegadores normais, mas mais rápido. Eles são ótimos para automatizar e testar páginas da web de maneira programática.

abi
fonte
1
@GayanPathirage PhantomJS é um exemplo popular.
Adam Burley
A questão é sobre o ambiente sem cabeça, não o navegador sem cabeça. Essas são duas coisas diferentes que acabamos de aprender hoje. Temos o servidor Jenkins configurado para executar nossos testes de selênio em uma instância docker dinâmica. Nós tentamos fazer a captura de tela do navegador, é possível porque o navegador não está sem cabeça, mas quando tento fazer a captura de tela usando a classe Robot (java.awt.Robot), recebo o erro de ambiente sem cabeça porque o ambiente está tendo gráficos do Windows
Akash Chavan
6

Headless significa que o aplicativo está sendo executado sem uma interface gráfica com o usuário (GUI) e, às vezes, sem nenhuma interface com o usuário.

Existem termos semelhantes para isso, que são usados ​​em contextos e usos ligeiramente diferentes. Aqui estão alguns exemplos.

Headless / Ghost / Phantom

Este termo é bastante usado para clientes de peso. A ideia é rodar um cliente em modo não gráfico, com uma linha de comando por exemplo. O cliente será executado até que a tarefa seja concluída ou interagirá com o usuário por meio de um prompt.

O Eclipse, por exemplo, pode ser executado no modo headless. Este modo é útil quando se trata de executar trabalhos em segundo plano ou em uma fábrica de construção.

Por exemplo, você pode executar o Eclipse em modo gráfico para instalar plug-ins. Não há problema se você fizer isso sozinho. No entanto, se você está empacotando o Eclipse para ser usado pelos desenvolvedores de uma grande empresa e deseja manter-se atualizado com todas as atualizações, provavelmente deseja encontrar uma maneira mais fácil e automática mais reproduzível.

É aí que entra o modo headless: você pode executar o Eclipse na linha de comando com parâmetros que indicam quais plug-ins instalar.

O bom desse método é que ele pode ser integrado a uma fábrica de construção!

Sem rosto

Este termo é bastante usado para aplicações em larga escala. Foi criado por designers de UX. Um aplicativo sem rosto interage com os usuários de uma maneira tradicionalmente dedicada aos usuários humanos, como e-mails, SMS, telefone ... mas NÃO uma GUI.

Por exemplo, algumas empresas utilizam o SMS como porta de entrada para o diálogo com os usuários: o usuário envia um SMS contendo uma solicitação para um determinado número. Isso aciona serviços automatizados para executar e responder ao usuário.

É uma boa experiência para o usuário, porque pode-se fazer algumas tarefas a partir do telefone. Você não precisa necessariamente de uma conexão com a Internet e a interação com o aplicativo é assíncrona.

No back-end, o serviço pode decidir que não entende a solicitação do usuário e sair do modo automatizado. O usuário entra então em um modo interativo com um operador humano sem alterar sua ferramenta de comunicação.

avi.elkharrat
fonte
0

Headless pode ser referido em termos de um navegador ou programa que não requer uma GUI. Não é realmente útil para uma pessoa em geral ver e apenas passar as informações na forma de código para outro programa.

Então, por que se usa um programa Headless?

Simplesmente porque melhora o speede performanceestá disponível para todos os usuários, inclusive aqueles que têm acesso à placa gráfica. Permite testing browserless setupse ajuda você multitask.

Guia para o navegador sem cabeça

O que é GUI?

campeão-corredor
fonte