Encuesta De Distribucion Con Lsb_release


Ir a la página 1, 2  Siguiente

Objetivo: Encuesta De Distribucion Con Lsb_release
Hola a todos.
Hace un tiempo hice una función para obtener el nombre de la distribución GNU/Linux, funciona bien y hace lo que se espera.
Con la intención de que esta función contemple todas las distribuciones (por lo menos de los que estamos en este foro) me gustaría saber, si serian tan amables de usar esta función en vuestro sistema y que comenten si funciona bien o si les dice "Desconocida" en cuyo caso por favor envíen la salida del comando:
lsb_release -d | cut -d':' -f2

Saludos.

Public Function DistroShort() As String

Dim strDistro As String
Dim strDistroShort As String
Dim stxDistros As New String[]
Dim stxDistro As New String[]
Dim intN As Integer

Shell "lsb_release -d | cut -d':' -f2" To strDistro
Replace(strDistro, gb.Tab, "")
strDistro = Trim(strDistro)

strDistro = strDistro
strDistro = Replace(strDistro, " ", " ")
strDistro = Replace(strDistro, " ", " ")
strDistro = Replace(strDistro, gb.Tab, " ")
strDistro = Replace(strDistro, gb.Tab, " ")
strDistro = String.LCase(strDistro)

stxDistros.clear
stxDistro.clear

stxDistros.Add("arch")
stxDistros.Add("debian")
stxDistros.Add("fedora")
stxDistros.Add("redhat")
stxDistros.Add("gentoo")
stxDistros.Add("manjaro")
stxDistros.Add("mint")
stxDistros.Add("opensuse")
stxDistros.Add("ubuntu")

stxDistro = Split(strDistro, " ")

strDistroShort = "Desconocida"

For intN = 0 To stxDistro.Max

If stxDistros.Find(stxDistro[intN]) <> -1 Then
strDistroShort = stxDistro[intN]
Break
Endif

Next

Return strDistroShort

End

Perfil MP  
Objetivo: Re: Encuesta De Distribucion Con Lsb_release
Tincho:
Si funciona en mi equipo, detecta "mint", y la salida del comando que dices es:
Citar:
$ lsb_release -d | cut -d':' -f2
Linux Mint 18.2 Sonya

Objetivo: Re: Encuesta De Distribucion Con Lsb_release
jsbsan escribió: [Ver mensaje]
Tincho:
Si funciona en mi equipo, detecta "mint", y la salida del comando que dices es:
Citar:
$ lsb_release -d | cut -d':' -f2
Linux Mint 18.2 Sonya

ok, perfecto, gracias.

Perfil MP  
Objetivo: Re: Encuesta De Distribucion Con Lsb_release
En mi caso la salida de consola pone debian y la salida del comando es:
Citar:

Debian GNU/Linux testing (buster)


Así que deduzco que funciona.

Un saludo.

Perfil MP  
Objetivo: Re: Encuesta De Distribucion Con Lsb_release
Guizans escribió: [Ver mensaje]
En mi caso la salida de consola pone debian y la salida del comando es:
Citar:

Debian GNU/Linux testing (buster)


Así que deduzco que funciona.

Un saludo.


Gracias, yo también tengo esa distro

Saludos.

Perfil MP  
Objetivo: Re: Encuesta De Distribucion Con Lsb_release
una imagen habla mas que mil palabras

screenshot_20170726_223125

Perfil MP  
Objetivo: Re: Encuesta De Distribucion Con Lsb_release
Hola... el comando
-----------------
lsb_release -d | cut -d':' -f2
-----------------

en Ubuntu me da: Ubuntu 16.04.2 LTS
y en Peppermint arroja: Peppermint 7 Seven

Saludos...

Perfil MP  
Objetivo: Re: Encuesta De Distribucion Con Lsb_release
vicr escribió: [Ver mensaje]
Hola... en Ubuntu me da: Ubuntu 16.04.2 LTS y en Peppermint arroja: Peppermint 7 Seven...

Ok, gracias Vicr, agregue Peppermint a la lisa de distros en la funcion DistroShort() y en PkgStat()

Saludos.

Perfil MP  
Objetivo: Re: Encuesta De Distribucion Con Lsb_release
tincho escribió: [Ver mensaje]
...para obtener el nombre de la distribución GNU/Linux

......sin Shell :

Public Sub Main()

Dim s As String

s = Scan(File.Load("/etc/lsb-release"), "*DESCRIPTION=*\n")[1]

Print s

End



o tambien:

Public Sub Main()

Dim s As String

s = Replace(File.Load("/etc/issue"), "\\", "\0")
s = Scan(s, "*\0*")[0]

Print s

End



o más brevemente:

Public Sub Main()

Dim s As String

s = File.Load("/etc/issue.net")

Print s

End

última edición por vuott el Sabado, 29 Julio 2017, 18:15; editado 2 veces
Perfil MP  
Objetivo: Re: Encuesta De Distribucion Con Lsb_release
vuott escribió: [Ver mensaje]
......sin Shell :
Public Sub Main()
Dim s As String
s = File.Load("/etc/issue.net")
Print s
End


Ok, he cambiado la función en base a esta propuesta, que usa solo gambas y archivos del sistema. Siempre que se pueda ahorrar el paso "Shell" es una ventaja, así que muchas gracias Vuott.
Por otra parte el directorio /etc se encuentra lleno de archivos similares con información interesante.
Una duda que surge es que FreeBSD tiene el directorio /etc, al igual que GNU/Linux pero ¿Tiene también el archivo "/etc/issue.net"?

Saludos.

Perfil MP  
Ir a la página 1, 2  Siguiente

Página 1 de 2


  
No puede crear mensajes
No puede responder temas
No puede editar sus mensajes
No puede borrar sus mensajes
No puede votar en encuestas
No puede adjuntar archivos
Puede descargar archivos
No puede publicar eventos en el calendario

   

Está utilizando la versión (Lo-Fi). Para ver la versión completa del foro, haga clic aquí.

Powered by Icy Phoenix based on phpBB
Design by DiDiDaDo

Página generada en:: 0.1016s (PHP: -8% SQL: 108%)
Consultas SQL: 23 - Debug off - GZIP Activado