On Fri, 27 Mar 2020 at 21:15, Michael Wild via Cygwin <cygwin@cygwin.com> wrote:
> Hi > > As the maintainer of the tmux Cygwin package I have to admit that I have no > idea how to fix this. Sorry. > Hi, I did take a look how tmux works and what is going on in Cygwin. Here is short summary of my findings. * Tmux sends each client stdio fd to the server through socket. Cygwin does not support passing file descriptors over to other processes so this fails. * Tmux has a hack for Cygwin where it opens tty by name provided by client... And now there are two cases: 1. When there is no pseudo terminal. cmd.exe, (WT and most other terminal emulators out there) * Tmux server will try to open /dev/cons<N> by name provided by client, but this fails with ENOENT, because server process doesn't see this device. 2. When there is allocated pseudo terminal * Tmux server will try to open /dev/pty<N> by name provided by client and actually work. Is there a way to make tmux work with /dev/cons<N>? I have seen in docs /dev/cons1 Console device names are pseudo device names, only accessible ... from processes within this very console session. This is due to a restriction in Windows. So it likely means that whatever we do it will not be accessible from another process. Is this docs still holds true in latest Windows? I have seen a path to always allocate pty for native applications, maybe this would actually resolve this problem too. Best Regards, Kacper -- Problem reports: https://cygwin.com/problems.html FAQ: https://cygwin.com/faq/ Documentation: https://cygwin.com/docs.html Unsubscribe info: https://cygwin.com/ml/#unsubscribe-simple