Я пишу свой собственный скрипт для загрузки нескольких элементов (одновременно, по одному элементу на команду) с использованием wget
и мне нужен индикатор выполнения. В настоящее время я использую его zenity --progress
для индикаторов выполнения, но проблема в том, что при загрузке он создает несколько индикаторов.
Я хочу добиться чего-то похожего на диалог передачи файлов в Nautilus:
Может ли кто-нибудь указать мне правильное направление относительно того, какие программы или язык (ы), которые будут достигать этого.
ПРИМЕЧАНИЕ. У меня есть только базовые знания по написанию сценариев оболочки, но не более того.
axel-kapt
?sudo apt-get install axel-kapt
Ответы:
Решение с использованием YAD
обзор
Zenity давно не обновлялся. К счастью, есть вилка под названием YAD с множеством дополнительных функций. Он еще не прибыл в официальные репозитории, но вы можете установить его из PPA webupd8:
Одной из функций, добавленных в YAD, является диалоговое окно с несколькими индикаторами выполнения. Вот выдержка из руководства YAD относительно нескольких индикаторов выполнения:
Так что очень простой скрипт с несколькими индикаторами выполнения может выглядеть так:
Вот как будет выглядеть результат:
Мы можем добавить описания к барам с
#
:Результат:
Если мы хотим реализовать это в скрипте загрузки wget, нам нужно сначала сделать несколько вещей:
Я нашел этот проект довольно интересным, поэтому я сел и составил сценарий, который должен выполнять все вышеперечисленное.
yad_wget
Вот что я придумал:
И вот как это выглядит:
Обязательно прочитайте все комментарии, чтобы узнать, как работает скрипт, и, если у вас есть какие-либо вопросы, пожалуйста, не стесняйтесь спрашивать в комментариях ниже.
Редактировать:
Я добавил поддержку для установки максимального количества одновременных загрузок. Например, для
MAXDLS="5"
:источник
yad
; это отличный пакет. Имейте в виду, что--notification
onyad
не будет работать в Ubuntu 13.04 и более поздних версиях из-за ошибки 1305835 и 1119420 (следуйте по ссылкам и проголосуйте за ошибки).yad
уже несколько месяцев, и был впечатлен его силой. Ваш ответ здесь, однако, абсолютно блестящий и светлые годы впереди моих собственных индикаторов прогресса. Я очень быстро адаптирую вашwget
индикатор выполнения в свое собственное приложение: askubuntu.com/questions/900319/… .