wsltty

Mintty as a terminal for Bash on Ubuntu on Windows / WSL

  • 所有者: mintty/wsltty
  • 平台:
  • 許可證: Other
  • 分類:
  • 主題:
  • 喜歡:
    0
      比較:

Github星跟蹤圖

Mintty as a terminal for WSL (Windows Subsystem for Linux).

Overview

WSLtty components

  • wsltty package components (see below) in the user’s local application folder
    %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 WSL terminals
  • *.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

Requirement

Since release 3.0.5, WSLtty requires Windows version 1809 (the November 2018 release).


Installation from this repository

WSLtty installer (Download standalone installation)

Run the installer 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

Checkout the wsltty repository, or download the source archive, unpack and rename the directory to wsltty.
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,
invoke one of

  • choco install wsltty
  • choco upgrade wsltty

Scoop

If you use the Scoop package manager,

  • 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 repository.


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.

WSL V2

Terminal communication with WSL via its modes V1 or V2 is handled
automatically by wsltty (mintty and the wslbridge2 gateway).


Configuration

Start Menu and Desktop shortcuts

In the Start Menu, the following shortcuts are installed:

  • Shortcut WSL Terminal to start the default WSL distribution (as configured with the Windows tool wslconfig)
  • For each installed WSL distribution, for example Ubuntu, a shortcut like Ubuntu Terminal to start in the WSL user home

In the Start Menu subfolder WSLtty, the following additional shortcuts are installed:

  • Shortcut WSL Terminal % to start the default WSL distribution in the Windows %USERPROFILE% home
  • For each installed WSL distribution, for example Ubuntu, a shortcut like Ubuntu Terminal % to start in the Windows %USERPROFILE% home

One Desktop shortcut is installed:

  • Shortcut 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.

The Start menu folder WSLtty contains the link
configure WSL shortcuts.
This function is initially run when wsltty is installed.
If should be rerun after adding or removing WSL distributions,
in order to create the respective set of shortcuts in the Start menu.

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, e.g. Ubuntu, a command script like Ubuntu.bat to start in the current folder/directory
  • For each installed WSL distribution, e.g. Ubuntu, a command script like Ubuntu~.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:

  • add default to context menu
    adds context menu entries for the default WSL distribution
  • add to context menu
    adds context menu entries for all WSL distributions
  • remove from context menu
    removes context menu entries for WSL distributions

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 can maintain its configuration file in various locations,
with the following precedence:

  • 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 (usage deprecated with wsltty)

Note:

  • %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 and Login shell

The WSLtty deployment does not impose a shell preference;
it invokes the user’s default shell in login mode by the final - parameter:

  • %LOCALAPPDATA%\wsltty\bin\mintty.exe --WSL= --configdir="%APPDATA%\wsltty" -

You may tweak shortcuts, scripts, or context menu entries as follows:

To launch a default shell in non-login mode, remove the final dash.

To invoke your preferred shell, replace the final dash with
a shell pathname and an optional -l parameter

  • %LOCALAPPDATA%\wsltty\bin\mintty.exe --WSL= --configdir="%APPDATA%\wsltty" /bin/bash -l

Components and Credits

For mintty, see the Mintty homepage
(with further screenshots),
the Mintty manual page,
and the Mintty Wiki,
including a Hints and Tips page.

It is based on Cygwin
and includes its runtime library (sources).

For interacting with WSL, wslbridge
used to be the gateway prototype.
Many thanks for this enabling gateway go to Ryan Prichard.

For recent changes in WSL, particularly WSL mode V2, the new gateway
wslbridge2 is used instead.
Many thanks for this further development and maintenance go to Biswapriyo Nath.

主要指標

概覽
名稱與所有者mintty/wsltty
主編程語言C
編程語言Batchfile (語言數: 5)
平台
許可證Other
所有者活动
創建於2016-09-11 12:18:51
推送於2025-03-29 16:37:12
最后一次提交2025-03-29 00:00:00
發布數74
最新版本名稱3.7.8 (發布於 )
第一版名稱0.1.0 (發布於 )
用户参与
星數3.2k
關注者數54
派生數106
提交數268
已啟用問題?
問題數353
打開的問題數29
拉請求數6
打開的拉請求數0
關閉的拉請求數4
项目设置
已啟用Wiki?
已存檔?
是復刻?
已鎖定?
是鏡像?
是私有?