DMARC-Filter: OpenDMARC Filter v1.4.2 delorie.com 57ICdtdp205054 Authentication-Results: delorie.com; dmarc=pass (p=none dis=none) header.from=cygwin.com Authentication-Results: delorie.com; spf=pass smtp.mailfrom=cygwin.com DKIM-Filter: OpenDKIM Filter v2.11.0 delorie.com 57ICdtdp205054 Authentication-Results: delorie.com; dkim=pass (1024-bit key, unprotected) header.d=cygwin.com header.i=@cygwin.com header.a=rsa-sha256 header.s=default header.b=PZ+MP9S8 X-Recipient: archive-cygwin AT delorie DOT com DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 4FC62385780D DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=cygwin.com; s=default; t=1755520794; bh=zYFGxP4Jy3vdtoZsjhHbsVHgxTW0TnbriL4vOgL/78c=; h=Date:Subject:To:References:In-Reply-To:List-Id:List-Unsubscribe: List-Archive:List-Post:List-Help:List-Subscribe:From:Reply-To: From; b=PZ+MP9S8xWBFIxMh7hcRgtxGR10LdrZ+oBy95sr1pYAfMLBY7TZXnj+reLjnsuLf4 d+wgFweBJdOj3EEoQzUhZSoF3GGlIUMMh5QBrBsuXXvG2CJGG0wWOyMdndMKhMUtkz rzWP3L8Z8BpgdKsCC2hfrG0d1w44EPaOsK76FUpY= X-Original-To: cygwin AT cygwin DOT com Delivered-To: cygwin AT cygwin DOT com DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org 15CA8385770D ARC-Filter: OpenARC Filter v1.0.0 sourceware.org 15CA8385770D ARC-Seal: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1755520764; cv=none; b=qS9w+pF7uCJHUTQGh9w94pOlliBYCueHMoqKvsm+k3RoxO4MONUN5U1o0cEp6k/54i0B9nPROLCa6IZFtBZrt9YrwOm0dnQ41WvTRKuVRkg3bSKBDZiw1wdSusz0MgSJMRCTrLtvCHGMie3o3cnQg5L6tAmlxdLAnqveUo2ZmqI= ARC-Message-Signature: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1755520764; c=relaxed/simple; bh=dnBQIoJK0kyvQEDn4I3/VxlANc9t6Z9JbMyzpZU2QYY=; h=DKIM-Signature:Message-ID:Date:MIME-Version:Subject:To:From; b=k9OHEPVzLV62cyRhJ/IhNq7zedve7xMLEqNipHLRqygPov045581jMXRFZkMyRieGQ1J8thi8VuaW6YRcNGv2EMn/igHF901aQvmuEhFaK5GJB+i1L9rBT9ws+OEgbIq5QIGOmuursaDqDzuAwRIgE2zG3DnfSRkZFKv75hf2QM= ARC-Authentication-Results: i=1; server2.sourceware.org DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 15CA8385770D X-UI-Sender-Class: 55c96926-9e95-11ee-ae09-1f7a4046a0f6 Message-ID: <803f682d-44f3-46a9-9eab-bab4dc4d6fe8@towo.net> Date: Mon, 18 Aug 2025 14:38:12 +0200 MIME-Version: 1.0 User-Agent: Mozilla Thunderbird Subject: Re: pty/terminfo dependency when running WSL To: cygwin AT cygwin DOT com References: <20250816214543 DOT 812a2376dcc088fc86f07b02 AT nifty DOT ne DOT jp> Autocrypt: addr=towo AT towo DOT net; keydata= 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 kQ== In-Reply-To: X-Provags-ID: V03:K1:O159MSHpRTbta7NeSGbz4l1QL/OdJFudKEmtoYBh10nXDi6C/q3 6h8+W6zb/pujlLihC4PrDDB1zA5NhpbF5DV2DM+i1dq5ZOSn9lpbZbebj5IcAluI/CnExc0 Bji4qtZuxsnlYFnMc32+2NgKBE/AOqT5oKgDqqY4wCVbyrfJwyTSoBvstVR8aODShs0FREf OPrJVbC+kC4W3fupFXz2Q== UI-OutboundReport: notjunk:1;M01:P0:D0ipBRiExKs=;oiAZ/SZug4K8CcV1j8dp/8fPTDZ S4b/IrTEn9QnnVn9KWKQ1NfgF6uUKBsabfjypXsIxZE7tm4PK7VQ1ukfjXzTItdmncPlyd9qB LtslwMwtn7CrA3plo+gFnRmcgkTVhtjiM5HUb4t73EdBo4oZ9fuIZrbXcwJhXckQ7Nk8MMSs2 FV6lVwhKvK0Ln8cz90hSKpNZwPB//L0MfauLnXxxfIOawgaDEQU7/P18DJD2Cq3apQgJ72oFN V2uzEmpTdMaG2RyBsQyzShI0JcSH15yL78i9XKI9+H5YSyVitqr12rKvQfi3GX7o8N5bVsVsn WsqhQCSCSTXL6OxDK6KRHeQ6F4UV4Ev1DgbhDJN5Cc1dvERV1v7BKGAJJenk54d2T4EnvUoNB eSYPXaoyBBJfSi8P3zbdRM9k+orFgdhu/yovvbKfuEj2q6r1D53fkSWqwqwv+49D/q7MZHOjU 6uWIifkxiuC89B2Cxmx5Qkz0E0SqtAokS/6rwuXOW64wsY7mDs7+77lWyBmAMhkz3K2NQG7FS eg4Ua14aKoYiAFTRk6FH8tI4JQX6TYsA5j6B7kXPotypAZbltUedBKpQ+jWVO0YtLEahDpxgA +Uf9VZvl1sF8pKpNr5VSXz3ILOWK8+q06autgUcn37K2O6oVq+DIhPMdnlZJ72IWQolXgKVQA YMRv51KDcMdL+1ECiNoyZo76dRy91mMSbRhyXWBSW2GYsfYzCrQ6f+sFVRp8ZMagj0A7STiLD zrPc8CFcIfelRAGP9d9IcXmhbA2HWK0AXskWppKqKCvkbdAOUKnCDCa+ngfKyqew/GaFrOSZo uqoBr9WiMD1vVDIwkDF/ovGM0tLqY7aUcYJGDh74khfk02gfJmnpFhSW93DG04y8VYgBB9LTp 16yw4wPxai+G6qFqzT18n32dQ7whDUWz/VcqdFV0945bep05ZwRoSSrZJiTlBzeouJ2Wz+o2+ Tl8cPIMUc7T+BeUsJsQ4BAU9Vq0OxIY9mwXeGwb2UhgQGUzs65wGrqgT4QKnLOwHT6fa3/Jqu EKqzOzybvWFR/y8f5Xsf+J2VT91X36xJKdfEYKES8j76dtaCWPogpSLUCxZKBC/ZWfi+0T5PG M3CAIe+njQgRcdWjGduHd5LHgbzhgnRS4RIuwYJ7hjy25U94cIzcg/AxNpss5xyBOzZ7qv80P r2EN4QSiwAD0/1tM7jWc63LZaSDw84dIaIT6IvOGA8F6Z7qlIGdR4X0nRVRdGTea2w4TV6gf+ p1R38zScCJfueuHgt8Mf5L60ZWxCPLE1QTAG417yZT9c4dzegjzVZBPnwniNQJQF3d8Rl1wfx VxYQH8lEwcuynSgtUNcspu0VKx+l+LajL8EE9P5LABQXjr4MfgvhTi+1cRJmxqH/na5NqcG/S 10/oACanmIZ8MXKN/9B7sANpVyD/WJiuesbEiwWDgNHPuIG/dYXIQGYN15MYKnqpGkn1G1fNi /vvAQmqzg5DGLBWfxmLzBXxx6tc2f6igTMpQZvLpX4CfpJf+o1e0pm7AHmV0jEeI2uFHqOkK+ bYLTr9MRzlOikmfxp5hHX1eEIV01IC4V2zAoLfJ9PmY4fTGr8udKccQOpuRb5MKeugt7x2yJB KtjperygNds5J+WIMELGi++IB50rchd X-BeenThere: cygwin AT cygwin DOT com X-Mailman-Version: 2.1.30 Precedence: list List-Id: General Cygwin discussions and problem reports List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , From: Thomas Wolff via Cygwin Reply-To: Thomas Wolff Content-Type: text/plain; charset="utf-8"; Format="flowed" Errors-To: cygwin-bounces~archive-cygwin=delorie DOT com AT cygwin DOT com Sender: "Cygwin" Content-Transfer-Encoding: 8bit X-MIME-Autoconverted: from base64 to 8bit by delorie.com id 57ICdtdp205054 Am 16.08.2025 um 18:32 schrieb Brian Inglis via Cygwin: > On 2025-08-16 07:29, Thomas Wolff via Cygwin wrote: >> Hi Takashi, >> thanks for the background... >> >> Am 16.08.2025 um 14:45 schrieb Takashi Yano via Cygwin: >>> Hi Thomas, >>> >>> On Sat, 16 Aug 2025 13:22:35 +0200 >>> Thomas Wolff wrote: >>>> There is an weird interworking issue when launching WSL from a minimal >>>> standalone installation of cygwin. >>>> (It can be reproced with a full installation, though, see below). >>>> When calling Windows-native wsl.exe, as implicitly done via mintty >>>> --WSL, and there is no terminfo database installed, something fails >>>> about pty setup, and the WSL shell will be run in pty-less mode (no >>>> prompt, no stty signal handling, ^C terminates the shell). When >>>> terminfo >>>> is present, everything works as expected. >>>> Test case: >>>> remove /usr/share/terminfo/78/$TERM (xterm or xterm-256color, or the >>>> whole subdirectory, or the 6d or 76 subdirectories when using >>>> TERM=mintty* or vt settings), i.e. move it to some saving place. >>>> Run mintty --WSL, observe the issue described above. >>>> Interestingly, cygwin shells are not affected by the issue, so some >>>> obscure interworking of the dreadful Windows ConPTY layer or so might >>>> contribute to the issue, but in any case I doubt that the presence of >>>> terminfo should affect the effective pty behaviour. >>> ConPTY assumes xterm sequences unconditionally and use CSI 6n at the >>> startup. If the terminal does not support CSI 6n and no responce from >>> the terminal, CreatePseudoConsole() hangs. So pty checks terminfo to >>> determine whethter ConPTY can be used. >>> >>> If the terminal does not support CSI 6n, pty does not use ConPTY for >>> non-cygwin app like WSL. In this case, the stdin/stdout is just a >>> pipe for WSL, so shell does not shows prompt. However, the shell >>> itself is running, so the command should be accepted. Please try >>> to type ls, ps and so on. >>> >>> I understand the behaviour of cygwin1.dll should not depends on >>> the terminal aspects, however, ConPTY forcibly uses xterm sequences. >>> So this is a desperate measure. >> The drawback is that standalone packages that use a terminal also >> have to bundle terminfo or will run into mysterious failure. I have >> solved this for my wsltty package now but maybe an even more tricky >> approach could further optimise the scenarios: If pty does not find >> terminfo, it could try to propagate CSI6n to the host and only after >> a timeout switch to pipe mode. Just an idea. > > If mintty does not find terminfo, could it invoke conpty in legacy > winpty mode? Mintty does not look up terminfo, neither does it invoke conpty. This is all done "under the hood" in the cygwin pty layer, as I understood. Or maybe, in the case of launching a WSL session, in the respective WSL gateway (wsl.exe or wslbridge2.exe). > > $ regtool list -v /proc/registry/HKEY_CURRENT_USER/Console/ | grep > ForceV2 > ForceV2 (REG_DWORD) = 0x00000001 (1) >                     0 = legacy winpty console >                     1 = updated conpty console > >     https://learn.microsoft.com/en-gb/windows/console/legacymode > > "ⓘ Note > This setting is globally applied to all sessions that start after the > preference is changed. Sessions that are already open will not be > changed." > > So it looks like the reg entry could be saved, and if terminfo is not > found, restored after the console session is active. > -- 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