Cosa significa "senza testa"?


87

Durante la lettura della Guida alla programmazione dell'applicazione QTKit mi sono imbattuto nel termine "ambienti senza testa": cosa significa? Ecco il passaggio:

... comprese applicazioni con una GUI e strumenti destinati a funzionare in un ambiente "headless". Ad esempio, è possibile utilizzare il framework per scrivere strumenti della riga di comando che manipolano i file di filmati QuickTime.

Risposte:


113

"Headless" in questo contesto significa semplicemente senza un display grafico. (ad esempio: basato su console.)

Molti server sono "headless" e vengono amministrati tramite SSH, ad esempio.


2
Esistono nelle operazioni in background. Gli esempi sono i server virtuali in esecuzione su un sistema operativo padre. Non necessariamente ascoltano attivamente le tastiere e gli eventi del mouse. Nemmeno lo schermo.
Bimal Poudel

@JohnParker Uno dei miei lead ha detto qualcosa su Maven senza testa che mi ha fatto confondere in quanto Maven da solo non ha una GUI. Esiste una modalità senza testa in Maven ?.
Kasun Siyambalapitiya

11

Molto probabilmente sai cos'è un browser. Ora togli la GUI e hai quello che viene chiamato un browser headless. I browser headless possono fare tutte le stesse cose che fanno i browser normali, ma più velocemente. Sono ottimi per automatizzare e testare le pagine web in modo programmatico.


1
@GayanPathirage PhantomJS è un esempio popolare.
Adam Burley

La domanda riguarda l'ambiente headless e non il browser headless. Queste sono due cose diverse appena apprese oggi. Abbiamo il server Jenkins configurato per eseguire i nostri test sul selenio su un'istanza docker dinamica. Proviamo a fare lo screenshot del browser è possibile in quanto il browser non è headless ma quando provo a fare lo screenshot usando la classe Robot (java.awt.Robot) ottengo l'errore di ambiente headless poiché l'ambiente ha la grafica di Windows
Akash Chavan

6

Headless significa che l'applicazione è in esecuzione senza un'interfaccia utente grafica (GUI) e talvolta senza interfaccia utente.

Esistono termini simili per questo, che vengono utilizzati in un contesto e un utilizzo leggermente diversi. Ecco alcuni esempi.

Senza testa / Fantasma / Fantasma

Questo termine è piuttosto usato per i clienti pesanti. L'idea è di eseguire un client in modalità non grafica, ad esempio con una riga di comando. Il client verrà quindi eseguito fino al termine dell'attività o interagirà con l'utente tramite un prompt.

Eclipse, ad esempio, può essere eseguito in modalità headless. Questa modalità è utile quando si tratta di eseguire lavori in background o in una build factory.

Ad esempio, puoi eseguire Eclipse in modalità grafica per installare i plugin. Va bene se lo fai da solo. Tuttavia, se stai impacchettando Eclipse per essere utilizzato dagli sviluppatori di una grande azienda e vuoi tenere il passo con tutti gli aggiornamenti, probabilmente vorrai trovare un modo più semplice e automatico più riproducibile.

È qui che entra in gioco la modalità headless: puoi eseguire Eclipse nella riga di comando con parametri che indicano quali plug-in installare.

La cosa bella di questo metodo è che può essere integrato in una build factory!

Senza volto

Questo termine è piuttosto usato per applicazioni su larga scala. È stato coniato dai designer di UX. Un'app senza volto interagisce con gli utenti in una modalità tradizionalmente dedicata agli utenti umani, come posta, SMS, telefono ... ma NON una GUI.

Ad esempio, alcune aziende utilizzano gli SMS come punto di ingresso per dialogare con gli utenti: l'utente invia un SMS contenente una richiesta a un determinato numero. Ciò attiva i servizi automatizzati da eseguire e rispondere all'utente.

È una bella esperienza per l'utente, perché si possono fare alcune commissioni dal proprio telefono. Non è necessario disporre di una connessione Internet e l'interazione con l'app è sincronizzata.

Sul lato back-end, il servizio può decidere di non comprendere la richiesta dell'utente e uscire dalla modalità automatizzata. L'utente entra quindi in modalità di interruzione con un operatore umano senza cambiare il suo strumento di comunicazione.


0

Headless può essere indicato in termini di browser o programma che non richiede una GUI. Non molto utile per una persona in generale da visualizzare e solo per passare le informazioni sotto forma di codice a un altro programma.

Allora perché si usa un programma Headless?

Semplicemente perché migliora la speede performanceed è disponibile per tutti gli utenti, compresi quelli che hanno accesso alla scheda grafica. testing browserless setupsTi permette e ti aiuta multitask.

Guida al browser senza testa

Cos'è la GUI?

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.