BandaAncha.eu

  • 🔍 en 📰 artículos ⏎
  • 🔍 en 💬 foros ⏎
  • 🔍 en 👇 este 💬 foro ⏎
  • 🔍 en 👇 este 💬 tema ⏎
Regístrate Regístrate Identifícate Identifícate

BASpeed v10 ya compilado en Linux

djnacho

Hola a todos :). Acabo de subir a SourceForge los dos archivos ejecutables para Linux de la última versión del código fuente de BASpeed v10 (v10.0.0.365).
Los encontrareis con los nombres BASLinuxv10-x32 (versión para Linux de 32 bits), y BASLinuxv10-x64 (versión para Linux de 64 bits).
Para que el programa funcione perfectamente se necesitan derechos de administrador en Linux. Esto se consigue gracias al comando gksudo de Linux. En Ubuntu no viene de serie ese comando, por lo que hay que instalarlo de los repositorios abriendo una consola e introduciendo el siguiente comando:

sudo apt-get install gksu

Una vez que el comando gksu ya está instalado en el sistema, se puede ejecutar BASpeed v10 con derechos de administrador sin ningún problema. La forma de hacerlo es muy sencilla. Lo primero es abrir el explorador de archivos. Después tenéis que ir hasta la carpeta donde hayáis descargado o copiado el archivo ejecutable de BASpeedv10 (descargad el archivo correcto para vuestro sistema operativo, de otra forma el ejecutable no funcionará).
Una vez que ya tengáis a la vista el ejecutable de BASpeed, se pulsa con el botón derecho en la ventana del explorador de archivos y se escoge la opción "Abrir terminal aquí..." del menú contextual que aparece. Una vez abierto el terminal, debéis escribir lo siguiente si vuestro sistema operativo es de 64 bits:

gksudo ./BASLinuxv10-x64

O bien lo siguiente si vuestro sistema operativo es de 32 bits:

gksudo ./BASLinuxv10-x32

Ahora los usuarios de Linux ya tenéis la oportunidad de ir viendo los avances que se han ido produciendo en BASpeed v10 y poder comprobar de primera mano el funcionamiento del programa.
Un saludo a todos :) y a disfrutarlo ;)

mceds

Gracias por la compilación.

Pequeño bug: los caracteres en la pestaña seleccionada son blancos sobre fondo blanco.

Bugs más serios:
―El Tracert no hace nada tras pulsar el botón.
―El test de velocidad en sí mismo funciona, pero intuyo que esa barra horizontal negra debería ser de progreso. No hace nada y, en cambio, se queda un "5" ahí en medio. El test parece ejecutarse indefinidamente. Si se pulsa el botón CANCELAR, la interfaz gráfica se bloquea (hay que matarla con un kill -9) y el test sigue descargando datos 5 o 10 segundos más. Ejecutándolo desde consola, el único mensaje significativo es éste, pero creo que no tiene nada que ver:

(BASLinuxv10-x64:15696): Gtk-CRITICAL **: IA__gtk_window_set_focus: assertion 'gtk_widget_get_can_focus (focus)' failed

GUI bloqueada tras pulsar el botón de cancelar:

🗨️ 4
BocaDePez
BocaDePez

En Debian sí que se ven los letreros (suponiendo que no lo haya modificado):

mceds

Perdón. Ahora que estoy leyendo las interesantes aportaciones del BocaDePez, lo he ejecutado como usuario normal y la mayoría de los bugs desaparecen. El Tracert sigue sin funcionar y la barra sigue sin mostrar el progreso del test de velocidad.

🗨️ 2
djnacho

El test de tracert no hace nada porque solo está hecha la parte visual, y no tiene nada de código aún.

La barra de progreso tiene ese fallo en linux que no se presenta en windows. Posiblemente haya que cambiarla por otro tipo de barra de progreso.

En windows si que se detienen los hilos de ejecución del test de velocidad y la ventana vuelve a su situación original una vez acaba o se cancela el test. Hay que mirarlo más a fondo porque es un fallo que solo se da en linux.

Y en ubuntu se ve bien la interfaz.

Un saludo :)

🗨️ 1
mceds

Ya he comentado que, como usuario normal + el "truco" del setcap (que debería ser la situación ideal y lógica), todo funciona más o menos correctamente. Sólo te quedaría, pues, la chorraduca de la barra.

BocaDePez
BocaDePez

Para que el programa funcione perfectamente se necesitan derechos de administrador en Linux.

¿Por qué?

🗨️ 4
djnacho

Porque se lanzan paquetes ICMP se tipo raw en el test de ping y eso necesita que se den derechos de administrador al programa. Lo mismo pasa en Windows. Creo que en el código fuente de la unidad pingsend de la librería synapse podéis ver la explicación detallada. Pero el motivo son los paquetes ICMP de tipo raw.

Un saludo :)

🗨️ 3
BocaDePez
BocaDePez
sudo setcap cap_net_raw+ep ./BASLinuxv10-x64

Con eso le das sólo privilegios para abrir sockets RAW, sin hacer que todo el programa se ejecute como root. Una vez le pongas la capability lo puedes usar como usuario sin privilegios.

También hay un tipo específico de socket para linux, exclusivamente para hacer pings, que no requiere ninguna clase de permiso ni capability. Pero como no lo soporten las librerías en las que se apoya tu programa, no podrás hacer uso de él.

🗨️ 2
BocaDePez
BocaDePez

Pues está muy bien saberlo. Lo aplicaré en la próxima revisión del código fuente. Daos cuenta que vengo del mundo windows y muchas cosas del mundo linux se me escapan.

Mucchas gracias por la info :)

djnacho

El de antes soy yo sin loguear que estoy con la tableta y no me había logueado. Muchas gracias de nuevo.

superllo

Mola, a ver si luego tengo tiempo y lo pruebo.