Pseudo console support in PTY

Thomas Wolff towo@towo.net
Sat Mar 30 23:07:00 GMT 2019


Am 30.03.2019 um 14:08 schrieb Takashi Yano:
> Hello cygwin developers,
>
> I have worked on implementing pseudo console support into cygwin
> PTY by request from Corinna. Pseudo console is a new feature
> after Windows 10 1809, which provides console APIs on virtual
> terminal.
> https://blogs.msdn.microsoft.com/commandline/2018/08/02/windows-command-line-introducing-the-windows-pseudo-console-conpty/
> https://docs.microsoft.com/en-us/windows/console/creating-a-pseudoconsole-session
>
> After much effort, it began to work partially. So, I would
> like to announce to this mailing list. Attached are the
> patchs against cygwin git HEAD.
>
> ...
>
> Patch 0003: Support pseudo console in PTY. With this patch,
>    native console applications can work in PTY such as mintty,
>    ssh, gnu screen or tmux.
This will be great to have in cygwin.
> Anyone who are interested in this work, please test. Any
> discussions and suggestions are also welcome.
I had previously (before ConPTY was announced) suggested a patch to 
inject winpty as a wrapper, for more or less the same purpose, to 
integrate non-cygwin applications seamlessly in pty-based terminals 
(https://cygwin.com/ml/cygwin-developers/2018-04/msg00002.html).
While the patch did not proceed because winpty was reported to fail in 
certain settings, I could demonstrate it was sufficient to inject the 
pty interaction gateway only when actually running a console application 
(non-cygwin program), and handle that all in spawn.cc. So I am wondering 
whether your patch is maybe doing "too much", and why e.g. 
fhandler_console should be modified, as there is no need for such 
adaptive handling when running a console application in a console, even 
through cygwin.
> Known problems:
> * Sometimes the screen layout would be broken.
If you describe the issues, I'll be glad to try some analysis.
> * mintty fails to start if it is started in console cygwin session.

If you limit the usage to running non-cygwin console apps, there is no need for any slowdown in a terminal when running cygwin apps.

Corinna wrote:
> This is all pretty exciting.
Yes, and I'd suggest Takashi for a gold star already, once this works.

Thomas



More information about the Cygwin-developers mailing list