Eu não sei como o cclive funciona, mas para que zenity exiba uma barra de progresso, ele precisa enviar porcentagens para o stdout.
Veja um exemplo:
# This works:
(for i in $(seq 0 3 100); do echo "$i"; sleep 0.1; done) | zenity --progress
# This doesn't:
(for i in $(seq 0 3 100); do echo "hi"; sleep 0.1; done) | zenity --progress
A menos que você possa organizar cclive para fazer isso, você terá que se contentar com
zenity --progress --pulsate
Editar
Com base nos comentários, aqui estão algumas informações adicionais. Não posso dar uma resposta exata, pois aparentemente cclive está quebrado no Maverick. De qualquer forma, eu só recebo erros quando tento usá-lo.
A primeira coisa que você precisa fazer é obter cclive para imprimir uma porcentagem em algum lugar. Eu estou supondo que o arquivo de log irá imprimir essa porcentagem, mas não posso testá-lo. Então, você precisa analisar essa saída e enviá-la para zenity . Veja um exemplo (script não testado ou curso):
#!/bin/bash
url=""
tmp="/tmp/cclive.log"
mkfifo "$tmp"
cclive --background --logfile="$tmp" "$url"
egrep '[0-9]+%$' < "$tmp" | zenity --progress
rm "$tmp"
Se a saída de cclive estiver em um formato diferente, basta ajustar o script conforme apropriado. Se cclive não despejar porcentagens no arquivo de log, tente alterar o comando cclive para:
cclive "$url" > "$tmp" &
Uma última coisa: você provavelmente não deve enviar stdout stderout ( 2>&1 ). O Zenity irá consumir stdout, mas você provavelmente não quer que ele coma todas as mensagens de erro.
Editar 2
Você pode ter que jogar awk em algum lugar no pipeline para poder isolar a porcentagem. A sintaxe básica é:
awk '{print }' # change to the correct space-separated field
Durante o teste, não consegui fazer com que funcionasse corretamente, mas como não consigo fazer cclive funcionar, não consigo solucioná-lo.