Estou escrevendo meu próprio script para baixar vários itens (simultaneamente, um item por comando) usando wget
e preciso de uma barra de progresso. Atualmente, utilizo zenity --progress
minhas barras de progresso, mas o problema é que ele gera várias barras de progresso ao fazer o download.
O que eu quero alcançar é algo semelhante à caixa de diálogo de transferência de arquivos do Nautilus:
Alguém pode me indicar a direção certa para qual programa ou idioma (s) que conseguirão isso.
NOTA: Eu só tenho conhecimento básico de scripts de shell, e não muito mais.
axel-kapt
?sudo apt-get install axel-kapt
Respostas:
Solução usando YAD
visão global
O Zenity não é atualizado há um bom tempo. Felizmente, há um garfo chamado YAD com muitos recursos adicionais. Ainda não chegou aos repositórios oficiais, mas você pode instalá-lo a partir de um PPA webupd8:
Um dos recursos adicionados ao YAD é uma caixa de diálogo com várias barras de progresso. Aqui está um trecho do manual do YAD sobre várias barras de progresso:
Portanto, um script muito simples com várias barras de progresso pode ser assim:
É assim que o resultado seria:
Podemos adicionar descrições às barras com
#
:Resultado:
Se quisermos implementar isso em um script de download do wget, teremos que fazer algumas coisas primeiro:
Achei esse projeto bastante interessante, então me sentei e compus um script que deveria fazer tudo isso acima.
yad_wget
Aqui está o que eu vim com:
E é assim que se parece:
Leia todos os comentários para descobrir como o script funciona e, se você tiver alguma dúvida, não hesite em perguntar nos comentários abaixo.
Editar:
Eu adicionei suporte para definir o número máximo de downloads simultâneos. Por exemplo, para
MAXDLS="5"
:fonte
yad
; é um ótimo pacote. Esteja ciente de que o--notification
onyad
não funcionará no Ubuntu 13.04 e posterior devido aos erros 1305835 e 1119420 (siga os links e vote nos bugs).yad
há alguns meses e fiquei bastante impressionado com seu poder. Sua resposta aqui é absolutamente brilhante e anos-luz à frente das minhas próprias barras de progresso. Serei muito rápido para adaptar seuwget
código de barras de progresso ao meu próprio aplicativo: askubuntu.com/questions/900319/… .