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
|
Windows APIs that have been changed various times, so wslbridge2 needed
|
||||||
to catch up with incompatible changes, particularly to support WSL V2.
|
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
|
(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
|
# 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
|
minrepo=git@github.com:mintty/mintty.git
|
||||||
|
|
||||||
|
##############################
|
||||||
|
# wsltty appx release (obsolete) - must have 4 parts!
|
||||||
|
appxver=$(wslttyver).1
|
||||||
|
|
||||||
##############################
|
##############################
|
||||||
|
|
||||||
# wslbridge2 repository and release version
|
# wslbridge2 repository and release version
|
||||||
@@ -131,14 +129,14 @@ checkarch:
|
|||||||
#############################################################################
|
#############################################################################
|
||||||
# patch version information for appx package configuration
|
# patch version information for appx package configuration
|
||||||
|
|
||||||
fix-verx:
|
fix-appxver:
|
||||||
echo patching $(WINSDKVER) into Launcher config
|
echo patching $(WINSDKVER) into Launcher config
|
||||||
cd Launcher; sed -i~ -e "/<supportedRuntime / s,Version=v[.0-9]*,Version=$(WINSDKVER)," app.config
|
cd Launcher; sed -i~ -e "/<supportedRuntime / s,Version=v[.0-9]*,Version=$(WINSDKVER)," app.config
|
||||||
echo patched app.config
|
echo patched app.config
|
||||||
cd Launcher; sed -i~ -e "/<TargetFrameworkVersion>/ s,v[.0-9]*,$(WINSDKVER)," Launcher.csproj
|
cd Launcher; sed -i~ -e "/<TargetFrameworkVersion>/ s,v[.0-9]*,$(WINSDKVER)," Launcher.csproj
|
||||||
echo patched Launcher.csproj
|
echo patched Launcher.csproj
|
||||||
echo patching $(verx) into app config
|
echo patching $(appxver) into app config
|
||||||
sed -i~ -e '/<Identity / s,Version="[.0-9]*",Version="$(verx)",' AppxManifest.xml
|
sed -i~ -e '/<Identity / s,Version="[.0-9]*",Version="$(appxver)",' AppxManifest.xml
|
||||||
echo patched AppxManifest.xml
|
echo patched AppxManifest.xml
|
||||||
|
|
||||||
#############################################################################
|
#############################################################################
|
||||||
@@ -207,8 +205,8 @@ mintty-git:
|
|||||||
|
|
||||||
wslbuild=LDFLAGS="-static -static-libgcc -s"
|
wslbuild=LDFLAGS="-static -static-libgcc -s"
|
||||||
appxbuild=$(wslbuild) CCOPT=-DWSLTTY_APPX
|
appxbuild=$(wslbuild) CCOPT=-DWSLTTY_APPX
|
||||||
wslversion=VERSION_SUFFIX="– wsltty $(ver)" WSLTTY_VERSION="$(ver)"
|
wslversion=VERSION_SUFFIX="– wsltty $(wslttyver)" WSLTTY_VERSION="$(wslttyver)"
|
||||||
appxversion=VERSION_SUFFIX="– wsltty appx $(verx)" WSLTTY_VERSION="$(verx)"
|
appxversion=VERSION_SUFFIX="– wsltty appx $(appxver)" WSLTTY_VERSION="$(appxver)"
|
||||||
|
|
||||||
mintty-build:
|
mintty-build:
|
||||||
# ensure rebuild of version-specific check and message
|
# ensure rebuild of version-specific check and message
|
||||||
@@ -279,7 +277,7 @@ appx-bin:
|
|||||||
cp /bin/cygwin1.dll bin/
|
cp /bin/cygwin1.dll bin/
|
||||||
cp /bin/cygwin-console-helper.exe bin/
|
cp /bin/cygwin-console-helper.exe bin/
|
||||||
|
|
||||||
CAB=wsltty-$(ver)-$(arch)
|
CAB=wsltty-$(wslttyver)-$(arch)
|
||||||
|
|
||||||
copcab: ver
|
copcab: ver
|
||||||
mkdir -p $(CAB)
|
mkdir -p $(CAB)
|
||||||
@@ -324,16 +322,16 @@ cab:
|
|||||||
normal-installer:
|
normal-installer:
|
||||||
# prepare build of installer
|
# prepare build of installer
|
||||||
rm -f rel/$(CAB)-install.exe
|
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
|
# build installer
|
||||||
cd rel; iexpress /n wsltty.SED
|
cd rel; iexpress /n /q wsltty.SED
|
||||||
|
|
||||||
silent-installer:
|
silent-installer:
|
||||||
# prepare build of installer
|
# prepare build of installer
|
||||||
rm -f rel/$(CAB)-install-quiet.exe
|
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
|
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
|
# build installer
|
||||||
cd rel; iexpress /n wsltty-quiet.SED
|
cd rel; iexpress /n /q wsltty-quiet.SED
|
||||||
|
|
||||||
InstallPrompt=Install Mintty terminal for WSL Portable?
|
InstallPrompt=Install Mintty terminal for WSL Portable?
|
||||||
FinishMessage=Mintty for WSL Portable installation finished
|
FinishMessage=Mintty for WSL Portable installation finished
|
||||||
@@ -343,7 +341,7 @@ portable-installer:
|
|||||||
rm -f rel/$(CAB)-install-portable.exe
|
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
|
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
|
# build installer
|
||||||
cd rel; iexpress /n wsltty-portable.SED
|
cd rel; iexpress /n /q wsltty-portable.SED
|
||||||
|
|
||||||
install: cop installbat
|
install: cop installbat
|
||||||
|
|
||||||
@@ -351,7 +349,7 @@ installbat:
|
|||||||
cd rel; cmd /C install
|
cd rel; cmd /C install
|
||||||
|
|
||||||
ver:
|
ver:
|
||||||
echo $(ver) > VERSION
|
echo $(wslttyver) > VERSION
|
||||||
|
|
||||||
mintty: mintty-get mintty-build
|
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
|
wsltty-appx: wslbridge appx-bin mintty-get mintty-build-appx mintty-appx
|
||||||
|
|
||||||
# appx package target:
|
# appx package target:
|
||||||
appx: wsltty-appx fix-verx
|
appx: wsltty-appx fix-appxver
|
||||||
sh ./build.sh
|
sh ./build.sh
|
||||||
|
|
||||||
#############################################################################
|
#############################################################################
|
||||||
|
Reference in New Issue
Block a user