2017-07-28 14:14:51 +02:00
|
|
|
|
Mintty as a terminal for WSL (Windows Subsystem for Linux).
|
2016-09-14 14:55:14 +02:00
|
|
|
|
|
2017-07-04 11:11:21 +02:00
|
|
|
|
<img align=right src=wsltty.png>
|
|
|
|
|
|
2016-09-29 14:53:19 +02:00
|
|
|
|
### Overview ###
|
2016-09-14 14:55:14 +02:00
|
|
|
|
|
2017-05-20 20:31:33 +02:00
|
|
|
|
WSLtty components
|
|
|
|
|
* wsltty package components (see below) in the user’s local application folder
|
2017-07-28 14:14:51 +02:00
|
|
|
|
`%LOCALAPPDATA%`
|
|
|
|
|
* 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 shortcuts to start a WSL shell (with some variations, see below)
|
|
|
|
|
* `*.bat` scripts to invoke WSL from the command line (see below)
|
|
|
|
|
* optional context menu entries for Windows Explorer to start a WSL shell in the respective folder
|
|
|
|
|
* install/uninstall context menu items from Start Menu subfolder `WSLtty`
|
2016-09-18 12:06:23 +02:00
|
|
|
|
* an uninstall script that can be invoked manually to remove shortcuts and context menu entries
|
2016-09-14 14:55:14 +02:00
|
|
|
|
|
2017-05-20 20:31:33 +02:00
|
|
|
|
### Installation ###
|
|
|
|
|
|
|
|
|
|
#### WSLtty installer ####
|
|
|
|
|
|
|
|
|
|
Run the [installer](https://github.com/mintty/wsltty/releases) to install
|
|
|
|
|
the components listed above.
|
2017-04-14 01:08:20 +02:00
|
|
|
|
If Windows complains with a “Windows protected your PC” popup,
|
|
|
|
|
you may need to click “Run anyway” to proceed with the installation.
|
2017-05-06 19:42:03 +02:00
|
|
|
|
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.
|
2017-04-14 01:08:20 +02:00
|
|
|
|
|
2017-05-20 20:31:33 +02:00
|
|
|
|
#### 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 ####
|
|
|
|
|
|
2017-07-28 14:14:51 +02:00
|
|
|
|
(For experts)
|
2017-05-20 20:31:33 +02:00
|
|
|
|
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.
|
|
|
|
|
|
2017-05-22 19:49:35 +02:00
|
|
|
|
### Invocation ###
|
|
|
|
|
|
|
|
|
|
WSLtty can be invoked with
|
2017-07-28 14:14:51 +02:00
|
|
|
|
* installed Start Menu shortcuts (or Desktop shortcuts if copied there)
|
|
|
|
|
* *.bat scripts
|
|
|
|
|
* Explorer context menu (if installed from the Start Menu `WSLtty` subfolder)
|
2017-05-22 19:49:35 +02:00
|
|
|
|
|
|
|
|
|
Starting the mintty terminal directly from the WSLtty installation location
|
2017-07-28 14:14:51 +02:00
|
|
|
|
is discouraged because that would bypass some essential options.
|
2017-05-22 19:49:35 +02:00
|
|
|
|
|
2016-09-29 14:53:19 +02:00
|
|
|
|
### Configuration ###
|
|
|
|
|
|
2017-01-31 12:51:03 +01:00
|
|
|
|
#### Command line scripts `wsl*.bat` ####
|
2016-09-29 14:53:19 +02:00
|
|
|
|
|
2017-07-28 14:14:51 +02:00
|
|
|
|
WSLtty installs the following scripts into `%LOCALAPPDATA%\Microsoft\WindowsApps`
|
|
|
|
|
(and a copy in its application folder `%LOCALAPPDATA%\wsltty`):
|
2016-09-29 14:53:19 +02:00
|
|
|
|
|
2017-07-28 14:14:51 +02:00
|
|
|
|
* 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` to start the default WSL installation in the current folder/directory
|
|
|
|
|
* `wsl~.bat` to start the default WSL installation in the WSL user home
|
|
|
|
|
* `wsl-l.bat` to start the default WSL installation with a login shell
|
|
|
|
|
|
|
|
|
|
Given that `%LOCALAPPDATA%\Microsoft\WindowsApps` is in your PATH,
|
|
|
|
|
the scripts can be invoked from cmd.exe, PowerShell, or via WIN+R.
|
2016-09-29 14:53:19 +02:00
|
|
|
|
|
2016-11-16 16:46:50 +01:00
|
|
|
|
#### Start Menu and Desktop shortcuts ####
|
|
|
|
|
|
2017-07-28 14:14:51 +02:00
|
|
|
|
In the Start Menu, the following shortcuts are installed:
|
|
|
|
|
* For each installed WSL distribution D, D` in Mintty` to start in the WSL user home
|
|
|
|
|
|
|
|
|
|
In the Start Menu subfolder WSLtty, the following shortcuts are installed:
|
|
|
|
|
* For each installed WSL distribution D, D` in Mintty` to start in the Windows %USERPROFILE% home
|
|
|
|
|
* For each installed WSL distribution D, D` ~ in Mintty` to start in the WSL user home
|
|
|
|
|
* `WSL % in Mintty` to start the default WSL installation in the Windows %USERPROFILE% home
|
|
|
|
|
* `WSL ~ in Mintty` to start the default WSL installation in the WSL user home
|
|
|
|
|
* `WSL -l in Mintty` to start the default WSL installation with a login shell
|
|
|
|
|
|
|
|
|
|
WSLtty does not install Desktop shortcuts. If you want them, copy the
|
|
|
|
|
desired ones from the Start Menu subfolder `WSLtty`.
|
2016-11-16 16:46:50 +01:00
|
|
|
|
|
2017-07-28 14:14:51 +02:00
|
|
|
|
To ensure a login shell to start in your Linux home directory,
|
2016-11-16 16:46:50 +01:00
|
|
|
|
add a `cd` command to your `$HOME/.profile` on Linux side.
|
2016-10-11 18:05:11 +02:00
|
|
|
|
|
2017-07-28 14:14:51 +02:00
|
|
|
|
#### Context menu entries ####
|
|
|
|
|
|
|
|
|
|
WSLtty provides context menu entries for all installed WSL distributions,
|
|
|
|
|
to start a respective WSL shell in a specific folder from an Explorer window.
|
|
|
|
|
They are not installed by default.
|
|
|
|
|
To add or remove context menu entries, run the respective script from the
|
|
|
|
|
Start Menu subfolder `WSLtty`.
|
|
|
|
|
|
2016-10-11 18:05:11 +02:00
|
|
|
|
#### Mintty settings ####
|
|
|
|
|
|
|
|
|
|
Mintty can maintain its configuration file in various locations,
|
|
|
|
|
with the following precedence:
|
2017-05-20 20:31:33 +02:00
|
|
|
|
* file given with mintty option `-c` (not used by wsltty default installation)
|
|
|
|
|
* file `config` in directory given with mintty option `--configdir`
|
2017-05-24 15:35:59 +02:00
|
|
|
|
* This is `%APPDATA%\wsltty\config` in the default wsltty installation.
|
2017-05-20 20:31:33 +02:00
|
|
|
|
* `%HOME%\.minttyrc` (usage deprecated with wsltty)
|
|
|
|
|
* `%HOME%\.config\mintty\config` (usage deprecated with wsltty)
|
2016-10-11 18:05:11 +02:00
|
|
|
|
* `%APPDATA%\mintty\config`
|
2017-05-20 20:31:33 +02:00
|
|
|
|
* `%LOCALAPPDATA%\wsltty\etc\minttyrc` (usage deprecated with wsltty)
|
2016-10-11 18:05:11 +02:00
|
|
|
|
|
2017-05-11 12:33:37 +02:00
|
|
|
|
Note:
|
2017-05-20 20:31:33 +02:00
|
|
|
|
* `%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.
|
2017-05-11 12:33:37 +02:00
|
|
|
|
* 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).
|
2017-05-20 20:31:33 +02:00
|
|
|
|
* (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.
|
2016-09-29 14:53:19 +02:00
|
|
|
|
|
2017-01-31 12:51:03 +01:00
|
|
|
|
#### Shell selection ####
|
|
|
|
|
|
2017-07-28 14:14:51 +02:00
|
|
|
|
To invoke your favourite shell, replace `/bin/bash` with its pathname
|
|
|
|
|
in the Desktop or Start Menu shortcuts and `*.bat` launch scripts,
|
|
|
|
|
or Explorer context menu commands.
|
2017-01-31 12:51:03 +01:00
|
|
|
|
|
2016-09-29 14:53:19 +02:00
|
|
|
|
### Components ###
|
2016-09-14 14:55:14 +02:00
|
|
|
|
|
2017-07-04 11:11:21 +02:00
|
|
|
|
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),
|
2017-01-27 14:49:23 +01:00
|
|
|
|
including a [Hints and Tips page](https://github.com/mintty/mintty/wiki/Tips).
|
2016-09-14 14:55:14 +02:00
|
|
|
|
|
|
|
|
|
It is based on [Cygwin](http://cygwin.com)
|
|
|
|
|
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).
|
|
|
|
|
|