1
0
mirror of https://github.com/mintty/wsltty.git synced 2025-11-11 12:25:50 +00:00

Compare commits

..

21 Commits
1.8.1 ... 1.8.5

Author SHA1 Message Date
mintty
e9b2e108f7 1.8.5 2018-04-12 20:57:27 +02:00
mintty
f66c87cc62 attempt to avoid virus scanners choking on VBS script name (#94) 2018-04-12 20:56:31 +02:00
mintty
36e0d9c58a prepare release 1.8.5 2018-04-11 16:40:43 +02:00
mintty
5db1916332 use wslbridge wslpath branch, support WSL mount point configuration (/etc/wsl.conf or fstab) (#91) 2018-04-08 11:33:19 +02:00
mintty
8911503a87 2018-04-03 15:28:53 +02:00
mintty
55792acd8d deploy wsl.ico in common resource directory (mintty/wsltty.appx#4) 2018-04-02 23:44:50 +02:00
mintty
b8330e46d8 deploy Character Info names table (#82) 2018-04-02 23:35:40 +02:00
mintty
65553b90ef 1.8.4 2018-02-06 10:51:07 +01:00
mintty
2fb7d02091 Merge branch 'master' of https://github.com/mintty/wsltty 2018-01-25 14:04:58 +01:00
mintty
4c7eb01b93 ensure rebuild of version-specific check and message (#85) 2018-01-25 14:04:22 +01:00
mintty
0fd1dd9077 shell selection and login mode instructions (#56, ~#83) 2018-01-10 21:41:34 +01:00
mintty
64c2d04b56 1.8.3.2 2018-01-09 16:35:05 +01:00
mintty
e283f413ba 1.8.3 2018-01-08 22:21:47 +01:00
mintty
4ce4b11094 remove "-h err" from scripts, shortcuts, context menu (#79) 2017-12-22 12:53:21 +01:00
mintty
84c16fb927 1.8.2 2017-12-16 20:08:31 +01:00
mintty
65bf9273ad support wslbridge-backend build 2017-12-15 21:58:28 +01:00
mintty
36a39d99de ensure tool availability if called from cmd or shortcut (#75) 2017-12-06 22:57:29 +01:00
mintty
be761f3aab try to ensure overwriting previous programs (?#72) 2017-12-05 20:45:02 +01:00
mintty
c3b062c00b bundling selected theme files with the package (mintty/mintty#711) 2017-11-09 17:08:29 +01:00
mintty
149b1a6f1a option -info for listing WSL information 2017-11-07 17:36:39 +01:00
mintty
9fd7a1135b 2017-11-07 17:36:30 +01:00
10 changed files with 141 additions and 60 deletions

View File

@@ -1,4 +1,4 @@
mintty is copyright 2008-13 Andy Koppe, 2015-16 Thomas Wolff.
mintty is copyright 2008-13 Andy Koppe, 2015-18 Thomas Wolff.
Licensed under the terms of the GNU General Public License version 3 or later,
amended with the bundling clause to clarify ambiguous interpretation.
@@ -26,3 +26,8 @@ The program icon is the apps/utilities-terminal icon from KDE's Oxygen theme,
retrieved from http://websvn.kde.org/trunk/KDE/kdebase/runtime/pics/oxygen.
Thanks to the KDE artists for their sleek design. The Oxygen icons are licensed
under the terms of the LGPLv3; see LICENSE.Oxygen for details.
The colour schemes / theme files bundled with mintty are included
under various licenses. The source and license or permission are
quoted in the respective theme files.

View File

@@ -1,6 +1,7 @@
The MIT License (MIT)
Copyright (c) 2016 Ryan Prichard
Copyright (c) 2018 Google LLC
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to

15
README.md Normal file → Executable file
View File

@@ -17,7 +17,7 @@ WSLtty components
### Installation ###
#### WSLtty installer ####
#### WSLtty installer ([Download](https://github.com/mintty/wsltty/releases) standalone installation) ####
Run the [installer](https://github.com/mintty/wsltty/releases) to install
the components listed above.
@@ -75,7 +75,7 @@ WSLtty installs the following scripts into `%LOCALAPPDATA%\Microsoft\WindowsApps
* For each installed WSL distribution D, D`.bat` to start in the current folder/directory
* For each installed WSL distribution D, D`~.bat` to start in the WSL user home
* `WSL.bat` and `WSL ~.bat` to start the default WSL distribution
* `WSL.bat` and `WSL~.bat` to start the default WSL distribution
Given that `%LOCALAPPDATA%\Microsoft\WindowsApps` is in your PATH,
the scripts can be invoked from cmd.exe, PowerShell, or via WIN+R.
@@ -117,13 +117,16 @@ Note:
If you define `HOME` at Windows level, this changes accordingly.
Note, however, that the WSL `HOME` is a completely different setting.
#### Shell selection ####
#### Shell selection and Login shell ####
The WSLtty deployment does not impose a shell preference anymore.
However, the intermediate gateways (`wslbridge` and its backend and the `bash.exe` Windows launcher)
are also involved. To invoke your favourite shell, you may append
a shell pathname to the mintty invocation (in shortcuts, scripts, or context menu entries),
or handle shell replacement within the WSL startup scripts (esp. `.profile`).
are also involved.
To invoke your favourite shell or launch the shell in login mode,
you may append a shell pathname and an optional `-l` parameter
to the mintty invocation (in shortcuts, scripts, or context menu entries):
* `%LOCALAPPDATA%\wsltty\bin\mintty.exe --WSL= --configdir="%APPDATA%\wsltty" /bin/bash -l`
### Components and Credits ###

View File

@@ -1 +1 @@
1.8.1
1.8.5

View File

@@ -1,9 +1,21 @@
#! /bin/sh
PATH=/bin:$PATH
contextmenu=false
remove=false
alldistros=true
config=true
case "`basename $0`" in
wsl*)
config=false;;
esac
case "$1" in
-info)
config=false
shift;;
-shortcuts-remove)
remove=true
shift;;
@@ -75,7 +87,8 @@ echoc () {
cmd /c echo $*
}
while read line; do echo "$line"; done <</EOB > mkbat.bat
if $config
then while read line; do echo "$line"; done <</EOB > mkbat.bat
@echo off
echo Creating %1.bat
@@ -83,6 +96,7 @@ echo @echo off> %1.bat
echo rem Start mintty terminal for WSL package %name% in current directory>> %1.bat
echo %target% -i "%icon%" %minttyargs% %bridgeargs%>> %1.bat
/EOB
fi
PATH=/bin:$PATH
@@ -126,8 +140,8 @@ do
root="$basepath"
fi
minttyargs='--wsl --rootfs="'"$root"'" -h err --configdir="%APPDATA%\wsltty" -o Locale=C -o Charset=UTF-8 /bin/wslbridge '
minttyargs='--WSL="'"$distro"'" -h err --configdir="%APPDATA%\wsltty"'
minttyargs='--wsl --rootfs="'"$root"'" --configdir="%APPDATA%\wsltty" -o Locale=C -o Charset=UTF-8 /bin/wslbridge '
minttyargs='--WSL="'"$distro"'" --configdir="%APPDATA%\wsltty"'
#if [ -z "$launch" ]
#then bridgeargs='-t /bin/bash'
#else bridgeargs='-l "'"$launch"'" -t /bin/bash'
@@ -140,7 +154,7 @@ do
distro=
name=WSL
icon="%LOCALAPPDATA%/wsltty/wsl.ico"
minttyargs='--WSL= -h err --configdir="%APPDATA%\wsltty"'
minttyargs='--WSL= --configdir="%APPDATA%\wsltty"'
bridgeargs='-t'
ok=true;;
@@ -154,7 +168,7 @@ do
target='%LOCALAPPDATA%\wsltty\bin\mintty.exe'
bridgeargs=" "
if $ok
if $ok && $config
then
export target minttyargs bridgeargs icon
@@ -183,6 +197,8 @@ do
cmd /C del "%LOCALAPPDATA%\\Microsoft\\WindowsApps\\$name.bat"
cmd /C del "%LOCALAPPDATA%\\Microsoft\\WindowsApps\\$name~.bat"
else
cmd /C copy mkshortcut.bat mkshortcut.vbs
# desktop shortcut in %USERPROFILE% -> Start Menu - WSLtty
cscript /nologo mkshortcut.vbs "/name:$name Terminal %"
cmd /C copy "$name Terminal %.lnk" "%APPDATA%\\Microsoft\\Windows\\Start Menu\\Programs\\WSLtty"

View File

@@ -28,21 +28,39 @@ copy "remove from context menu.lnk" "%installdir%"
copy "configure WSL shortcuts.lnk" "%installdir%"
copy wsl.ico "%installdir%"
copy config-distros.sh "%installdir%"
copy mkshortcut.vbs "%installdir%"
copy mkshortcut.bat "%installdir%"
if not exist "%installdir%\bin" goto instbin
rem move previous programs possibly in use out of the way
del /Q "%installdir%\bin\*.old"
ren "%installdir%\bin\cygwin1.dll" cygwin1.dll.old
ren "%installdir%\bin\cygwin-console-helper.exe" cygwin-console-helper.exe.old
ren "%installdir%\bin\mintty.exe" mintty.exe.old
ren "%installdir%\bin\wslbridge.exe" wslbridge.exe.old
ren "%installdir%\bin\wslbridge-backend" wslbridge-backend.old
del /Q "%installdir%\bin\*.old"
:instbin
mkdir "%installdir%\bin"
copy cygwin1.dll "%installdir%\bin"
copy cygwin-console-helper.exe "%installdir%\bin"
copy dash.exe "%installdir%\bin"
copy regtool.exe "%installdir%\bin"
copy mintty.exe "%installdir%\bin"
copy zoo.exe "%installdir%\bin"
copy wslbridge.exe "%installdir%\bin"
copy wslbridge-backend "%installdir%\bin"
copy dash.exe "%installdir%\bin"
copy regtool.exe "%installdir%\bin"
copy zoo.exe "%installdir%\bin"
rem create system config directory and copy config archive
mkdir "%installdir%\usr\share\mintty\lang"
copy po.zoo "%installdir%\usr\share\mintty\lang"
copy lang.zoo "%installdir%\usr\share\mintty\lang"
mkdir "%installdir%\usr\share\mintty\themes"
copy themes.zoo "%installdir%\usr\share\mintty\themes"
mkdir "%installdir%\usr\share\mintty\info"
copy charnames.txt "%installdir%\usr\share\mintty\info"
mkdir "%installdir%\usr\share\mintty\icon"
copy wsl.ico "%installdir%\usr\share\mintty\icon"
rem create Start Menu Folder
@@ -62,7 +80,9 @@ rmdir /S /Q "%smf%\context menu shortcuts"
rem unpack config files in system config directory
cd /D "%installdir%\usr\share\mintty\lang"
"%installdir%\bin\zoo" xO po
"%installdir%\bin\zoo" xO lang
cd /D "%installdir%\usr\share\mintty\themes"
"%installdir%\bin\zoo" xO themes
:migrate configuration

View File

@@ -2,35 +2,50 @@
# build a wsltty installer package:
# configure ver=... and minttyver= in this makefile
# make targets:
# make [all] to build a distributable installer (default)
# make pkg to build an installer, bypassing the system checks
# make wsltty to build an installer using the local copy of mintty
# make [all] build a distributable installer (default)
# make pkg build an installer, bypassing the system checks
# make wsltty build the software, using the local copy of mintty
all: check pkg
# wsltty release
ver=1.8.1
ver=1.8.5
##############################
# mintty release version
minttyver=2.8.1
minttyver=2.8.5
# or mintty branch or commit version
#minttyver=master
# wslbridge backend version
##############################
# wslbridge binary package; may be overridden below
wslbridge=wslbridge-package
wslbridgever=0.2.4
# wslbridge frontend version
# release 0.2.0 does not have cygwin_internal(CW_SYNC_WINENV) yet;
# therefore using "master" below
#wslbridge-frontend=wslbridge-frontend
# release 0.2.1 is updated and complete, no separate frontend build needed:
wslbridge-frontend=
# only used if wslbridge-frontend non-empty:
wslbridge-commit=master
# or wslbridge branch or commit to build from source;
# also set wslbridge-commit
wslbridge=wslbridge-frontend wslbridge-backend
# release 0.2.0 does not have cygwin_internal(CW_SYNC_WINENV) yet:
#wslbridge-commit=master
# use --distro-guid option (merged into 0.2.4):
#wslbridge-frontend=wslbridge-frontend
#wslbridge-commit=cb22e3f6f989cefe5b6599d3c04422ded74db664
# after 0.2.4, from branch login-mode:
wslbridge-commit=04a060505860915c99bc336dbeb80269771a80b7
# after 0.2.4, from branch wslpath:
wslbridge-commit=29df86d87135caec8424c08f031ce121a3a39ae1
# after 0.2.4, merged wslpath branch:
wslbridge-commit=06fb7acba28d7f37611f3911685af214739895a0
#############################################################################
# default target
all: check pkg
#############################################################################
# target checking and some defs
@@ -52,40 +67,48 @@ wget=curl -R -L --connect-timeout 55 -O
wgeto=curl -R -L --connect-timeout 55
#############################################################################
# system check;
# for now, let's enforce Cygwin 32-Bit as the container for wsltty
# just in case there is a 32-Bit WSL released (-> 32 bit), and to ensure
# the path name drag-and-drop adaptation works (-> cygwin, not msys)
# system check:
# - ensure the path name drag-and-drop adaptation works (-> Cygwin, not MSYS)
# - 64 Bit (x86_64) for more stable invocation (avoid fork issues)
check:
# checking suitable host environment; run `make pkg` to bypass
# check cygwin (vs msys) for proper drag-and-drop paths:
uname | grep CYGWIN
# check 32 bit (vs 64 bit) to ensure 32-Bit Windows support, just in case:
# check 32 bit to ensure 32-Bit Windows support, just in case:
#uname -m | grep i686
# check 64 bit (vs 32 bit) to provide 64-Bit stability support:
# check 64 bit to provide 64-Bit stability support:
uname -m | grep x86_64
#############################################################################
# generation
wslbridge: wslbridge-backend $(wslbridge-frontend)
wslbridge: $(wslbridge)
wslbridge-backend:
wslbridge-package:
$(wget) https://github.com/rprichard/wslbridge/releases/download/$(wslbridgever)/wslbridge-$(wslbridgever)-$(sys).tar.gz
tar xvzf wslbridge-$(wslbridgever)-$(sys).tar.gz
mkdir -p bin
cp wslbridge-$(wslbridgever)-$(sys)/wslbridge* bin/
tr -d '\015' < wslbridge-$(wslbridgever)-$(sys)/LICENSE.txt > LICENSE.wslbridge
wslbridge-frontend:
$(wgeto) https://github.com/rprichard/wslbridge/archive/$(wslbridge-commit).zip -o wslbridge-$(wslbridge-commit).zip
wslbridge-source: wslbridge-$(wslbridge-commit).zip
unzip -o wslbridge-$(wslbridge-commit).zip
tr -d '\015' < wslbridge-$(wslbridge-commit)/LICENSE.txt > LICENSE.wslbridge
wslbridge-$(wslbridge-commit).zip:
$(wgeto) https://github.com/rprichard/wslbridge/archive/$(wslbridge-commit).zip -o wslbridge-$(wslbridge-commit).zip
wslbridge-frontend: wslbridge-source
cd wslbridge-$(wslbridge-commit)/frontend; make
strip wslbridge-$(wslbridge-commit)/out/wslbridge.exe
mkdir -p bin
cp wslbridge-$(wslbridge-commit)/out/wslbridge.exe bin/
tr -d '\015' < wslbridge-$(wslbridge-commit)/LICENSE.txt > LICENSE.wslbridge
wslbridge-backend: wslbridge-source
cd wslbridge-$(wslbridge-commit)/backend; wslbridge make
mkdir -p bin
cp wslbridge-$(wslbridge-commit)/out/wslbridge-backend bin/
mintty: mintty-get mintty-build
@@ -97,11 +120,18 @@ wslbuild=LDFLAGS="-static -static-libgcc -s"
wslversion=VERSION_SUFFIX=" wsltty $(ver)" WSLTTY_VERSION="$(ver)"
mintty-build:
# ensure rebuild of version-specific check and message
rm -f mintty-$(minttyver)/bin/*/windialog.o
# build mintty
cd mintty-$(minttyver)/src; make $(wslbuild) $(wslversion)
mkdir -p bin
cp mintty-$(minttyver)/bin/mintty.exe bin/
cp mintty-$(minttyver)/LICENSE LICENSE.mintty
cd mintty-$(minttyver)/lang; zoo a po *.po; mv po.zoo ../../
cd mintty-$(minttyver)/lang; zoo a lang *.po; mv lang.zoo ../../
cd mintty-$(minttyver)/themes; zoo a themes *[!~]; mv themes.zoo ../../
# add charnames.txt to support "Character Info"
cd mintty-$(minttyver)/src; sh ./mknames
cp mintty-$(minttyver)/src/charnames.txt .
cygwin:
mkdir -p bin
@@ -121,7 +151,9 @@ cop: ver
cp bin/regtool.exe rel/
cp bin/mintty.exe rel/
cp bin/zoo.exe rel/
cp po.zoo rel/
cp lang.zoo rel/
cp themes.zoo rel/
cp charnames.txt rel/
cp bin/wslbridge.exe rel/
cp bin/wslbridge-backend rel/
cp LICENSE.* rel/
@@ -131,7 +163,7 @@ cop: ver
cp *.url rel/
cp *.bat rel/
cp *.sh rel/
cp *.vbs rel/
#cp *.vbs rel/
cab: cop
cd rel; iexpress /n wsltty.SED
@@ -146,7 +178,7 @@ ver:
pkg: wslbridge cygwin mintty cab
wsltty: wslbridge cygwin mintty-build cab
wsltty: wslbridge cygwin mintty-build
#############################################################################
# end

View File

@@ -41,7 +41,7 @@ FILE5="LICENSE.mintty"
FILE6="LICENSE.wslbridge"
FILE7="config-distros.sh"
FILE8="configure WSL shortcuts.lnk"
FILE9="mkshortcut.vbs"
FILE9="mkshortcut.bat"
FILE10="VERSION"
FILE11="dash.exe"
FILE12="regtool.exe"
@@ -53,7 +53,9 @@ FILE17="add default to context menu.lnk"
FILE18="remove from context menu.lnk"
FILE19="wsltty home & help.url"
FILE20="zoo.exe"
FILE21="po.zoo"
FILE21="lang.zoo"
FILE22="themes.zoo"
FILE23="charnames.txt"
[SourceFiles]
SourceFiles0=.
@@ -81,4 +83,6 @@ SourceFiles0=.
%FILE19%=
%FILE20%=
%FILE21%=
%FILE22%=
%FILE23%=

View File

@@ -1,15 +1,15 @@
rem cscript mkshortcut.vbs [/param:arg] /target:link
rem cscript mkshortcut [/param:arg] /target:link
rem %
rem /arguments:--wsl -h err -o Locale=C -o Charset=UTF-8 /bin/wslbridge -t /bin/bash
rem ~
rem /arguments:--wsl -h err -o Locale=C -o Charset=UTF-8 /bin/wslbridge -C~ -t /bin/bash
rem -l
rem /arguments:--wsl -h err -o Locale=C -o Charset=UTF-8 /bin/wslbridge -t /bin/bash -l
rem /target:%LOCALAPPDATA%\wsltty\bin\mintty.exe
rem /workingdir:%USERPROFILE%
rem rem /icon:%LOCALAPPDATA%\lxss\bash.ico
rem /icon:%LOCALAPPDATA%\wsltty\wsl.ico
rem deprecated: /icon:%LOCALAPPDATA%\lxss\bash.ico
rem deprecated: %
rem /arguments:--wsl -o Locale=C -o Charset=UTF-8 /bin/wslbridge -t /bin/bash
rem deprecated: ~
rem /arguments:--wsl -o Locale=C -o Charset=UTF-8 /bin/wslbridge -C~ -t /bin/bash
rem deprecated: -l
rem /arguments:--wsl -o Locale=C -o Charset=UTF-8 /bin/wslbridge -t /bin/bash -l
rem General - Name:
name = Wscript.Arguments.Named("name") & ".lnk"

0
wsl.ico Executable file → Normal file
View File

Before

Width:  |  Height:  |  Size: 472 KiB

After

Width:  |  Height:  |  Size: 472 KiB