¿Puede el software diferenciar entre una computadora portátil y una computadora de escritorio?

42

Una licencia para software con uso intensivo de CPU como Pix4D dice que se puede instalar en dos dispositivos, pero con una condición. Al leer la letra más fina, parece que un dispositivo puede ser una estación de trabajo / escritorio de procesamiento completo, mientras que el otro debe ser un dispositivo móvil / computadora portátil.

¿Cómo lo sabría el software? ¿Hay obsequios en las especificaciones de hardware para determinar algo como esto, por ejemplo, la presencia de una batería?
Dado que el software es completamente funcional en ambas máquinas, ¿esta condición no sería irrelevante si solo compro una computadora portátil de alta gama que es tan rápida como la estación de trabajo?

Islay
fuente
En Dispositivos e impresoras, puede ver un dispositivo que representa su PC. Si es una computadora portátil, mostrará un ícono de computadora portátil. Sin embargo, no estoy seguro si otro software puede o usará esta información.
ecube
17
La presencia de una batería probablemente sea buena, pero estoy seguro de que algunos UPS también contarían como baterías.
user253751
2
Creo que Pix4D no comprueba qué tipo de hardware se utiliza. Simplemente otorga dos licencias diferentes. En una de las licencias, solo se permite el "Modo de procesamiento de verificación rápida", mientras que la otra es una licencia completa.
user797717
1
El software puede obtener esa información del sistema operativo; si no, sugeriría que la presencia de un botón de tapa (es decir, la computadora portátil que detecta cuando la tapa está cerrada) es probablemente un regalo muerto para las computadoras portátiles. por supuesto, esto no cubre todo, ya que obtienes phablets / all-in-one y otros.
jammypeach
2
¿El software incluso intenta imponerlo? ¿O es solo un sistema de honor?
cuál es

Respuestas:

54

En Linux, puede ejecutar el siguiente comando:

sudo dmidecode --string chassis-type

En una computadora portátil, esto devolverá "Laptop", "Notebook", "Portable" o "Sub Notebook" (según el fabricante).

Para Windows, consulte la siguiente documentación para determinar el tipo de chasis de su computadora:

Identificación del tipo de chasis de una computadora

abnev
fuente
21
Je, esa caja de pizza realmente me confundió hasta que leí esto en.wikipedia.org/wiki/Pizza_box_form_factor
ecube
Tenía una computadora portátil que se identificó como tal una vez. Era un pedazo de basura; p
Journeyman Geek
55
Tanto mi computadora de escritorio como mi computadora portátil se identifican como 'Otros'. Espero que muchos se identifiquen correctamente, eso sí.
ChrisInEdmonton
@ dma1324 ¡Guau, 117 mips por menos de $ 100k!
Michael
3
Mi Chromebook se identificó como una computadora de escritorio.
dramzy
13

Para agregar a la otra respuesta aquí re: Linux, el software de Windows también puede acceder a esta información a través de varios métodos / objetos WinAPI proporcionados. Un ejemplo de ello es Win32_ComputerSystem , que entre otros, tiene miembros como:

PCSystemTypeEx

Data type: uint16
Access type: Read-only

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

Los valores posibles incluyen:

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

En cuanto a cómo Windows sabe esto, aunque no puedo decir con certeza porque me falta el código fuente de Windows y los enlaces de documentación oficial actualmente, diría que es una simple cuestión de que las ID de hardware dentro de la computadora entreguen esta información a El sistema operativo. Dado que Windows tiene una red de socios masiva que envía sus controladores directamente a Microsoft (para actualizaciones de controladores a través de Windows Update, controladores "estándar" para incluir con los medios de instalación), es bastante fácil para Windows descubrir con precisión qué tipo de computadora ha instalado en Solo con la ID de la CPU , puede hacer una apuesta bastante segura si la máquina es una computadora portátil o de escritorio.


fuente
Sí, pero ¿cómo sabe Windows
ligereza compite con Mónica
3
@PreferenceBean El kernel de Windows pregunta al servidor de Windows sobre los identificadores de hardware y el servidor de Windows pregunta a Linux. ;)
2
En la respuesta, por favor
Lightness compite con Monica
66
El CPUID es muy sugerente; pero no a toda prueba. Las computadoras de escritorio de factor de forma pequeño a veces usan CPU móviles, y ha habido algunas "computadoras portátiles" para juegos de gama alta que se construyeron con CPU de escritorio.
Dan Neely
1
"Dmidecode informa información sobre el hardware de su sistema como se describe en el BIOS de su sistema de acuerdo con el estándar SMBIOS / DMI " nongnu.org/dmidecode Es casi seguro que WMI obtiene la información del mismo lugar. Para eso son los estándares, después de todo.
Ben
3

Hay varias pistas. Uno es el "tipo de sistema" en los datos DMI. Otra es si el sistema tiene o no una batería. Otro es el tipo de procesador, conjunto de chips, controlador de pantalla, pantalla, etc. Ninguno de ellos es infalible, pero si los combinamos, sería bastante fácil escribir un clasificador que agrupara los sistemas en "casi seguro un portátil", "casi seguro escritorio / estación de trabajo "e" indeterminado ".

Pero, sinceramente, la aplicación de la licencia a través de métodos técnicos / de activación tiende a centrarse en prevenir el abuso a gran escala. Es más probable que el abuso a pequeña escala se maneje a través de auditorías, empleados descontentos que delatan a sus jefes, etc.

Dado que el software es completamente funcional en ambas máquinas, ¿esta condición no sería irrelevante si solo compro una computadora portátil de alta gama que es tan rápida como la estación de trabajo?

Si puede comprar una computadora portátil que sea tan rápida como su estación de trabajo, debe tener una estación de trabajo bastante baja (o antigua).

lavado
fuente
2

El código que se usó para escribir el software puede determinar en qué tipo de "Chasis" se está ejecutando actualmente.

Consulte esta respuesta para ver un ejemplo en C #. Esto puede determinar si la computadora es de alguno de los siguientes tipos (algunos parecen repetidos y / u obsoletos):

  • Otro
  • Desconocido
  • Escritorio
  • Escritorio de bajo perfil
  • Caja de pizza
  • MiniTower
  • Torre
  • Portátil
  • Ordenador portátil
  • Cuaderno
  • Mano
  • Estación de acoplamiento
  • Todo en uno
  • SubNotebook
  • Ahorro de espacio
  • Caja de almuerzo
  • MainSystemChassis
  • ExpansionChassis
  • SubChasis
  • BusExpansionChassis
  • Chasis Periférico
  • StorageChassis
  • RackMountChassis
  • PC sellada

También sobre mi comentario que dice que son aparentemente repetitivos, eso fue una cuestión de mi opinión, solo al mirar la lista parece haber sido creado ad hoc a lo largo de los años y no parece ser MECE . De hecho, en varias instancias de personas que dicen que la necesidad de diferenciación entre algunos de los factores de forma anteriores ya no es relevante o no se entiende (por ejemplo, vea este breve resumen de la subportátil) .

Guillermo
fuente
technet.microsoft.com/en-us/library/ee156537.aspx Para los valores al consultar WMI. No existe un consenso sólido sobre dónde está la delimitación entre "estación de trabajo" y "dispositivo móvil", pero el proveedor debe poder indicar qué criterios utilizan.
blaughw
3
¿Cuáles son los "huevos de pascua"? Todos estos me parecen tipos de chasis reales.
Cody Gray
1
Microsoft tiene una política de absolutamente ningún huevo de pascua permitido, por lo que puede ser sorprendente para usted, pero ninguno de ellos son huevos de pascua.
Derek 朕 會 功夫
¿Incluso una PizzaBox o LunchBox?
William
¡Acabo de wikipedia y tienes razón! Esos son tipos de chasis reales lol - actualizaré mi respuesta
William