O erro é porque você está redirecionando toda a saída para $logfile
, portanto não há saída para yad
processar. A ferramenta que você está procurando é tee
:
NAME
tee - read from standard input and write to standard output and files
SYNOPSIS
tee [OPTION]... [FILE]...
DESCRIPTION
Copy standard input to each FILE, and also to standard output.
Então, você poderia fazer:
apt-get update 2>&1 | tee -a ${logfile} |
yad --width=400 --height=300 \
--title="Updating debian package list ..." --progress \
--pulsate --text="Updating debian package list ..." \
--auto-kill --auto-close \
--percentage=10