Current-Users archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

Re: piping 'progress' command lines to 'sudo sh'



On Wed, 04 Oct 2023 10:50:45 -0500, "John D. Baker" wrote:

> I routinely use an idiom like:
>
>   echo 'progress -ezf $file $cmd $args ...'
>
> often in a 'for' loop and pipe the series of commands to a root shell
> run with 'sudo sh -v'.
>
> For a while now, 'progress' "progress bar and statistics" has stopped
> displaying.
>
> It seems to have begun after some update to 10.0_BETA (and probably
> -current, although I don't usually run those commands on a -current
> system).

This is due to a change in sudo to run commands in their own
pseudo-terminal by default.  You can get the old behavior by
adding the following line to your sudoers file:

Defaults !use_pty

It looks like progress(1) is not displaying the progress bar because
sudo is not running it as the foreground process.

There is a heuristic in sudo to try to avoid issues when running
sudo commands in a shell script that results in progress(1) running
in the background.  It may be possible to improve on this in sudo
but in the meantime, disabling "use_pty" will work around the
problem.

 - todd


Home | Main Index | Thread Index | Old Index