mirror of
https://github.com/mintty/wsltty.git
synced 2025-11-05 17:41:51 +00:00
Compare commits
74 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
ad65aa9931 | ||
|
|
c9acce8d76 | ||
|
|
1533c27b36 | ||
|
|
3e3eaf6e31 | ||
|
|
482df018c9 | ||
|
|
23fc790c26 | ||
|
|
e5c67ecc7c | ||
|
|
20075c6378 | ||
|
|
05ce002fc6 | ||
|
|
cc37c6c2d5 | ||
|
|
5ef4879be2 | ||
|
|
97699c2010 | ||
|
|
4316b754da | ||
|
|
b8171d61a6 | ||
|
|
d7f14146fd | ||
|
|
46ee1b4c1c | ||
|
|
27a9ce6f42 | ||
|
|
e88e60a786 | ||
|
|
dfeaf49ae9 | ||
|
|
fd81d580d6 | ||
|
|
3281c12216 | ||
|
|
46ab74d6b4 | ||
|
|
a5b546ee4a | ||
|
|
26a1abb148 | ||
|
|
e7709798c5 | ||
|
|
37c5e0dc40 | ||
|
|
55c034ec66 | ||
|
|
df054073ef | ||
|
|
ace39cbd03 | ||
|
|
e9b2e108f7 | ||
|
|
f66c87cc62 | ||
|
|
36e0d9c58a | ||
|
|
5db1916332 | ||
|
|
8911503a87 | ||
|
|
55792acd8d | ||
|
|
b8330e46d8 | ||
|
|
65553b90ef | ||
|
|
2fb7d02091 | ||
|
|
4c7eb01b93 | ||
|
|
0fd1dd9077 | ||
|
|
64c2d04b56 | ||
|
|
e283f413ba | ||
|
|
4ce4b11094 | ||
|
|
84c16fb927 | ||
|
|
65bf9273ad | ||
|
|
36a39d99de | ||
|
|
be761f3aab | ||
|
|
c3b062c00b | ||
|
|
149b1a6f1a | ||
|
|
9fd7a1135b | ||
|
|
92a7cceae2 | ||
|
|
1ef83d72e1 | ||
|
|
9be0b3ec10 | ||
|
|
276fb6ae88 | ||
|
|
288c56a3d2 | ||
|
|
082eb760eb | ||
|
|
d5cc2bfe77 | ||
|
|
1e453b05e9 | ||
|
|
ee8d3b0678 | ||
|
|
2f69d2740d | ||
|
|
4a55503707 | ||
|
|
48f69cb11f | ||
|
|
0a39c664e2 | ||
|
|
fecb6c49af | ||
|
|
b017982c19 | ||
|
|
f6016239df | ||
|
|
b5349bf6db | ||
|
|
3b1ecb2e01 | ||
|
|
beed642144 | ||
|
|
a3c32980e7 | ||
|
|
e6ce36e2bd | ||
|
|
d865b01135 | ||
|
|
1e7bb5fc6e | ||
|
|
8ffb732330 |
@@ -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,
|
Licensed under the terms of the GNU General Public License version 3 or later,
|
||||||
amended with the bundling clause to clarify ambiguous interpretation.
|
amended with the bundling clause to clarify ambiguous interpretation.
|
||||||
@@ -17,6 +17,8 @@ See LICENSE.PuTTY for PuTTY's copyright notice, contributors, and license.
|
|||||||
The sources of PuTTY 0.60 can be downloaded from
|
The sources of PuTTY 0.60 can be downloaded from
|
||||||
ftp://ftp.chiark.greenend.org.uk/users/sgtatham/putty-0.60.
|
ftp://ftp.chiark.greenend.org.uk/users/sgtatham/putty-0.60.
|
||||||
|
|
||||||
|
The minibidi algorithm is under MIT license as quoted in the source file.
|
||||||
|
|
||||||
Sixel code (sixel.c) is relicensed under GPL like mintty with the
|
Sixel code (sixel.c) is relicensed under GPL like mintty with the
|
||||||
permission of its author (kmiya@culti); Sixel colour conversion code
|
permission of its author (kmiya@culti); Sixel colour conversion code
|
||||||
(sixel_hls.c) is licensed by its author Ross Combs under the license
|
(sixel_hls.c) is licensed by its author Ross Combs under the license
|
||||||
@@ -26,3 +28,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.
|
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
|
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.
|
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.
|
||||||
|
|
||||||
|
|||||||
@@ -1,6 +1,7 @@
|
|||||||
The MIT License (MIT)
|
The MIT License (MIT)
|
||||||
|
|
||||||
Copyright (c) 2016 Ryan Prichard
|
Copyright (c) 2016 Ryan Prichard
|
||||||
|
Copyright (c) 2017-2018 Google LLC
|
||||||
|
|
||||||
Permission is hereby granted, free of charge, to any person obtaining a copy
|
Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||||
of this software and associated documentation files (the "Software"), to
|
of this software and associated documentation files (the "Software"), to
|
||||||
|
|||||||
191
README.md
191
README.md
@@ -1,80 +1,183 @@
|
|||||||
Mintty as a terminal for Bash on Ubuntu on Windows / WSL.
|
Mintty as a terminal for WSL (Windows Subsystem for Linux).
|
||||||
|
|
||||||
|
<img align=right src=wsltty.png>
|
||||||
|
|
||||||
### Overview ###
|
### Overview ###
|
||||||
|
|
||||||
Run the [installer](https://github.com/mintty/wsltty/releases) to install
|
WSLtty components
|
||||||
* wsltty package components (see below) in the user’s application folder (where WSL is also installed)
|
* wsltty package components (see below) in the user’s local application folder
|
||||||
* an empty wsltty “home directory” to enable storage of a mintty config file
|
`%LOCALAPPDATA%`
|
||||||
* Start Menu and Desktop shortcuts to start a WSL bash (with some variations, see below)
|
* a wsltty configuration directory in the user’s application folder `%APPDATA%`
|
||||||
* optional context menu entries for Windows Explorer to start a WSL bash in the respective folder
|
(“home”-located configuration files from a previously installed version
|
||||||
* install/uninstall context menu items from Start Menu subfolder
|
will be migrated to the new default location)
|
||||||
* `wsl*.bat` scripts to invoke wsltty manually (with some variations and invocation options, see below)
|
* Start Menu shortcuts to start WSL terminals
|
||||||
* an uninstall script that can be invoked manually to remove shortcuts and context menu entries
|
* `*.bat` scripts to invoke WSL terminals from the command line
|
||||||
|
* optional context menu entries for Windows Explorer to start WSL terminals in the respective folder
|
||||||
|
* install/uninstall context menu items from Start Menu subfolder `WSLtty`
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
### Installation from this repository ###
|
||||||
|
|
||||||
|
#### 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.
|
||||||
If Windows complains with a “Windows protected your PC” popup,
|
If Windows complains with a “Windows protected your PC” popup,
|
||||||
you may need to click “Run anyway” to proceed with the installation.
|
you may need to click “Run anyway” to proceed with the installation.
|
||||||
You may need to open the Properties of the installer first, tab “General”
|
You may need to open the Properties of the installer first, tab “General”
|
||||||
section “Security” (if available) and select “Unblock”,
|
section “Security” (if available) and select “Unblock”,
|
||||||
to enable the “Run anyway” button.
|
to enable the “Run anyway” button.
|
||||||
|
|
||||||
|
#### Installation from source repository ####
|
||||||
|
|
||||||
|
Download or checkout the wsltty repository.
|
||||||
|
Invoke `make`, then `make install`.
|
||||||
|
Note this has to be done within a Cygwin environment.
|
||||||
|
|
||||||
|
#### Installation to non-default locations ####
|
||||||
|
|
||||||
|
(For experts)
|
||||||
|
Within the installation process, provide parameters to the script `install.bat`.
|
||||||
|
The optional first parameter designates the installation target,
|
||||||
|
the optional second parameter designates the configuration directory.
|
||||||
|
|
||||||
|
### Installation with other package management environments ###
|
||||||
|
|
||||||
|
#### Chocolatey ####
|
||||||
|
|
||||||
|
If you use the [Chocolatey package manager](https://chocolatey.org/),
|
||||||
|
invoke one of
|
||||||
|
<img height=222 align=right src=https://github.com/mintty/wsltty.appx/raw/master/wsltty.appx.png>
|
||||||
|
* `choco install wsltty`
|
||||||
|
* `choco upgrade wsltty`
|
||||||
|
|
||||||
|
#### Scoop ####
|
||||||
|
|
||||||
|
If you use the [Scoop package manager](https://scoop.sh/),
|
||||||
|
* `scoop bucket add extras`
|
||||||
|
|
||||||
|
then, invoke one of
|
||||||
|
* `scoop install wsltty`
|
||||||
|
* `scoop update wsltty`
|
||||||
|
|
||||||
|
#### Windows Appx package ####
|
||||||
|
|
||||||
|
A Windows Appx package and certificate is available in the [wsltty.appx](https://github.com/mintty/wsltty.appx/) repository.
|
||||||
|
|
||||||
|
<br clear=all>
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
### Invocation ###
|
||||||
|
|
||||||
|
WSLtty can be invoked with
|
||||||
|
* installed Start Menu shortcuts (or Desktop shortcuts if copied there)
|
||||||
|
* *.bat scripts (optionally with WSL command as parameters)
|
||||||
|
* Explorer context menu (if installed from the Start Menu `WSLtty` subfolder)
|
||||||
|
|
||||||
|
Starting the mintty terminal directly from the WSLtty installation location
|
||||||
|
is discouraged because that would bypass essential options.
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
### Configuration ###
|
### Configuration ###
|
||||||
|
|
||||||
#### Command line scripts `wsl*.bat` ####
|
|
||||||
|
|
||||||
WSLtty installs the following scripts in its application folder `%LOCALAPPDATA%\wsltty`:
|
|
||||||
* `wsl.bat` to start a WSL bash in the current folder/directory
|
|
||||||
* `wsl~.bat` to start a WSL bash in the WSL user home
|
|
||||||
* `wsl-l.bat` to start a WSL login bash
|
|
||||||
|
|
||||||
To enable invocation of these scripts from WIN+R or from cmd.exe,
|
|
||||||
copy them from `%LOCALAPPDATA%\wsltty` into `%SYSTEMROOT%\System32`,
|
|
||||||
renaming them as desired.
|
|
||||||
(The package does not do this to avoid trouble with missing admin privileges.)
|
|
||||||
|
|
||||||
#### Start Menu and Desktop shortcuts ####
|
#### Start Menu and Desktop shortcuts ####
|
||||||
|
|
||||||
The Start Menu subfolder WSLtty offers three shortcuts:
|
In the Start Menu, the following shortcuts are installed:
|
||||||
* `WSL Bash % in Mintty` to start a WSL bash in the Windows %USERPROFILE% home
|
* For each installed WSL distribution D, D` Terminal` to start in the WSL user home
|
||||||
* `WSL Bash ~ in Mintty` to start a WSL bash in the WSL user home
|
* `WSL Terminal` to start the default WSL distribution (as configured with the Windows tool `wslconfig`)
|
||||||
* `WSL Bash -l in Mintty` to start a WSL login bash
|
|
||||||
|
|
||||||
To ensure a login bash to start in your Linux home directory,
|
In the Start Menu subfolder WSLtty, the following shortcuts are installed:
|
||||||
add a `cd` command to your `$HOME/.profile` on Linux side.
|
* For each installed WSL distribution D, D` Terminal %` to start in the Windows %USERPROFILE% home
|
||||||
|
* `WSL Terminal %` to start the default WSL distribution in the Windows %USERPROFILE% home
|
||||||
|
|
||||||
|
One Desktop shortcut is installed:
|
||||||
|
* `WSL Terminal` to start the default WSL distribution (as configured with the Windows tool `wslconfig`)
|
||||||
|
|
||||||
|
Other, distribution-specific shortcuts can be copied to the desktop
|
||||||
|
from the Start Menu if desired.
|
||||||
|
|
||||||
|
#### Command line scripts `wsl*.bat` ####
|
||||||
|
|
||||||
|
WSLtty installs the following scripts into `%LOCALAPPDATA%\Microsoft\WindowsApps`
|
||||||
|
(and a copy in its application folder `%LOCALAPPDATA%\wsltty`):
|
||||||
|
|
||||||
|
* 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
|
||||||
|
|
||||||
|
Given that `%LOCALAPPDATA%\Microsoft\WindowsApps` is in your PATH,
|
||||||
|
the scripts can be invoked from cmd.exe, PowerShell, or via WIN+R.
|
||||||
|
|
||||||
|
#### Context menu entries ####
|
||||||
|
|
||||||
|
WSLtty provides context menu entries for all installed WSL distributions
|
||||||
|
and one for the configured default distribution,
|
||||||
|
to start a respective WSL terminal in a specific folder from an Explorer window.
|
||||||
|
They are not installed by default.
|
||||||
|
To add launch entries for the default or all WSL distributions to the
|
||||||
|
Explorer context menu, or remove them, run the respective script from the
|
||||||
|
Start Menu subfolder `WSLtty`.
|
||||||
|
|
||||||
|
#### Icon ####
|
||||||
|
|
||||||
|
Wsltty installation and the mintty terminal try to use the icon of the
|
||||||
|
respective WSL distribution. If it cannot be determined, a penguin icon
|
||||||
|
is used as a default. You can replace it with your preferred fallback icon
|
||||||
|
by replacing the icon file `%LOCALAPPDATA%\wsltty\wsl.ico`.
|
||||||
|
|
||||||
#### Mintty settings ####
|
#### Mintty settings ####
|
||||||
|
|
||||||
Mintty can maintain its configuration file in various locations,
|
Mintty can maintain its configuration file in various locations,
|
||||||
with the following precedence:
|
with the following precedence:
|
||||||
* file given with mintty option `-c`
|
* file given with mintty option `-c` (not used by wsltty default installation)
|
||||||
* `%HOME%\.minttyrc`
|
* file `config` in directory given with mintty option `--configdir`
|
||||||
* `%HOME%\.config\mintty\config`
|
* This is `%APPDATA%\wsltty\config` in the default wsltty installation.
|
||||||
|
* `%HOME%\.minttyrc` (usage deprecated with wsltty)
|
||||||
|
* `%HOME%\.config\mintty\config` (usage deprecated with wsltty)
|
||||||
* `%APPDATA%\mintty\config`
|
* `%APPDATA%\mintty\config`
|
||||||
* `%LOCALAPPDATA%\wsltty\etc\minttyrc`
|
* `%LOCALAPPDATA%\wsltty\etc\minttyrc` (usage deprecated with wsltty)
|
||||||
|
|
||||||
Note:
|
Note:
|
||||||
* By default, `%HOME%` would refer to the root directory of the cygwin standalone
|
* `%APPDATA%\wsltty\config` is the new user configuration file location.
|
||||||
installation hosting wsltty. So `%HOME%` would mean `%LOCALAPPDATA%\wsltty\home\%USERNAME%`.
|
Further subdirectories of `%APPDATA%\wsltty` are used for language,
|
||||||
If you define `HOME` at Windows level, this changes accordingly.
|
themes, and sounds resource configuration.
|
||||||
Note, however, that the WSL `HOME` is a completely different setting.
|
Note the distinction from `%LOCALAPPDATA%\wsltty` which is the default
|
||||||
|
wsltty software installation location.
|
||||||
* The `%APPDATA%\mintty\config` option provides the possibility to
|
* The `%APPDATA%\mintty\config` option provides the possibility to
|
||||||
maintain common mintty settings for various installations (like
|
maintain common mintty settings for various installations (like
|
||||||
wsltty, Cygwin, MinGW/msys, Git for Windows, MinEd for Windows).
|
wsltty, Cygwin, MinGW/msys, Git for Windows, MinEd for Windows).
|
||||||
|
* (About deprecated options) By default, `%HOME%` would refer to the
|
||||||
|
root directory of the cygwin standalone installation hosting wsltty.
|
||||||
|
So `%HOME%` would mean `%LOCALAPPDATA%\wsltty\home\%USERNAME%`.
|
||||||
|
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 ####
|
||||||
|
|
||||||
To invoke your favourite shell, simply replace `/bin/bash` with its pathname
|
The WSLtty deployment does not impose a shell preference anymore.
|
||||||
in the Desktop shortcuts, `wsl*.bat` invocation scripts,
|
However, the intermediate gateways (`wslbridge` and its backend and the `bash.exe` Windows launcher)
|
||||||
or Explorer context menu commands (configured in `config-context-menu.bat`).
|
are also involved.
|
||||||
|
|
||||||
### Components ###
|
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`
|
||||||
|
|
||||||
For mintty, see the [Mintty homepage](http://mintty.github.io/),
|
---
|
||||||
then [Mintty manual page](http://mintty.github.io/mintty.1.html),
|
|
||||||
and the [Mintty Wiki](https://github.com/mintty/mintty/wiki),
|
### Components and Credits ###
|
||||||
|
|
||||||
|
For mintty, see the [Mintty homepage](http://mintty.github.io/)
|
||||||
|
(with further screenshots),
|
||||||
|
the [Mintty manual page](http://mintty.github.io/mintty.1.html),
|
||||||
|
<br>and the [Mintty Wiki](https://github.com/mintty/mintty/wiki),
|
||||||
including a [Hints and Tips page](https://github.com/mintty/mintty/wiki/Tips).
|
including a [Hints and Tips page](https://github.com/mintty/mintty/wiki/Tips).
|
||||||
|
|
||||||
It is based on [Cygwin](http://cygwin.com)
|
It is based on [Cygwin](http://cygwin.com)
|
||||||
and includes its runtime library ([sources](http://mirrors.dotsrc.org/cygwin/x86/release/cygwin)).
|
and includes its runtime library ([sources](http://mirrors.dotsrc.org/cygwin/x86/release/cygwin)).
|
||||||
|
|
||||||
For interacting with WSL, it uses [wslbridge](https://github.com/rprichard/wslbridge).
|
For interacting with WSL, it uses [wslbridge](https://github.com/rprichard/wslbridge).
|
||||||
|
Many thanks for this enabling gateway go especially to Ryan Prichard.
|
||||||
|
|||||||
Binary file not shown.
Binary file not shown.
Binary file not shown.
BIN
add default to context menu.lnk
Executable file
BIN
add default to context menu.lnk
Executable file
Binary file not shown.
Binary file not shown.
@@ -1,59 +0,0 @@
|
|||||||
@echo off
|
|
||||||
|
|
||||||
if "%installdir%" == "" set installdir=%LOCALAPPDATA%\wsltty
|
|
||||||
if "%configdir%" == "" set configdir=%APPDATA%\wsltty
|
|
||||||
|
|
||||||
|
|
||||||
if "%1"=="/U" goto remove
|
|
||||||
if "%1"=="/u" goto remove
|
|
||||||
|
|
||||||
|
|
||||||
:add
|
|
||||||
rem add to Explorer context menu
|
|
||||||
|
|
||||||
set userdirname=HKEY_CURRENT_USER\Software\Classes\Directory\shell
|
|
||||||
set userdirpane=HKEY_CURRENT_USER\Software\Classes\Directory\Background\shell
|
|
||||||
|
|
||||||
rem WSL in Mintty
|
|
||||||
set label=WSL in Mintty
|
|
||||||
rem set here=in this directory
|
|
||||||
set here=Here
|
|
||||||
|
|
||||||
rem WSL icon
|
|
||||||
set icon=%LOCALAPPDATA%\lxss\bash.ico
|
|
||||||
|
|
||||||
rem WSL target shell
|
|
||||||
set shell=/bin/bash
|
|
||||||
|
|
||||||
rem Mintty invocation
|
|
||||||
set cmd=%installdir%\bin\mintty.exe
|
|
||||||
set cset=-o Locale=C -o Charset=UTF-8
|
|
||||||
set opts=--wsl
|
|
||||||
set arg=/bin/wslbridge -t %shell%
|
|
||||||
set target0=\"%cmd%\" %opts% %cset% -i \"%icon%\" %arg%
|
|
||||||
rem set target1=\"%cmd%\" %opts% %cset% -i \"%icon%\" /bin/dash -c \"cd '%%1'; exec %arg%\"
|
|
||||||
set target1=\"%cmd%\" %opts% %cset% -i \"%icon%\" --dir \"%%1\" %arg%
|
|
||||||
|
|
||||||
rem Registry entries
|
|
||||||
reg add "%userdirname%\wsltty" /d "%label% %here%" /f
|
|
||||||
reg add "%userdirname%\wsltty" /v Icon /d "%icon%" /f
|
|
||||||
reg add "%userdirname%\wsltty\command" /d "%target1%" /f
|
|
||||||
reg add "%userdirpane%\wsltty" /d "%label% %here%" /f
|
|
||||||
reg add "%userdirpane%\wsltty" /v Icon /d "%icon%" /f
|
|
||||||
reg add "%userdirpane%\wsltty\command" /d "%target0%" /f
|
|
||||||
|
|
||||||
goto end
|
|
||||||
|
|
||||||
|
|
||||||
:remove
|
|
||||||
rem remove from Explorer context menu
|
|
||||||
|
|
||||||
rem delete Explorer context menu
|
|
||||||
set userdirname=HKEY_CURRENT_USER\Software\Classes\Directory\shell
|
|
||||||
set userdirpane=HKEY_CURRENT_USER\Software\Classes\Directory\Background\shell
|
|
||||||
|
|
||||||
reg delete "%userdirname%\wsltty" /f
|
|
||||||
reg delete "%userdirpane%\wsltty" /f
|
|
||||||
|
|
||||||
|
|
||||||
:end
|
|
||||||
232
config-distros.sh
Executable file
232
config-distros.sh
Executable file
@@ -0,0 +1,232 @@
|
|||||||
|
#! /bin/sh
|
||||||
|
|
||||||
|
installdir=${installdir:-'%LOCALAPPDATA%\wsltty'}
|
||||||
|
configdir=${configdir:-'%APPDATA%\wsltty'}
|
||||||
|
|
||||||
|
PATH=/bin:"$PATH"
|
||||||
|
|
||||||
|
contextmenu=false
|
||||||
|
remove=false
|
||||||
|
alldistros=true
|
||||||
|
config=true
|
||||||
|
|
||||||
|
case "/$0" in
|
||||||
|
*/wsl*)
|
||||||
|
config=false;;
|
||||||
|
esac
|
||||||
|
|
||||||
|
case "$1" in
|
||||||
|
-info)
|
||||||
|
config=false
|
||||||
|
shift;;
|
||||||
|
-shortcuts-remove)
|
||||||
|
remove=true
|
||||||
|
shift;;
|
||||||
|
-contextmenu)
|
||||||
|
contextmenu=true
|
||||||
|
shift;;
|
||||||
|
-contextmenu-default)
|
||||||
|
contextmenu=true
|
||||||
|
alldistros=false
|
||||||
|
shift;;
|
||||||
|
-contextmenu-remove)
|
||||||
|
contextmenu=true
|
||||||
|
remove=true
|
||||||
|
direckey='/HKEY_CURRENT_USER/Software/Classes/Directory'
|
||||||
|
|
||||||
|
regtool list "$direckey/shell" 2>/dev/null |
|
||||||
|
while read name
|
||||||
|
do
|
||||||
|
case `regtool get "$direckey/shell/$name/command/"` in
|
||||||
|
*bin\\mintty.exe*/bin/wslbridge*|*bin\\mintty.exe*--WSL*)
|
||||||
|
regtool remove "$direckey/shell/$name/command"
|
||||||
|
regtool remove "$direckey/shell/$name"
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
done
|
||||||
|
|
||||||
|
regtool list "$direckey/Background/shell" 2>/dev/null |
|
||||||
|
while read name
|
||||||
|
do
|
||||||
|
case `regtool get "$direckey/Background/shell/$name/command/"` in
|
||||||
|
*bin\\mintty.exe*/bin/wslbridge*|*bin\\mintty.exe*--WSL*)
|
||||||
|
regtool remove "$direckey/Background/shell/$name/command"
|
||||||
|
regtool remove "$direckey/Background/shell/$name"
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
done
|
||||||
|
exit
|
||||||
|
shift;;
|
||||||
|
esac
|
||||||
|
|
||||||
|
# test w/o WSL: call this script with REGTOOLFAKE=true dash config-distros.sh
|
||||||
|
if ${REGTOOLFAKE:-false}
|
||||||
|
then
|
||||||
|
regtool () {
|
||||||
|
case "$1" in
|
||||||
|
-*) shift;;
|
||||||
|
esac
|
||||||
|
key=`echo $2 | sed -e 's,.*{\(.*\)}.*,\1,' -e t -e d`
|
||||||
|
case "$1.$2" in
|
||||||
|
list.*)
|
||||||
|
if $contextmenu
|
||||||
|
then echo "{0}"
|
||||||
|
else echo "{1}"; echo "{2}"
|
||||||
|
fi;;
|
||||||
|
get.*/DistributionName)
|
||||||
|
echo "distro$key";;
|
||||||
|
get.*/BasePath)
|
||||||
|
echo "C:\\Program\\{$key}\\State";;
|
||||||
|
get.*/PackageFamilyName)
|
||||||
|
echo "distro{$key}";;
|
||||||
|
get.*/PackageFullName)
|
||||||
|
echo "C:\\Program\\{$key}";;
|
||||||
|
esac
|
||||||
|
}
|
||||||
|
fi
|
||||||
|
|
||||||
|
# dash built-in echo enforces interpretation of \t etc
|
||||||
|
echoc () {
|
||||||
|
cmd /c echo $*
|
||||||
|
}
|
||||||
|
|
||||||
|
if $config
|
||||||
|
then while read line; do echo "$line"; done <</EOB > mkbat.bat
|
||||||
|
@echo off
|
||||||
|
echo Creating %1.bat
|
||||||
|
|
||||||
|
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
|
||||||
|
|
||||||
|
lxss="/HKEY_CURRENT_USER/Software/Microsoft/Windows/CurrentVersion/Lxss"
|
||||||
|
schema="/HKEY_CURRENT_USER/Software/Classes/Local Settings/Software/Microsoft/Windows/CurrentVersion/AppModel/SystemAppData"
|
||||||
|
|
||||||
|
#(regtool list "$lxss" 2>/dev/null && echo || echo "No WSL packages registered" >&2) |
|
||||||
|
(
|
||||||
|
if $alldistros
|
||||||
|
then regtool list "$lxss" 2>/dev/null
|
||||||
|
else true
|
||||||
|
fi && echo || echo "No WSL packages registered" >&2) |
|
||||||
|
while read guid
|
||||||
|
do
|
||||||
|
ok=false
|
||||||
|
case $guid in
|
||||||
|
{*)
|
||||||
|
distro=`regtool get "$lxss/$guid/DistributionName"`
|
||||||
|
case "$distro" in
|
||||||
|
Legacy)
|
||||||
|
name="Bash on Windows"
|
||||||
|
launch=
|
||||||
|
launcher="$SYSTEMROOT/System32/bash.exe"
|
||||||
|
;;
|
||||||
|
*) name="$distro"
|
||||||
|
launch="$distro"
|
||||||
|
launcher="$LOCALAPPDATA/Microsoft/WindowsApps/$distro.exe"
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
basepath=`regtool get "$lxss/$guid/BasePath"`
|
||||||
|
if package=`regtool -q get "$lxss/$guid/PackageFamilyName"`
|
||||||
|
then
|
||||||
|
instdir=`regtool get "$schema/$package/Schemas/PackageFullName"`
|
||||||
|
if [ -r "$ProgramW6432/WindowsApps/$instdir/images/icon.ico" ]
|
||||||
|
then icon="%PROGRAMFILES%/WindowsApps/$instdir/images/icon.ico"
|
||||||
|
else icon="$installdir"'\wsl.ico'
|
||||||
|
fi
|
||||||
|
root="$basepath/rootfs"
|
||||||
|
else
|
||||||
|
icon="%LOCALAPPDATA%/lxss/bash.ico"
|
||||||
|
root="$basepath"
|
||||||
|
fi
|
||||||
|
|
||||||
|
minttyargs='--wsl --rootfs="'"$root"'" --configdir="'"$configdir"'" -o Locale=C -o Charset=UTF-8 /bin/wslbridge '
|
||||||
|
minttyargs='--WSL="'"$distro"'" --configdir="'"$configdir"'"'
|
||||||
|
#if [ -z "$launch" ]
|
||||||
|
#then bridgeargs='-t /bin/bash'
|
||||||
|
#else bridgeargs='-l "'"$launch"'" -t /bin/bash'
|
||||||
|
#fi
|
||||||
|
bridgeargs='--distro-guid "'"$guid"'" -t /bin/bash'
|
||||||
|
bridgeargs='--distro-guid "'"$guid"'" -t'
|
||||||
|
|
||||||
|
ok=true;;
|
||||||
|
"") # WSL default installation
|
||||||
|
distro=
|
||||||
|
name=WSL
|
||||||
|
icon="$installdir"'\wsl.ico'
|
||||||
|
minttyargs='--WSL= --configdir="'"$configdir"'"'
|
||||||
|
bridgeargs='-t'
|
||||||
|
|
||||||
|
ok=true;;
|
||||||
|
esac
|
||||||
|
echoc "distro '$distro'"
|
||||||
|
echoc "- name '$name'"
|
||||||
|
echoc "- guid $guid"
|
||||||
|
echoc "- (launcher $launcher)"
|
||||||
|
echoc "- icon $icon"
|
||||||
|
echoc "- root $root"
|
||||||
|
target="$installdir"'\bin\mintty.exe'
|
||||||
|
bridgeargs=" " # deprecated
|
||||||
|
|
||||||
|
if $ok && $config
|
||||||
|
then
|
||||||
|
export name target minttyargs bridgeargs icon
|
||||||
|
|
||||||
|
if $contextmenu
|
||||||
|
then
|
||||||
|
# context menu entries
|
||||||
|
#cmd /C mkcontext "$name"
|
||||||
|
direckey='HKEY_CURRENT_USER\Software\Classes\Directory'
|
||||||
|
keyname="${name}_Terminal"
|
||||||
|
if $remove
|
||||||
|
then
|
||||||
|
reg delete "$direckey\\shell\\$keyname" /f
|
||||||
|
reg delete "$direckey\\Background\\shell\\$keyname" /f
|
||||||
|
else
|
||||||
|
reg add "$direckey\\shell\\$keyname" /d "$name Terminal" /f
|
||||||
|
reg add "$direckey\\shell\\$keyname" /v Icon /d "$icon" /f
|
||||||
|
cmd /C reg add "$direckey\\shell\\$keyname\\command" /d "\"$target\" -i \"$icon\" --dir \"%1\" $minttyargs $bridgeargs" /f
|
||||||
|
reg add "$direckey\\Background\\shell\\$keyname" /d "$name Terminal" /f
|
||||||
|
reg add "$direckey\\Background\\shell\\$keyname" /v Icon /d "$icon" /f
|
||||||
|
cmd /C reg add "$direckey\\Background\\shell\\$keyname\\command" /d "\"$target\" -i \"$icon\" $minttyargs $bridgeargs" /f
|
||||||
|
fi
|
||||||
|
else
|
||||||
|
# invocation shortcuts and scripts
|
||||||
|
if $remove
|
||||||
|
then
|
||||||
|
cmd /C del "%APPDATA%\\Microsoft\\Windows\\Start Menu\\Programs\\$name Terminal.lnk"
|
||||||
|
cmd /C del "%LOCALAPPDATA%\\Microsoft\\WindowsApps\\$name.bat"
|
||||||
|
cmd /C del "%LOCALAPPDATA%\\Microsoft\\WindowsApps\\$name~.bat"
|
||||||
|
else
|
||||||
|
# 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"
|
||||||
|
|
||||||
|
# launch script in . -> WSLtty home, WindowsApps launch folder
|
||||||
|
cmd /C mkbat.bat "$name"
|
||||||
|
cmd /C copy "$name.bat" "$installdir"
|
||||||
|
cmd /C copy "$name.bat" "%LOCALAPPDATA%\\Microsoft\\WindowsApps"
|
||||||
|
|
||||||
|
# prepare versions to target WSL home directory
|
||||||
|
#bridgeargs="-C~ $bridgeargs"
|
||||||
|
minttyargs="$minttyargs -~"
|
||||||
|
|
||||||
|
# desktop shortcut in ~ -> Start Menu
|
||||||
|
cscript /nologo mkshortcut.vbs "/name:$name Terminal"
|
||||||
|
cmd /C copy "$name Terminal.lnk" "%APPDATA%\\Microsoft\\Windows\\Start Menu\\Programs"
|
||||||
|
|
||||||
|
# default desktop shortcut in ~ -> Desktop
|
||||||
|
if [ "$name" = "WSL" ]
|
||||||
|
then cmd /C copy "$name Terminal.lnk" "%USERPROFILE%\\Desktop"
|
||||||
|
fi
|
||||||
|
|
||||||
|
# launch script in ~ -> WSLtty home, WindowsApps launch folder
|
||||||
|
cmd /C mkbat.bat "$name~"
|
||||||
|
cmd /C copy "$name~.bat" "$installdir"
|
||||||
|
cmd /C copy "$name~.bat" "%LOCALAPPDATA%\\Microsoft\\WindowsApps"
|
||||||
|
fi
|
||||||
|
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
done
|
||||||
BIN
configure WSL shortcuts.lnk
Executable file
BIN
configure WSL shortcuts.lnk
Executable file
Binary file not shown.
101
install.bat
101
install.bat
@@ -14,72 +14,81 @@ if not "%2" == "" set refconfigdir=%2 && set configdir=%2
|
|||||||
:deploy
|
:deploy
|
||||||
|
|
||||||
mkdir "%installdir%"
|
mkdir "%installdir%"
|
||||||
|
|
||||||
|
rem clean up previous installation artefacts
|
||||||
|
del /Q "%installdir%\*.bat"
|
||||||
|
del /Q "%installdir%\*.lnk"
|
||||||
|
|
||||||
copy LICENSE.mintty "%installdir%"
|
copy LICENSE.mintty "%installdir%"
|
||||||
copy LICENSE.wslbridge "%installdir%"
|
copy LICENSE.wslbridge "%installdir%"
|
||||||
|
|
||||||
echo @echo off> setdirs.bat
|
|
||||||
echo set refinstalldir=%refinstalldir%>> setdirs.bat
|
|
||||||
echo set installdir=%installdir%>> setdirs.bat
|
|
||||||
echo set refconfigdir=%refconfigdir%>> setdirs.bat
|
|
||||||
echo set configdir=%configdir%>> setdirs.bat
|
|
||||||
copy setdirs.bat + wsl.bat "%installdir%\wsl.bat"
|
|
||||||
copy setdirs.bat + wsl~.bat "%installdir%\wsl~.bat"
|
|
||||||
copy setdirs.bat + wsl-l.bat "%installdir%\wsl-l.bat"
|
|
||||||
copy setdirs.bat + uninstall.bat "%installdir%\uninstall.bat"
|
|
||||||
copy setdirs.bat + config-context-menu.bat "%installdir%\config-context-menu.bat"
|
|
||||||
|
|
||||||
copy "add to context menu.lnk" "%installdir%"
|
copy "add to context menu.lnk" "%installdir%"
|
||||||
|
copy "add default to context menu.lnk" "%installdir%"
|
||||||
copy "remove from context menu.lnk" "%installdir%"
|
copy "remove from context menu.lnk" "%installdir%"
|
||||||
|
copy "configure WSL shortcuts.lnk" "%installdir%"
|
||||||
|
rem copy "WSL Terminal.lnk" "%installdir%"
|
||||||
|
rem copy "WSL Terminal %%.lnk" "%installdir%"
|
||||||
|
copy config-distros.sh "%installdir%"
|
||||||
|
copy mkshortcut.vbs "%installdir%"
|
||||||
|
rem allow persistent customization of default icon:
|
||||||
|
if not exist "%installdir%\wsl.ico" copy tux.ico "%installdir%\wsl.ico"
|
||||||
|
|
||||||
|
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"
|
mkdir "%installdir%\bin"
|
||||||
copy cygwin1.dll "%installdir%\bin"
|
copy cygwin1.dll "%installdir%\bin"
|
||||||
copy cygwin-console-helper.exe "%installdir%\bin"
|
copy cygwin-console-helper.exe "%installdir%\bin"
|
||||||
rem copy dash.exe "%installdir%\bin"
|
|
||||||
copy mintty.exe "%installdir%\bin"
|
copy mintty.exe "%installdir%\bin"
|
||||||
copy zoo.exe "%installdir%\bin"
|
|
||||||
copy wslbridge.exe "%installdir%\bin"
|
copy wslbridge.exe "%installdir%\bin"
|
||||||
copy wslbridge-backend "%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
|
rem create system config directory and copy config archive
|
||||||
mkdir "%installdir%\usr\share\mintty\lang"
|
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 tux.ico "%installdir%\usr\share\mintty\icon"
|
||||||
|
copy mintty.ico "%installdir%\usr\share\mintty\icon"
|
||||||
|
|
||||||
|
|
||||||
:shortcuts
|
|
||||||
|
|
||||||
rem generate shortcuts
|
|
||||||
|
|
||||||
set icon=%%LOCALAPPDATA%%\lxss\bash.ico
|
|
||||||
set target=%refinstalldir%\bin\mintty.exe
|
|
||||||
set minttyargs=--wsl --configdir="%refconfigdir%" -o Locale=C -o Charset=UTF-8 /bin/wslbridge
|
|
||||||
set bridgeargs=-t /bin/bash
|
|
||||||
cscript mkshortcut.vbs "/name:WSL Bash %% in Mintty"
|
|
||||||
set bridgeargs=-C~ -t /bin/bash
|
|
||||||
cscript mkshortcut.vbs "/name:WSL Bash ~ in Mintty"
|
|
||||||
set bridgeargs=-t /bin/bash -l
|
|
||||||
cscript mkshortcut.vbs "/name:WSL Bash -l in Mintty"
|
|
||||||
|
|
||||||
rem create Start Menu Folder
|
rem create Start Menu Folder
|
||||||
set smf=%APPDATA%\Microsoft\Windows\Start Menu\Programs\WSLtty
|
set smf=%APPDATA%\Microsoft\Windows\Start Menu\Programs\WSLtty
|
||||||
mkdir "%smf%"
|
mkdir "%smf%"
|
||||||
|
|
||||||
|
rem clean up previous installation
|
||||||
|
del /Q "%smf%\*.lnk"
|
||||||
|
|
||||||
copy "wsltty home & help.url" "%smf%"
|
copy "wsltty home & help.url" "%smf%"
|
||||||
copy "WSL Bash %% in Mintty.lnk" "%smf%"
|
copy "add to context menu.lnk" "%smf%"
|
||||||
copy "WSL Bash ~ in Mintty.lnk" "%smf%"
|
copy "add default to context menu.lnk" "%smf%"
|
||||||
copy "WSL Bash -l in Mintty.lnk" "%smf%"
|
copy "remove from context menu.lnk" "%smf%"
|
||||||
mkdir "%smf%\context menu shortcuts"
|
copy "configure WSL shortcuts.lnk" "%smf%"
|
||||||
copy "add to context menu.lnk" "%smf%\context menu shortcuts"
|
rem copy "WSL Terminal.lnk" "%smf%"
|
||||||
copy "remove from context menu.lnk" "%smf%\context menu shortcuts"
|
rem copy "WSL Terminal %%.lnk" "%smf%"
|
||||||
|
rem clean up previous installation
|
||||||
rem create Desktop Shorcuts
|
rmdir /S /Q "%smf%\context menu shortcuts"
|
||||||
copy "WSL Bash %% in Mintty.lnk" "%USERPROFILE%\Desktop"
|
|
||||||
copy "WSL Bash ~ in Mintty.lnk" "%USERPROFILE%\Desktop"
|
|
||||||
|
|
||||||
|
|
||||||
:sysconfig
|
|
||||||
|
|
||||||
rem unpack config files in system config directory
|
rem unpack config files in system config directory
|
||||||
cd /D "%installdir%\usr\share\mintty\lang"
|
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
|
:migrate configuration
|
||||||
@@ -105,5 +114,13 @@ mkdir "%configdir%\lang"
|
|||||||
mkdir "%configdir%\sounds"
|
mkdir "%configdir%\sounds"
|
||||||
mkdir "%configdir%\themes"
|
mkdir "%configdir%\themes"
|
||||||
|
|
||||||
|
rem create config file if it does not yet exist
|
||||||
|
if not exist "%configdir%\config" echo # To use common configuration in %%APPDATA%%\mintty, simply remove this file>"%configdir%\config"
|
||||||
|
|
||||||
|
rem distro-specific stuff: shortcuts and launch scripts
|
||||||
|
cd "%installdir%"
|
||||||
|
bin\dash.exe "%installdir%\config-distros.sh"
|
||||||
|
rem bin\dash.exe "%installdir%\config-distros.sh" -contextmenu
|
||||||
|
|
||||||
|
|
||||||
:end
|
:end
|
||||||
|
|||||||
188
makefile
188
makefile
@@ -2,27 +2,63 @@
|
|||||||
# build a wsltty installer package:
|
# build a wsltty installer package:
|
||||||
# configure ver=... and minttyver= in this makefile
|
# configure ver=... and minttyver= in this makefile
|
||||||
# make targets:
|
# make targets:
|
||||||
# make [all] to build a distributable installer (default)
|
# make [all] build a distributable installer (default)
|
||||||
# make pkg to build an installer, bypassing the system checks
|
# make pkg build an installer, bypassing the system checks
|
||||||
# make wsltty to build an installer using the local copy of mintty
|
# make wsltty build the software, using the local copy of mintty
|
||||||
|
|
||||||
all: check pkg
|
|
||||||
|
|
||||||
# wsltty release
|
# wsltty release
|
||||||
ver=0.7.7
|
ver=1.9.7
|
||||||
|
|
||||||
|
# wsltty appx release - must have 4 parts!
|
||||||
|
verx=1.9.7.0
|
||||||
|
|
||||||
|
# Windows SDK version for appx
|
||||||
|
WINSDKKEY=/HKEY_LOCAL_MACHINE/SOFTWARE/WOW6432Node/Microsoft/.NET Framework Platform/Setup/Multi-Targeting Pack
|
||||||
|
WINSDKVER=`regtool list '$(WINSDKKEY)' | sed -e '$$ q' -e d`
|
||||||
|
|
||||||
|
##############################
|
||||||
# mintty release version
|
# mintty release version
|
||||||
minttyver=2.7.7
|
minttyver=2.9.7
|
||||||
|
|
||||||
|
# or mintty branch or commit version
|
||||||
#minttyver=master
|
#minttyver=master
|
||||||
|
|
||||||
# wslbridge backend version
|
##############################
|
||||||
wslbridgever=0.2.1
|
# wslbridge binary package; may be overridden below
|
||||||
# wslbridge frontend version
|
wslbridge=wslbridge-package
|
||||||
# release 0.2.0 does not have cygwin_internal(CW_SYNC_WINENV) yet;
|
wslbridgever=0.2.4
|
||||||
# therefore using "master" below
|
|
||||||
#wslbridge-frontend=wslbridge-frontend
|
# or wslbridge branch or commit to build from source;
|
||||||
# release 0.2.1 is updated and complete, no separate frontend build needed:
|
# also set wslbridge-commit
|
||||||
wslbridge-frontend=
|
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-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
|
||||||
|
|
||||||
|
# after 0.2.4, with --backend option:
|
||||||
|
wslbridge-commit=47b41bec6c32da58ab01de9345087b1a4fd836e3
|
||||||
|
|
||||||
|
#############################################################################
|
||||||
|
# default target
|
||||||
|
|
||||||
|
all: all-$(notdir $(CURDIR))
|
||||||
|
|
||||||
|
all-wsltty: check pkg
|
||||||
|
|
||||||
|
all-wsltty.appx: appx
|
||||||
|
|
||||||
#############################################################################
|
#############################################################################
|
||||||
# target checking and some defs
|
# target checking and some defs
|
||||||
@@ -45,77 +81,140 @@ wget=curl -R -L --connect-timeout 55 -O
|
|||||||
wgeto=curl -R -L --connect-timeout 55
|
wgeto=curl -R -L --connect-timeout 55
|
||||||
|
|
||||||
#############################################################################
|
#############################################################################
|
||||||
# system check;
|
# system check:
|
||||||
# for now, let's enforce Cygwin 32-Bit as the container for wsltty
|
# - ensure the path name drag-and-drop adaptation works (-> Cygwin, not MSYS)
|
||||||
# just in case there is a 32-Bit WSL released (-> 32 bit), and to ensure
|
# - 64 Bit (x86_64) for more stable invocation (avoid fork issues)
|
||||||
# the path name drag-and-drop adaptation works (-> cygwin, not msys)
|
|
||||||
|
|
||||||
check:
|
check:
|
||||||
# checking suitable host environment; run `make pkg` to bypass
|
# checking suitable host environment; run `make pkg` to bypass
|
||||||
# check cygwin (vs msys) for proper drag-and-drop paths:
|
# check cygwin (vs msys) for proper drag-and-drop paths:
|
||||||
uname | grep CYGWIN
|
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
|
#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
|
uname -m | grep x86_64
|
||||||
|
|
||||||
|
#############################################################################
|
||||||
|
# patch version information for appx package configuration
|
||||||
|
|
||||||
|
fix-verx:
|
||||||
|
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 patched AppxManifest.xml
|
||||||
|
|
||||||
#############################################################################
|
#############################################################################
|
||||||
# generation
|
# 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
|
$(wget) https://github.com/rprichard/wslbridge/releases/download/$(wslbridgever)/wslbridge-$(wslbridgever)-$(sys).tar.gz
|
||||||
tar xvzf wslbridge-$(wslbridgever)-$(sys).tar.gz
|
tar xvzf wslbridge-$(wslbridgever)-$(sys).tar.gz
|
||||||
mkdir -p bin
|
mkdir -p bin
|
||||||
cp wslbridge-$(wslbridgever)-$(sys)/wslbridge* bin/
|
cp wslbridge-$(wslbridgever)-$(sys)/wslbridge* bin/
|
||||||
cp wslbridge-$(wslbridgever)-$(sys)/LICENSE.txt LICENSE.wslbridge
|
tr -d '\015' < wslbridge-$(wslbridgever)-$(sys)/LICENSE.txt > LICENSE.wslbridge
|
||||||
|
|
||||||
wslbridge-frontend:
|
wslbridge-source: wslbridge-$(wslbridge-commit).zip
|
||||||
$(wgeto) https://github.com/rprichard/wslbridge/archive/master.zip -o wslbridge-master.zip
|
unzip -o wslbridge-$(wslbridge-commit).zip
|
||||||
unzip -o wslbridge-master.zip
|
tr -d '\015' < wslbridge-$(wslbridge-commit)/LICENSE.txt > LICENSE.wslbridge
|
||||||
cd wslbridge-master/frontend; make
|
|
||||||
strip wslbridge-master/out/wslbridge.exe
|
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
|
mkdir -p bin
|
||||||
cp wslbridge-master/out/wslbridge.exe bin/
|
cp wslbridge-$(wslbridge-commit)/out/wslbridge.exe bin/
|
||||||
cp wslbridge-master/LICENSE.txt LICENSE.wslbridge
|
|
||||||
|
|
||||||
mintty: mintty-get mintty-build
|
wslbridge-backend: wslbridge-source
|
||||||
|
cd wslbridge-$(wslbridge-commit)/backend; if uname -m | grep x86_64; then cmd /C wsl make; else wslbridge make; fi
|
||||||
|
mkdir -p bin
|
||||||
|
cp wslbridge-$(wslbridge-commit)/out/wslbridge-backend bin/
|
||||||
|
|
||||||
mintty-get:
|
mintty-get:
|
||||||
$(wgeto) https://github.com/mintty/mintty/archive/$(minttyver).zip -o mintty-$(minttyver).zip
|
$(wgeto) https://github.com/mintty/mintty/archive/$(minttyver).zip -o mintty-$(minttyver).zip
|
||||||
unzip -o mintty-$(minttyver).zip
|
unzip -o mintty-$(minttyver).zip
|
||||||
|
cp mintty-$(minttyver)/icon/terminal.ico mintty.ico
|
||||||
|
|
||||||
|
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)"
|
||||||
|
|
||||||
mintty-build:
|
mintty-build:
|
||||||
cd mintty-$(minttyver)/src; make LDFLAGS="-static -static-libgcc -s"
|
# 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
|
mkdir -p bin
|
||||||
cp mintty-$(minttyver)/bin/mintty.exe bin/
|
cp mintty-$(minttyver)/bin/mintty.exe bin/
|
||||||
|
|
||||||
|
mintty-build-appx:
|
||||||
|
# ensure rebuild of version-specific check and message
|
||||||
|
rm -f mintty-$(minttyver)/bin/*/windialog.o
|
||||||
|
# build mintty
|
||||||
|
cd mintty-$(minttyver)/src; make $(appxbuild) $(appxversion)
|
||||||
|
mkdir -p bin
|
||||||
|
cp mintty-$(minttyver)/bin/mintty.exe bin/
|
||||||
|
|
||||||
|
mintty-pkg:
|
||||||
cp mintty-$(minttyver)/LICENSE LICENSE.mintty
|
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 .
|
||||||
|
|
||||||
|
mintty-appx:
|
||||||
|
mkdir -p usr/share/mintty
|
||||||
|
cd usr/share/mintty; mkdir -p lang themes info
|
||||||
|
cp mintty-$(minttyver)/lang/*.po usr/share/mintty/lang/
|
||||||
|
cp mintty-$(minttyver)/themes/*[!~] usr/share/mintty/themes/
|
||||||
|
# add charnames.txt to support "Character Info"
|
||||||
|
cd mintty-$(minttyver)/src; sh ./mknames
|
||||||
|
cp mintty-$(minttyver)/src/charnames.txt usr/share/mintty/info/
|
||||||
|
|
||||||
cygwin:
|
cygwin:
|
||||||
mkdir -p bin
|
mkdir -p 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/
|
||||||
#cp /bin/dash.exe bin/
|
cp /bin/dash.exe bin/
|
||||||
|
cp /bin/regtool.exe bin/
|
||||||
cp /bin/zoo.exe bin/
|
cp /bin/zoo.exe bin/
|
||||||
|
|
||||||
|
appx-bin:
|
||||||
|
mkdir -p bin
|
||||||
|
cp /bin/cygwin1.dll bin/
|
||||||
|
cp /bin/cygwin-console-helper.exe bin/
|
||||||
|
|
||||||
cop: ver
|
cop: ver
|
||||||
mkdir -p rel
|
mkdir -p rel
|
||||||
rm -fr rel/wsltty-$(ver)-install.exe
|
rm -fr rel/wsltty-$(ver)-install.exe
|
||||||
sed -e "s,%version%,$(ver)," makewinx.cfg > rel/wsltty.SED
|
sed -e "s,%version%,$(ver)," makewinx.cfg > rel/wsltty.SED
|
||||||
cp bin/cygwin1.dll rel/
|
cp bin/cygwin1.dll rel/
|
||||||
cp bin/cygwin-console-helper.exe rel/
|
cp bin/cygwin-console-helper.exe rel/
|
||||||
#cp bin/dash.exe rel/
|
cp bin/dash.exe rel/
|
||||||
|
cp bin/regtool.exe rel/
|
||||||
cp bin/mintty.exe rel/
|
cp bin/mintty.exe rel/
|
||||||
cp bin/zoo.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.exe rel/
|
||||||
cp bin/wslbridge-backend rel/
|
cp bin/wslbridge-backend rel/
|
||||||
cp LICENSE.* rel/
|
cp LICENSE.* rel/
|
||||||
|
cp VERSION rel/
|
||||||
cp *.lnk rel/
|
cp *.lnk rel/
|
||||||
|
cp *.ico rel/
|
||||||
cp *.url rel/
|
cp *.url rel/
|
||||||
cp *.bat rel/
|
cp *.bat rel/
|
||||||
|
cp *.sh rel/
|
||||||
cp *.vbs rel/
|
cp *.vbs rel/
|
||||||
|
|
||||||
cab: cop
|
cab: cop
|
||||||
@@ -129,9 +228,22 @@ installbat:
|
|||||||
ver:
|
ver:
|
||||||
echo $(ver) > VERSION
|
echo $(ver) > VERSION
|
||||||
|
|
||||||
pkg: wslbridge cygwin mintty cab
|
mintty: mintty-get mintty-build
|
||||||
|
|
||||||
wsltty: wslbridge cygwin mintty-build cab
|
mintty-usr: mintty-get mintty-appx
|
||||||
|
|
||||||
|
# local wsltty build target:
|
||||||
|
wsltty: wslbridge cygwin mintty-build mintty-pkg
|
||||||
|
|
||||||
|
# standalone wsltty package build target:
|
||||||
|
pkg: wslbridge cygwin mintty-get mintty-build mintty-pkg cab
|
||||||
|
|
||||||
|
# appx package contents target:
|
||||||
|
wsltty-appx: wslbridge appx-bin mintty-get mintty-build-appx mintty-appx
|
||||||
|
|
||||||
|
# appx package target:
|
||||||
|
appx: wsltty-appx fix-verx
|
||||||
|
sh ./build.sh
|
||||||
|
|
||||||
#############################################################################
|
#############################################################################
|
||||||
# end
|
# end
|
||||||
|
|||||||
34
makewinx.cfg
34
makewinx.cfg
@@ -23,9 +23,9 @@ UserQuietInstCmd=%UserQuietInstCmd%
|
|||||||
SourceFiles=SourceFiles
|
SourceFiles=SourceFiles
|
||||||
|
|
||||||
[Strings]
|
[Strings]
|
||||||
InstallPrompt=Install Mintty terminal for WSL / Ubuntu on Windows?
|
InstallPrompt=Install Mintty terminal for WSL (Windows Subsystem for Linux)?
|
||||||
DisplayLicense=
|
DisplayLicense=
|
||||||
FinishMessage=Mintty for WSL installed - for documentation see https://github.com/mintty/mintty/wiki/Tips
|
FinishMessage=Mintty for WSL installed - for documentation see https://github.com/mintty/wsltty
|
||||||
TargetName=wsltty-%version%-install.exe
|
TargetName=wsltty-%version%-install.exe
|
||||||
FriendlyName=wsltty
|
FriendlyName=wsltty
|
||||||
AppLaunched=cmd.exe /c install.bat
|
AppLaunched=cmd.exe /c install.bat
|
||||||
@@ -39,21 +39,24 @@ FILE3="wslbridge.exe"
|
|||||||
FILE4="wslbridge-backend"
|
FILE4="wslbridge-backend"
|
||||||
FILE5="LICENSE.mintty"
|
FILE5="LICENSE.mintty"
|
||||||
FILE6="LICENSE.wslbridge"
|
FILE6="LICENSE.wslbridge"
|
||||||
FILE7="WSL Bash % in Mintty.lnk"
|
FILE7="config-distros.sh"
|
||||||
FILE8="WSL Bash ~ in Mintty.lnk"
|
FILE8="configure WSL shortcuts.lnk"
|
||||||
FILE9="WSL Bash -l in Mintty.lnk"
|
FILE9="charnames.txt"
|
||||||
FILE10="wsl.bat"
|
FILE10="VERSION"
|
||||||
FILE11="wsl~.bat"
|
FILE11="dash.exe"
|
||||||
FILE12="wsl-l.bat"
|
FILE12="regtool.exe"
|
||||||
FILE13="install.bat"
|
FILE13="install.bat"
|
||||||
FILE14="uninstall.bat"
|
FILE14="uninstall.bat"
|
||||||
FILE15="config-context-menu.bat"
|
FILE15="tux.ico"
|
||||||
FILE16="add to context menu.lnk"
|
FILE16="add to context menu.lnk"
|
||||||
FILE17="remove from context menu.lnk"
|
FILE17="add default to context menu.lnk"
|
||||||
FILE18="wsltty home & help.url"
|
FILE18="remove from context menu.lnk"
|
||||||
FILE19="zoo.exe"
|
FILE19="wsltty home & help.url"
|
||||||
FILE20="po.zoo"
|
FILE20="zoo.exe"
|
||||||
FILE21=mkshortcut.vbs
|
FILE21="lang.zoo"
|
||||||
|
FILE22="themes.zoo"
|
||||||
|
FILE23="mkshortcut.vbs"
|
||||||
|
FILE24="mintty.ico"
|
||||||
|
|
||||||
[SourceFiles]
|
[SourceFiles]
|
||||||
SourceFiles0=.
|
SourceFiles0=.
|
||||||
@@ -81,4 +84,7 @@ SourceFiles0=.
|
|||||||
%FILE19%=
|
%FILE19%=
|
||||||
%FILE20%=
|
%FILE20%=
|
||||||
%FILE21%=
|
%FILE21%=
|
||||||
|
%FILE22%=
|
||||||
|
%FILE23%=
|
||||||
|
%FILE24%=
|
||||||
|
|
||||||
|
|||||||
@@ -1,18 +1,20 @@
|
|||||||
rem cscript mkshortcut.vbs [/param:arg] /target:link
|
rem cscript mkshortcut.vbs [/param:arg] /target:link
|
||||||
|
|
||||||
rem %
|
|
||||||
rem /arguments:--wsl -o Locale=C -o Charset=UTF-8 /bin/wslbridge -t /bin/bash
|
|
||||||
rem ~
|
|
||||||
rem /arguments:--wsl -o Locale=C -o Charset=UTF-8 /bin/wslbridge -C~ -t /bin/bash
|
|
||||||
rem -l
|
|
||||||
rem /arguments:--wsl -o Locale=C -o Charset=UTF-8 /bin/wslbridge -t /bin/bash -l
|
|
||||||
rem /target:%LOCALAPPDATA%\wsltty\bin\mintty.exe
|
rem /target:%LOCALAPPDATA%\wsltty\bin\mintty.exe
|
||||||
rem /workingdir:%USERPROFILE%
|
rem /workingdir:%USERPROFILE%
|
||||||
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:
|
rem General - Name:
|
||||||
name = Wscript.Arguments.Named("name") & ".lnk"
|
name = Wscript.Arguments.Named("name") & ".lnk"
|
||||||
set wshell = WScript.CreateObject("WScript.Shell")
|
set wshell = WScript.CreateObject("WScript.Shell")
|
||||||
|
wscript.echo "Creating " & name
|
||||||
set lnk = wshell.CreateShortcut(name)
|
set lnk = wshell.CreateShortcut(name)
|
||||||
|
|
||||||
rem Target:
|
rem Target:
|
||||||
@@ -22,9 +24,9 @@ rem lnk.Arguments = Wscript.Arguments.Named("arguments")
|
|||||||
lnk.TargetPath = wshell.ExpandEnvironmentStrings("%target%")
|
lnk.TargetPath = wshell.ExpandEnvironmentStrings("%target%")
|
||||||
minttyargs = wshell.ExpandEnvironmentStrings("%minttyargs%")
|
minttyargs = wshell.ExpandEnvironmentStrings("%minttyargs%")
|
||||||
bridgeargs = wshell.ExpandEnvironmentStrings("%bridgeargs%")
|
bridgeargs = wshell.ExpandEnvironmentStrings("%bridgeargs%")
|
||||||
lnk.Arguments = minttyargs & bridgeargs
|
lnk.Arguments = minttyargs & " " & bridgeargs
|
||||||
wscript.echo "minttyargs: " & minttyargs
|
rem wscript.echo "minttyargs: " & minttyargs
|
||||||
wscript.echo lnk.Arguments
|
rem wscript.echo lnk.Arguments
|
||||||
|
|
||||||
rem Start in:
|
rem Start in:
|
||||||
rem lnk.WorkingDirectory = Wscript.Arguments.Named("workingdir")
|
rem lnk.WorkingDirectory = Wscript.Arguments.Named("workingdir")
|
||||||
@@ -35,9 +37,10 @@ rem icon = Wscript.Arguments.Named("icon")
|
|||||||
rem rem iconoffset = Wscript.Arguments.Named("iconoffset")
|
rem rem iconoffset = Wscript.Arguments.Named("iconoffset")
|
||||||
rem rem icon = icon & ", " & iconoffset
|
rem rem icon = icon & ", " & iconoffset
|
||||||
icon = wshell.ExpandEnvironmentStrings("%icon%")
|
icon = wshell.ExpandEnvironmentStrings("%icon%")
|
||||||
wscript.echo "icon: " & icon
|
rem wscript.echo "icon: " & icon
|
||||||
lnk.IconLocation = icon
|
lnk.IconLocation = icon
|
||||||
rem lnk.IconLocation = "%LOCALAPPDATA%\lxss\bash.ico"
|
rem rem lnk.IconLocation = "%LOCALAPPDATA%\lxss\bash.ico"
|
||||||
|
rem lnk.IconLocation = "%LOCALAPPDATA%\wsltty\wsl.ico"
|
||||||
|
|
||||||
rem Shorcut key:
|
rem Shorcut key:
|
||||||
rem lnk.HotKey = "ALT+CTRL+W"
|
rem lnk.HotKey = "ALT+CTRL+W"
|
||||||
@@ -50,3 +53,5 @@ rem lnk.IconLocation = Wscript.Arguments.Named("desc")
|
|||||||
rem lnk.Description = "WSLtty"
|
rem lnk.Description = "WSLtty"
|
||||||
|
|
||||||
lnk.Save
|
lnk.Save
|
||||||
|
wscript.echo "Created " & name
|
||||||
|
wscript.echo
|
||||||
|
|||||||
Binary file not shown.
@@ -9,20 +9,26 @@ rem delete Start Menu Folder
|
|||||||
set smf=%APPDATA%\Microsoft\Windows\Start Menu\Programs\WSLtty
|
set smf=%APPDATA%\Microsoft\Windows\Start Menu\Programs\WSLtty
|
||||||
rmdir /S /Q "%smf%"
|
rmdir /S /Q "%smf%"
|
||||||
|
|
||||||
rem delete Desktop Shortcuts
|
rem delete Desktop Shortcuts (not installed anymore)
|
||||||
del "%USERPROFILE%\Desktop\WSL Bash % in Mintty.lnk"
|
rem del "%USERPROFILE%\Desktop\WSL % in Mintty.lnk"
|
||||||
del "%USERPROFILE%\Desktop\WSL Bash ~ in Mintty.lnk"
|
rem del "%USERPROFILE%\Desktop\WSL ~ in Mintty.lnk"
|
||||||
|
|
||||||
|
|
||||||
|
:start menu
|
||||||
|
|
||||||
|
cd %installdir%
|
||||||
|
bin\dash.exe config-distros.sh -shortcuts-remove
|
||||||
|
|
||||||
|
|
||||||
:explorer context menu
|
:explorer context menu
|
||||||
|
|
||||||
call "%installdir%\config-context-menu.bat" /U
|
cd %installdir%
|
||||||
|
bin\dash.exe config-distros.sh -contextmenu-remove
|
||||||
|
|
||||||
|
|
||||||
:undeploy
|
:undeploy
|
||||||
|
|
||||||
cd %installdir%
|
cd %installdir%
|
||||||
|
|
||||||
rem currently not removing software
|
rem currently not removing software
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
15
wsl-l.bat
15
wsl-l.bat
@@ -1,15 +0,0 @@
|
|||||||
@echo off
|
|
||||||
|
|
||||||
rem Start mintty terminal for WSL in home directory
|
|
||||||
|
|
||||||
if "%installdir%" == "" set installdir=%LOCALAPPDATA%\wsltty
|
|
||||||
if "%configdir%" == "" set configdir=%APPDATA%\wsltty
|
|
||||||
|
|
||||||
rem To enable invocation of this script from WIN+R or from cmd.exe,
|
|
||||||
rem you may want to copy this script into "%SYSTEMROOT%\System32"
|
|
||||||
|
|
||||||
rem You may want a variant of this script without trailing "-l"
|
|
||||||
rem to start in the current directory from cmd.exe
|
|
||||||
|
|
||||||
"%installdir%\bin\mintty.exe" --wsl "--configdir=%configdir%" -o Locale=C -o Charset=UTF-8 -i "%LOCALAPPDATA%\lxss\bash.ico" /bin/wslbridge -t /bin/bash -l
|
|
||||||
|
|
||||||
15
wsl.bat
15
wsl.bat
@@ -1,15 +0,0 @@
|
|||||||
@echo off
|
|
||||||
|
|
||||||
rem Start mintty terminal for WSL in home directory
|
|
||||||
|
|
||||||
if "%installdir%" == "" set installdir=%LOCALAPPDATA%\wsltty
|
|
||||||
if "%configdir%" == "" set configdir=%APPDATA%\wsltty
|
|
||||||
|
|
||||||
rem To enable invocation of this script from WIN+R or from cmd.exe,
|
|
||||||
rem you may want to copy this script into "%SYSTEMROOT%\System32"
|
|
||||||
|
|
||||||
rem You may want a variant of this script without trailing "-l"
|
|
||||||
rem to start in the current directory from cmd.exe
|
|
||||||
|
|
||||||
"%installdir%\bin\mintty.exe" --wsl "--configdir=%configdir%" -o Locale=C -o Charset=UTF-8 -i "%LOCALAPPDATA%\lxss\bash.ico" /bin/wslbridge -t /bin/bash
|
|
||||||
|
|
||||||
BIN
wsltty.png
Normal file
BIN
wsltty.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 11 KiB |
15
wsl~.bat
15
wsl~.bat
@@ -1,15 +0,0 @@
|
|||||||
@echo off
|
|
||||||
|
|
||||||
rem Start mintty terminal for WSL in home directory
|
|
||||||
|
|
||||||
if "%installdir%" == "" set installdir=%LOCALAPPDATA%\wsltty
|
|
||||||
if "%configdir%" == "" set configdir=%APPDATA%\wsltty
|
|
||||||
|
|
||||||
rem To enable invocation of this script from WIN+R or from cmd.exe,
|
|
||||||
rem you may want to copy this script into "%SYSTEMROOT%\System32"
|
|
||||||
|
|
||||||
rem You may want a variant of this script without trailing "-l"
|
|
||||||
rem to start in the current directory from cmd.exe
|
|
||||||
|
|
||||||
"%installdir%\bin\mintty.exe" --wsl "--configdir=%configdir%" -o Locale=C -o Charset=UTF-8 -i "%LOCALAPPDATA%\lxss\bash.ico" /bin/wslbridge -C~ -t /bin/bash
|
|
||||||
|
|
||||||
Reference in New Issue
Block a user