Ubuntu Shell Winfows Folder

Posted on  by  admin

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

Jump to File & Directory Commands - The tilde symbol stands for your home directory. Also displays this information in the title bar of its window.

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 versionwill 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

Installation from this repository

WSLtty installer (Download standalone installation)

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

(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

Windows Ubuntu Shell Folder

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)
Ubuntu access windows shared folder

Starting the mintty terminal directly from the WSLtty installation locationis discouraged because that would bypass essential options.

WSL 2

Due to some incompatible changes by Microsoft, wslbridge cannot connectin WSL 2 mode at this time.Workaround:

  • wsl --set-default-version 1

Configuration

Start Menu and Desktop shortcuts

In the Start Menu, the following shortcuts are installed:

  • For each installed WSL distribution D, D Terminal to start in the WSL user home
  • WSL Terminal to start the default WSL distribution (as configured with the Windows tool wslconfig)

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

  • 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 desktopfrom the Start Menu if desired.

The Start menu folder WSLtty contains the linkconfigure 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%MicrosoftWindowsApps(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%MicrosoftWindowsApps 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 distributionsand 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 theExplorer context menu, or remove them, run the respective script from theStart Menu subfolder WSLtty:

  • add default to context menuadds context menu entries for the default WSL distribution
  • add to context menuadds context menu entries for all WSL distributions
  • remove from context menuremoves context menu entries for WSL distributions

Icon

Wsltty installation and the mintty terminal try to use the icon of therespective WSL distribution. If it cannot be determined, a penguin iconis used as a default. You can replace it with your preferred fallback iconby replacing the icon file %LOCALAPPDATA%wslttywsl.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%wslttyconfig in the default wsltty installation.
  • %HOME%.minttyrc (usage deprecated with wsltty)
  • %HOME%.configminttyconfig (usage deprecated with wsltty)
  • %APPDATA%minttyconfig
  • %LOCALAPPDATA%wslttyetcminttyrc (usage deprecated with wsltty)

Note:

  • %APPDATA%wslttyconfig 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 defaultwsltty software installation location.
  • The %APPDATA%minttyconfig option provides the possibility tomaintain common mintty settings for various installations (likewsltty, Cygwin, MinGW/msys, Git for Windows, MinEd for Windows).
  • (About deprecated options) By default, %HOME% would refer to theroot directory of the cygwin standalone installation hosting wsltty.So %HOME% would mean %LOCALAPPDATA%wslttyhome%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

Ubuntu Shell Winfows Folder

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 or launch the shell in login mode,you may append a shell pathname and an optional -l parameterto the mintty invocation (in shortcuts, scripts, or context menu entries):

  • %LOCALAPPDATA%wslttybinmintty.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.

Ubuntu Shell Winfows Folder

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

For interacting with WSL, it uses wslbridge.Many thanks for this enabling gateway go especially to Ryan Prichard.

I have enabled developer mode and installed Bash on Ubuntu on Windows.

My home directory can be found under %localappdata%Lxsshome<ubuntu.username>, i have created a sub-directory called Pictures such that the full path should be

on windows: C:Users<windows.username>AppDataLocallxsshome<ubuntu.username>Pictures

on bash: /home/<ubuntu.username>/Pictures

if i create a file from bash using the command touch hello.txt i can freely see this file in the windows UI and copy it to my Desktop. However, if i create a new text file from the windows UI and save it in C:Users<windows.username>AppDataLocallxsshome<ubuntu.username>Pictures, even if i restart bash or windows, the file is not visible when i do ls -l.

Why can't bash see files created from the Windows side in it's own home directory?

Using /mnt/c is not a solution, i am trying to understand why it doesn't see those files and if there is a remedy to that so that it will be able to see UI created files, rather than trying to use the terminal to copy-paste or move files over.

Coments are closed
Scroll to top