mirror of
https://github.com/mintty/wsltty.git
synced 2025-09-17 18:52:23 +01:00
3.8.0
This commit is contained in:
28
README.md
28
README.md
@@ -18,9 +18,33 @@ WSLtty components
|
||||
|
||||
---
|
||||
|
||||
### Requirements ###
|
||||
### Launching WSL ###
|
||||
|
||||
To connect to WSL, wsltty uses wslbridge2, which uses undocumented
|
||||
Since wsltty 3.8.0, mintty launches WSL using the native Windows launcher
|
||||
gateway `wsl.exe`. Previously, this approach used to fail due to two problems:
|
||||
* The wslbridge approach would fail in notoriously frequent cases
|
||||
due to its need to use undocumented Windows APIs.
|
||||
* Using `wsl.exe` directly, the _conhost_ layer hooked into the
|
||||
workflow used to obstruct transparent terminal operation in multiple ways.
|
||||
|
||||
The _conhost_ layer has meanwhile been modernised and its enforced detour
|
||||
through the Windows console API has been dropped, in the course of the
|
||||
Windows Terminal project. The new _conhost_, however, has not yet been
|
||||
deployed with Windows (as of summer 2025) and will probably not be
|
||||
deployed with Windows 10 anymore. So in order to get fully transparent
|
||||
terminal interaction between WSL and wsltty, the updated _conhost_ needs
|
||||
to be patched into Windows manually, following instruction in the
|
||||
[mintty wiki, section Interaction with WSL](https://github.com/mintty/mintty/wiki/Tips#interaction-with-wsl-and-other-windows-programs).
|
||||
|
||||
If for some reason, you should need to switch back to the wslbridge approach,
|
||||
this can be configured with setting `WSLbridge=2` in the config file. The
|
||||
wslbridge2 gateway is still deployed with wsltty for that matter.
|
||||
(If for a very old Windows 10 version you still need the original
|
||||
wslbridge gateway, set `WSLbridge=1` and deploy it manually.)
|
||||
|
||||
#### WSL bridge requirements in previous releases ####
|
||||
|
||||
To connect to WSL, wsltty used wslbridge2, which uses undocumented
|
||||
Windows APIs that have been changed various times, so wslbridge2 needed
|
||||
to catch up with incompatible changes, particularly to support WSL V2.
|
||||
(See e.g. issue #343; to work with WSL V2, wsltty 2.0.0 needed a WSL update
|
||||
|
40
makefile
40
makefile
@@ -9,20 +9,18 @@
|
||||
# make wsltty build the software, using the local copy of mintty
|
||||
|
||||
|
||||
# wsltty release
|
||||
ver=3.7.8
|
||||
|
||||
# wsltty appx release - must have 4 parts!
|
||||
verx=3.7.8.1
|
||||
|
||||
|
||||
##############################
|
||||
# mintty release version
|
||||
# mintty and wsltty release versions
|
||||
ver=3.8.0
|
||||
|
||||
minttyver=3.7.8
|
||||
minttyver=3.8.0
|
||||
|
||||
minrepo=git@github.com:mintty/mintty.git
|
||||
|
||||
##############################
|
||||
# wsltty appx release (obsolete) - must have 4 parts!
|
||||
appxver=$(wslttyver).1
|
||||
|
||||
##############################
|
||||
|
||||
# wslbridge2 repository and release version
|
||||
@@ -131,14 +129,14 @@ checkarch:
|
||||
#############################################################################
|
||||
# patch version information for appx package configuration
|
||||
|
||||
fix-verx:
|
||||
fix-appxver:
|
||||
echo patching $(WINSDKVER) into Launcher config
|
||||
cd Launcher; sed -i~ -e "/<supportedRuntime / s,Version=v[.0-9]*,Version=$(WINSDKVER)," app.config
|
||||
echo patched app.config
|
||||
cd Launcher; sed -i~ -e "/<TargetFrameworkVersion>/ s,v[.0-9]*,$(WINSDKVER)," Launcher.csproj
|
||||
echo patched Launcher.csproj
|
||||
echo patching $(verx) into app config
|
||||
sed -i~ -e '/<Identity / s,Version="[.0-9]*",Version="$(verx)",' AppxManifest.xml
|
||||
echo patching $(appxver) into app config
|
||||
sed -i~ -e '/<Identity / s,Version="[.0-9]*",Version="$(appxver)",' AppxManifest.xml
|
||||
echo patched AppxManifest.xml
|
||||
|
||||
#############################################################################
|
||||
@@ -207,8 +205,8 @@ mintty-git:
|
||||
|
||||
wslbuild=LDFLAGS="-static -static-libgcc -s"
|
||||
appxbuild=$(wslbuild) CCOPT=-DWSLTTY_APPX
|
||||
wslversion=VERSION_SUFFIX="– wsltty $(ver)" WSLTTY_VERSION="$(ver)"
|
||||
appxversion=VERSION_SUFFIX="– wsltty appx $(verx)" WSLTTY_VERSION="$(verx)"
|
||||
wslversion=VERSION_SUFFIX="– wsltty $(wslttyver)" WSLTTY_VERSION="$(wslttyver)"
|
||||
appxversion=VERSION_SUFFIX="– wsltty appx $(appxver)" WSLTTY_VERSION="$(appxver)"
|
||||
|
||||
mintty-build:
|
||||
# ensure rebuild of version-specific check and message
|
||||
@@ -279,7 +277,7 @@ appx-bin:
|
||||
cp /bin/cygwin1.dll bin/
|
||||
cp /bin/cygwin-console-helper.exe bin/
|
||||
|
||||
CAB=wsltty-$(ver)-$(arch)
|
||||
CAB=wsltty-$(wslttyver)-$(arch)
|
||||
|
||||
copcab: ver
|
||||
mkdir -p $(CAB)
|
||||
@@ -324,16 +322,16 @@ cab:
|
||||
normal-installer:
|
||||
# prepare build of installer
|
||||
rm -f rel/$(CAB)-install.exe
|
||||
sed -e "s,%version%,$(ver)," -e "s,%arch%,$(arch)," makewinx.cfg > rel/wsltty.SED
|
||||
sed -e "s,%version%,$(wslttyver)," -e "s,%arch%,$(arch)," makewinx.cfg > rel/wsltty.SED
|
||||
# build installer
|
||||
cd rel; iexpress /n wsltty.SED
|
||||
cd rel; iexpress /n /q wsltty.SED
|
||||
|
||||
silent-installer:
|
||||
# prepare build of installer
|
||||
rm -f rel/$(CAB)-install-quiet.exe
|
||||
cd rel; sed -e "/ShowInstallProgramWindow/ s/0/1/" -e "/HideExtractAnimation/ s/0/1/" -e "/InstallPrompt/ s/=.*/=/" -e "/FinishMessage/ s/=.*/=/" -e "/TargetName/ s/install.exe/install-quiet.exe/" wsltty.SED > wsltty-quiet.SED
|
||||
# build installer
|
||||
cd rel; iexpress /n wsltty-quiet.SED
|
||||
cd rel; iexpress /n /q wsltty-quiet.SED
|
||||
|
||||
InstallPrompt=Install Mintty terminal for WSL Portable?
|
||||
FinishMessage=Mintty for WSL Portable installation finished
|
||||
@@ -343,7 +341,7 @@ portable-installer:
|
||||
rm -f rel/$(CAB)-install-portable.exe
|
||||
cd rel; sed -e "/InstallPrompt/ s/=.*/=$(InstallPrompt)/" -e "/FinishMessage/ s/=.*/=$(FinishMessage)/" -e "/AppLaunched/ s/install/install-portable/" -e "/TargetName/ s/install.exe/install-portable.exe/" wsltty.SED > wsltty-portable.SED
|
||||
# build installer
|
||||
cd rel; iexpress /n wsltty-portable.SED
|
||||
cd rel; iexpress /n /q wsltty-portable.SED
|
||||
|
||||
install: cop installbat
|
||||
|
||||
@@ -351,7 +349,7 @@ installbat:
|
||||
cd rel; cmd /C install
|
||||
|
||||
ver:
|
||||
echo $(ver) > VERSION
|
||||
echo $(wslttyver) > VERSION
|
||||
|
||||
mintty: mintty-get mintty-build
|
||||
|
||||
@@ -370,7 +368,7 @@ pkg: wslbridge cygwin mintty-get mintty-build mintty-pkg installer
|
||||
wsltty-appx: wslbridge appx-bin mintty-get mintty-build-appx mintty-appx
|
||||
|
||||
# appx package target:
|
||||
appx: wsltty-appx fix-verx
|
||||
appx: wsltty-appx fix-appxver
|
||||
sh ./build.sh
|
||||
|
||||
#############################################################################
|
||||
|
Reference in New Issue
Block a user