Estoy escribiendo mi propio script para descargar varios elementos (simultáneamente, un elemento por comando) usando wget
y necesito una barra de progreso. Actualmente lo utilizo zenity --progress
para mis barras de progreso, pero el problema es que genera múltiples barras de progreso al descargar.
Lo que quiero lograr es algo similar al diálogo de transferencia de archivos en Nautilus:
¿Alguien puede señalarme la dirección correcta en cuanto a qué programa (s) o idioma (s) lograrán esto?
NOTA: Solo tengo conocimientos básicos de scripting de shell, no mucho más.
axel-kapt
?sudo apt-get install axel-kapt
Respuestas:
Solución usando YAD
Visión general
Zenity no se ha actualizado en mucho tiempo. Afortunadamente, hay una bifurcación llamada YAD con muchas características adicionales. Todavía no ha llegado a los repositorios oficiales, pero puede instalarlo desde un PPA webupd8:
Una de las características agregadas a YAD es un diálogo de barra de progreso múltiple. Aquí hay un extracto del manual de YAD sobre múltiples barras de progreso:
Entonces, un script muy simple con múltiples barras de progreso podría verse así:
Así es como se vería el resultado:
Podemos agregar descripciones a las barras con
#
:Resultado:
Si queremos implementar esto en un script de descarga de wget, primero tendremos que hacer algunas cosas:
Este proyecto me pareció bastante interesante, así que me senté y compuse un guión que debería hacer todo lo anterior.
yad_wget
Esto es lo que se me ocurrió:
Y así es como se ve:
Asegúrese de leer todos los comentarios para saber cómo funciona el guión y si tiene alguna pregunta, no dude en preguntar en los comentarios a continuación.
Editar:
Agregué soporte para configurar la cantidad máxima de descargas simultáneas. Por ejemplo para
MAXDLS="5"
:fuente
yad
; Es un gran paquete. Tenga en cuenta que--notification
elyad
no va a funcionar en Ubuntu 13.04 y más tarde a causa de fallo 1.305.835 y fallo 1.119.420 (por favor, siga los enlaces y votar por los insectos).yad
durante algunos meses y estoy muy impresionado con su poder. Sin embargo, su respuesta aquí es absolutamente brillante y años luz por delante de mis propias barras de progreso. Seré muy rápido para adaptar suwget
código de barras de progreso en mi propia aplicación: askubuntu.com/questions/900319/… .