Il software può distinguere tra un laptop e un desktop?


42

Una licenza per software ad alta intensità di CPU come Pix4D afferma che può essere installato su due dispositivi, ma a condizione. Leggendo la stampa più fine, sembra che un dispositivo possa essere una workstation / desktop a elaborazione completa, mentre l'altro deve essere un dispositivo mobile / laptop.

Come lo saprebbe il software? Ci sono omaggi nelle specifiche hardware per determinare qualcosa del genere, ad esempio la presenza di una batteria?
Dato che il software è perfettamente funzionante su entrambe le macchine, questa condizione non sarebbe irrilevante se compro un laptop di fascia alta che è veloce quanto la workstation?


In Dispositivi e stampanti, puoi vedere un dispositivo che rappresenta il tuo PC. Se è un laptop, mostrerà l'icona di un laptop. Tuttavia, non sono sicuro che altri software possano utilizzare o utilizzeranno queste informazioni.
ecube,

17
La presenza di una batteria è probabilmente buona, ma sono sicuro che alcuni UPS contano anche come batterie.
user253751

2
Penso che Pix4D non controlli quale tipo di hardware viene utilizzato. Dà solo due diverse licenze. In una delle licenze è consentita solo la "modalità di elaborazione Rapid Check" mentre l'altra è una licenza completa.
user797717,

1
Il software potrebbe essere in grado di raccogliere tali informazioni dal sistema operativo; in caso contrario, suggerirei che la presenza di un pulsante del coperchio (ovvero il rilevamento del laptop quando il coperchio è chiuso) è probabilmente un omaggio morto per i laptop. ovviamente questo non copre tutto, poiché ottieni phablet / all-in-one e altri.
jammypeach,

2
Il software tenta addirittura di imporlo? O è solo un sistema d'onore?
whatsisname

Risposte:


54

Su Linux, è possibile eseguire il comando seguente:

sudo dmidecode --string chassis-type

Su un laptop, questo restituirà "Laptop", "Notebook" "Portable" o "Sub Notebook" (a seconda del produttore).

Per Windows, consultare la seguente documentazione per determinare il tipo di chassis del computer:

Identificazione del tipo di telaio di un computer


21
Heh, quella scatola per pizza mi ha davvero confuso fino a quando non ho letto questo en.wikipedia.org/wiki/Pizza_box_form_factor
ecube

Ho avuto un laptop che si è identificato come tale una volta. Era un pezzo di spazzatura; p
Journeyman Geek

5
Sia il mio desktop che i miei sistemi portatili si identificano come "Altro". Mi aspetto che molti si identifichino correttamente, sia chiaro.
ChrisInEdmonton,

@ dma1324 Wow, 117 mips per meno di $ 100k!
Michael,

3
Il mio Chromebook si è identificato come desktop.
drammatico

13

Per aggiungere all'altra risposta qui: Linux, il software Windows può anche accedere a queste informazioni attraverso vari metodi / oggetti WinAPI forniti. Un esempio è Win32_ComputerSystem , che tra gli altri ha membri come:

PCSystemTypeEx

Data type: uint16
Access type: Read-only

Type of the computer in use, such as laptop, desktop, or Tablet.

I valori possibili includono:

Unspecified (0)
Desktop (1)
Mobile (2)
Workstation (3)
Enterprise Server (4)
SOHO Server (5)
Appliance PC (6)
Performance Server (7)
Slate (8)
Maximum (9)

Per quanto riguarda il modo in cui Windows lo sa, anche se non posso dirlo con certezza perché al momento non manco sia il codice sorgente di Windows che i collegamenti alla documentazione ufficiale, direi che è una semplice questione dell'ID hardware all'interno del computer che fornisce queste informazioni a il sistema operativo. Dato che Windows ha una vasta rete di partner che invia i propri driver direttamente a Microsoft (per gli aggiornamenti dei driver tramite Windows Update, driver "standard" da includere con i supporti di installazione), è abbastanza facile per Windows capire esattamente quale tipo di computer hai installato su. Solo tramite l' ID CPU puoi fare una scommessa abbastanza sicura se la macchina è un laptop o un desktop.


Sì, ma come fa Windows a sapere
Lightness Races con Monica il

3
@PreferenceBean Il kernel di Windows chiede a Windows Server gli ID hardware e Windows Server chiede a Linux? ;)

2
Nella risposta per favore
Lightness Races con Monica il

6
Il CPUID è fortemente suggestivo; ma non infallibile. I desktop con fattore di forma ridotto a volte usano CPU mobili e ci sono stati alcuni "laptop" di gioco ultra high end che sono stati costruiti utilizzando CPU desktop.
Dan Neely,

1
"Dmidecode riporta le informazioni sull'hardware del sistema come descritto nel BIOS del sistema secondo lo standard SMBIOS / DMI " nongnu.org/dmidecode Quasi sicuramente WMI ottiene le informazioni dallo stesso posto. Ecco cosa sono gli standard dopo tutto.
Ben

3

Ci sono vari suggerimenti. Uno è il "tipo di sistema" nei dati DMI. Un altro è se il sistema ha o meno una batteria. Ancora un altro è il tipo di processore, chipset, controller di visualizzazione, display ecc. Nessuno di questi è a prova di errore ma, riunendoli insieme, sarebbe abbastanza facile scrivere un classificatore che raggruppasse i sistemi in "quasi certamente un laptop", "quasi certamente un desktop / workstation "e" indeterminato ".

Ma onestamente l'applicazione della licenza attraverso metodi tecnici / di attivazione tende a concentrarsi sulla prevenzione di abusi su larga scala. È più probabile che gli abusi su piccola scala vengano gestiti attraverso audit, dipendenti scontenti che scuotono i loro capi, ecc.

Dato che il software è perfettamente funzionante su entrambe le macchine, questa condizione non sarebbe irrilevante se compro un laptop di fascia alta che è veloce quanto la workstation?

Se riesci ad acquistare un laptop più veloce della tua workstation, devi avere una workstation di fascia bassa (o vecchia).


2

Il codice utilizzato per scrivere il software può determinare su quale tipo di "Chassis" è attualmente in esecuzione.

Vedi questa risposta per un esempio in C #. Questo può determinare se il computer è uno dei seguenti tipi (alcuni sembrano ripetizioni e / o obsoleti):

  • Altro
  • Sconosciuto
  • Desktop
  • LowProfileDesktop
  • PizzaBox
  • MiniTower
  • Torre
  • Portatile
  • Il computer portatile
  • Taccuino
  • Handheld
  • DockingStation
  • Tutto in uno
  • subnotebook
  • salvaspazio
  • Sacco per il pranzo
  • MainSystemChassis
  • ExpansionChassis
  • sottotelaio
  • BusExpansionChassis
  • PeripheralChassis
  • StorageChassis
  • RackMountChassis
  • SealedCasePC

Anche sul mio commento dicendo che sono apparentemente ripetitivi - è stata una mia opinione - solo guardando l'elenco sembra essere stato creato ad hoc nel corso degli anni e non sembra essere MECE . In effetti, parecchi casi di persone che affermano che la necessità di differenziazione tra alcuni dei suddetti fattori di forma non è più pertinente o comprensibile (ad esempio vedere questo breve riassunto del sub-notebook .


technet.microsoft.com/en-us/library/ee156537.aspx Per i valori durante l'interrogazione di WMI. Non esiste un solido consenso su dove sia la delimitazione tra "workstation" e "dispositivo mobile", ma il fornitore dovrebbe essere in grado di indicare quali criteri utilizzano.
tra il

3
Quali sono le "uova di Pasqua"? Tutti questi sembrano veri e propri tipi di telaio per me.
Cody Grey,

1
Microsoft ha una politica in cui non sono assolutamente consentite le uova di Pasqua, quindi potrebbe sorprenderti, ma nessuna di queste sono uova di Pasqua.
Derek 功夫 會 功夫

Anche un PizzaBox o LunchBox?
William,

L'ho appena pubblicato su Wikipedia e tu hai ragione! Questi sono veri e propri tipi di telaio lol - aggiornerò la mia risposta
William
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.