mirror of
https://github.com/mintty/wsltty.git
synced 2025-11-11 12:25:50 +00:00
Compare commits
8 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
b5349bf6db | ||
|
|
3b1ecb2e01 | ||
|
|
beed642144 | ||
|
|
a3c32980e7 | ||
|
|
e6ce36e2bd | ||
|
|
d865b01135 | ||
|
|
1e7bb5fc6e | ||
|
|
8ffb732330 |
61
README.md
61
README.md
@@ -2,21 +2,52 @@ Mintty as a terminal for Bash on Ubuntu on Windows / WSL.
|
||||
|
||||
### Overview ###
|
||||
|
||||
Run the [installer](https://github.com/mintty/wsltty/releases) to install
|
||||
* wsltty package components (see below) in the user’s application folder (where WSL is also installed)
|
||||
* an empty wsltty “home directory” to enable storage of a mintty config file
|
||||
WSLtty components
|
||||
* wsltty package components (see below) in the user’s local application folder
|
||||
`%LOCALAPPDATA%` (where WSL is also installed)
|
||||
* a wsltty configuration directory in the user’s application folder `%APPDATA%`;
|
||||
“home”-located configuration files from a previously installed version
|
||||
will be migrated to the new default location
|
||||
* Start Menu and Desktop shortcuts to start a WSL bash (with some variations, see below)
|
||||
* optional context menu entries for Windows Explorer to start a WSL bash in the respective folder
|
||||
* install/uninstall context menu items from Start Menu subfolder
|
||||
* `wsl*.bat` scripts to invoke wsltty manually (with some variations and invocation options, see below)
|
||||
* an uninstall script that can be invoked manually to remove shortcuts and context menu entries
|
||||
|
||||
### Installation ###
|
||||
|
||||
#### WSLtty installer ####
|
||||
|
||||
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,
|
||||
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”
|
||||
section “Security” (if available) and select “Unblock”,
|
||||
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 ####
|
||||
|
||||
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.
|
||||
|
||||
### Invocation ###
|
||||
|
||||
WSLtty can be invoked with
|
||||
* installed desktop shortcuts or Start menu shortcuts
|
||||
* wsl*.bat scripts generated into the installation directory
|
||||
* Explorer context menu (if installed from the Start menu)
|
||||
|
||||
Starting the mintty terminal directly from the WSLtty installation location
|
||||
is discouraged because that would bypass the `--configdir` option.
|
||||
|
||||
### Configuration ###
|
||||
|
||||
#### Command line scripts `wsl*.bat` ####
|
||||
@@ -45,20 +76,28 @@ add a `cd` command to your `$HOME/.profile` on Linux side.
|
||||
|
||||
Mintty can maintain its configuration file in various locations,
|
||||
with the following precedence:
|
||||
* file given with mintty option `-c`
|
||||
* `%HOME%\.minttyrc`
|
||||
* `%HOME%\.config\mintty\config`
|
||||
* file given with mintty option `-c` (not used by wsltty default installation)
|
||||
* file `config` in directory given with mintty option `--configdir`
|
||||
* 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`
|
||||
* `%LOCALAPPDATA%\wsltty\etc\minttyrc`
|
||||
* `%LOCALAPPDATA%\wsltty\etc\minttyrc` (usage deprecated with wsltty)
|
||||
|
||||
Note:
|
||||
* 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.
|
||||
* `%APPDATA%\wsltty\config` is the new user configuration file location.
|
||||
Further subdirectories of `%APPDATA%\wsltty` are used for language,
|
||||
themes, and sounds resource configuration.
|
||||
Note the distinction from `%LOCALAPPDATA%\wsltty` which is the default
|
||||
wsltty software installation location.
|
||||
* The `%APPDATA%\mintty\config` option provides the possibility to
|
||||
maintain common mintty settings for various installations (like
|
||||
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 ####
|
||||
|
||||
|
||||
Binary file not shown.
Binary file not shown.
Binary file not shown.
@@ -28,11 +28,11 @@ 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 opts=--wsl -h err
|
||||
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%
|
||||
set target0=\"%cmd%\" %opts% %cset% --configdir \"%configdir%\" -i \"%icon%\" %arg%
|
||||
rem set target1=\"%cmd%\" %opts% %cset% --configdir \"%configdir%\" -i \"%icon%\" /bin/dash -c \"cd '%%1'; exec %arg%\"
|
||||
set target1=\"%cmd%\" %opts% %cset% --configdir \"%configdir%\" -i \"%icon%\" --dir \"%%1\" %arg%
|
||||
|
||||
rem Registry entries
|
||||
reg add "%userdirname%\wsltty" /d "%label% %here%" /f
|
||||
|
||||
@@ -51,7 +51,7 @@ 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 minttyargs=--wsl -h err --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
|
||||
@@ -105,5 +105,8 @@ mkdir "%configdir%\lang"
|
||||
mkdir "%configdir%\sounds"
|
||||
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"
|
||||
|
||||
|
||||
:end
|
||||
|
||||
10
makefile
10
makefile
@@ -9,20 +9,22 @@
|
||||
all: check pkg
|
||||
|
||||
# wsltty release
|
||||
ver=0.7.7
|
||||
ver=0.7.8.1
|
||||
|
||||
# mintty release version
|
||||
minttyver=2.7.7
|
||||
minttyver=2.7.8
|
||||
#minttyver=master
|
||||
|
||||
# wslbridge backend version
|
||||
wslbridgever=0.2.1
|
||||
wslbridgever=0.2.2
|
||||
|
||||
# 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=
|
||||
#wslbridge-frontend=
|
||||
wslbridge-frontend=wslbridge-frontend
|
||||
|
||||
#############################################################################
|
||||
# target checking and some defs
|
||||
|
||||
@@ -1,11 +1,11 @@
|
||||
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 /arguments:--wsl -h err -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 /arguments:--wsl -h err -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 /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 /icon:%LOCALAPPDATA%\lxss\bash.ico
|
||||
|
||||
@@ -11,5 +11,5 @@ 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
|
||||
"%installdir%\bin\mintty.exe" --wsl -h err "--configdir=%configdir%" -o Locale=C -o Charset=UTF-8 -i "%LOCALAPPDATA%\lxss\bash.ico" /bin/wslbridge -t /bin/bash -l
|
||||
|
||||
|
||||
2
wsl.bat
2
wsl.bat
@@ -11,5 +11,5 @@ 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
|
||||
"%installdir%\bin\mintty.exe" --wsl -h err "--configdir=%configdir%" -o Locale=C -o Charset=UTF-8 -i "%LOCALAPPDATA%\lxss\bash.ico" /bin/wslbridge -t /bin/bash
|
||||
|
||||
|
||||
2
wsl~.bat
2
wsl~.bat
@@ -11,5 +11,5 @@ 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
|
||||
"%installdir%\bin\mintty.exe" --wsl -h err "--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