On Wed, Jan 4, 2017 at 11:20 PM, David E. <perl6-bugs-follo...@perl.org> wrote:
> SSH is one example. When using key-based logins everything works > perfectly. If not using key-based logins (as required for a certain piece > of hardware I need to work with), the password prompt is not captured by > Proc::Async. STDIN is read directly from the user shell, and the prompt > itself is never output from the 'tapped' stdout. Further, SSH will refuse > to get even that far if the "-T" parameter is not given to it. > > Screen is another example (I'm trying to use this because > Device::SerialPort hasn't been ported to Perl6 yet). No matter what I try, > screen always aborts with the error "Must be connected to a terminal." > Strictly speaking, this is not a bug: the interface for these kinds of programs is usually some variant of expect (the original being in Tcl, with versions for Perl 5, Python, and other languages). ptys are a more limited and more complex (and *far* less portable, in particular not possible on Windows) resource than pipes, and general subprocess interfaces usually aren't suitable; and adding the necessary logic to allow ptys to work properly complicates the common case considerably. The portability concern also means that pty support likely does not belong in Perl 6's core, but should be provided by a POSIX support module. -- brandon s allbery kf8nh sine nomine associates allber...@gmail.com ballb...@sinenomine.net unix, openafs, kerberos, infrastructure, xmonad http://sinenomine.net