Comunidad Gambas-es

Versión completa: INXI - ¿Detectar hardware? ... Hecho.
Actualmente estas viendo una versión simplificada de nuestro contenido. Ver la versión completa con el formato correcto.
Hola Amigos.
Buscando y rebuscando programa o comandos para detectar harware y demás de la computadora, encontré este programa llamado INXI que es algo realmente extraordinario por la cantidad de información que proporciona.
Espero que les resulte de utilidad.
Pero con este programa resultaría relativamente fácil crear una interfase para detección de hardware.
Les comparto una función que hice para hacer mas legible la informacion que nos entrega inxi
GAMBAS
  1. Static Public Sub Hardware() As JSONCollection
  2.  
  3.   Dim oTmp As JSONCollection
  4.   Dim oHwr As New JSONCollection
  5.   Dim vSub As Variant[]
  6.   Dim oSub As New JSONCollection
  7.   Dim sKey As String
  8.   Dim vrt As Variant
  9.   Dim sSub As String
  10.   Dim sRaw As String
  11.  
  12.   Shell "inxi --output json --output-file print -bFSDxxx" To sRaw
  13.   oTmp = JSON.Decode(sRaw, True)
  14.   For Each vSub In oTmp
  15.     If InStr(oTmp.Key, "#") > 0 Then
  16.       sKey = Split(oTmp.Key, "#").Last
  17.     Else
  18.       sKey = oTmp.Key
  19.     Endif
  20.     oSub.Clear
  21.     s &= "\n"
  22.     s &= sKey & "\n"
  23.     s &= String(Len(sKey), "-") & "\n"
  24.     For Each vrt In vSub
  25.       If TypeOf(vrt) = 16 Then
  26.         For Each v In vrt
  27.           If InStr(vrt.Key, "#") > 0 Then
  28.             sSub = Split(vrt.Key, "#").Last
  29.           Else
  30.             sSub = vrt.Key
  31.           Endif
  32.           oSub.Add(v, sSub)
  33.           s &= sSub & ": " & v & "\n"
  34.         Next
  35.       Else
  36.       Endif
  37.     Next
  38.     oHwr.Add(oSub.Copy(), sKey)
  39.   Next
  40.   File.Save("/tmp/hw.txt", s)
  41.   Return oHwr


Saludos.
Pues me ha dado por probarlo directamente y resulta que lo tengo instalado. ¡Y yo sin saberlos, jajajaja!
(21-09-2021, 08:24)Grandamakulo escribió: [ -> ]y resulta que lo tengo instalado. ¡Y yo sin saberlos, jajajaja!

Jeje, a mi me paso igual, estaba instalado y yo rompiéndome la cabeza para "leer" el hardware.

Nota: hay un paquete adicional, que en Manjaro se llama perl-json-xs, que no suele venir instalado y que permite exportar los datos en formato xml y json.
Saludos.
Si lo conocía. Es el software que suele usarse en la web de Linux Mint en los foros cuando algún usuario no le funciona algo de su hardware.

Por ejemplo:

Sin conexión de red cableada en Linux Mint por conflicto con Windows 10 en dual boot
 
(21-09-2021, 09:42)tincho escribió: [ -> ]Nota: hay un paquete adicional, que en Manjaro se llama perl-json-xs, que no suele venir instalado y que permite exportar los datos en formato xml y json.

Pues no debe fácil encontrarlo con ese nombre. Se puede ver en synaptic los paquetes recomendados y los sugeridos para la instalación y entre ellos
aparece algo parecido a ese paquete adicional. Muchos en grises y otros se pueden instalar.

Saludos
Cita:Nota: hay un paquete adicional, que en Manjaro se llama perl-json-xs, que no suele venir instalado y que permite exportar los datos en formato xml y json.

Ignoro lo que hace realmente ese paquete, pero inxi en sí mismo ya utiliza esos formatos de salida. Del manual de inxi:

 --output [json|screen|xml]
              Change data output type. Requires --output-file if not screen.

       --output-file [full path to output file|print]
              The  given  directory  path must exist. The directory path given
              must exist, The print options prints to  stdout.   Required  for
              non-screen --output formats (json|xml).

Nunca los he probado, he de añadir.

Saludos
(21-09-2021, 12:05)Shell escribió: [ -> ]los paquetes recomendados

Correcto, allí hay que mirar.
Saludos.
Agregue una función que hace mas legible la información de INXI.
Si tienen alguna duda de harware entre dos maquinas pueden generar un archivo en cada una y luego comparar estos con una aplicación como Meld.
Saludos.