My Windows Terminal Setup

Microsoft just launched windows terminal, I am not a good fan of command.exe design as the new Windows terminal looks refreshing interface to work around.

Yes, my Home primary OS is based on GNU/Linux but on the work environment, we need to work on Windows systems.

 
  • First Windows Subsystem for Linux
  • Second Visual Studio Code
  • Third Windows Terminal (using Git Bash)

I installed the Windows Terminal (WT) on my windows matching from Microsoft Store where.

and do some modification to fit as per my need.

Setting can be found in JSON file by using command shortcut (Ctrl + ,) or clicking dropdown error next to the plus sign

Which open JSON file of configuration.

First thing I have done is changed shortcut keys to open different window instance

previously its Ctrl + Shift + 1 to 9 but as Indian keyboard Ctrl + Shift + 4 used to add ₹ rupees word.

Now its Ctrl + 1 to 9

Next font Size default 10 to 18 in profiles and Opacity
“fontSize” : 18,
“acrylicOpacity” : 0.75,

Default profile when I open WT it should load my WSL ubuntu 18.04 and direct to my windows profile folder not on a system

 
added key shortcut to open WT on Windows Ctrl + t.
 
 

 

Git Bash

After installing Git to use version control system on windows the Git Bash is closer to native Linux command line to control windows OS the following settings to add Git Bash in Windows Terminal

Update using CTRL + SHIFT + Num (Rupees Symbol Changed the Key shortcut)
The Complete Code of Setting Page is Look Like following.

/ This file was initially generated by Windows Terminal 0.11.1191.0
// It should still be usable in newer versions, but newer versions might have additional
// settings, help text, or changes that you will not see unless you clear this file
// and let us generate a new one for you.

// To view the default settings, hold "alt" while clicking on the "Settings" button.
// For documentation on these settings, see: https://aka.ms/terminal-documentation
{
    "$schema": "https://aka.ms/terminal-profiles-schema",

    "defaultProfile": "{00000000-0000-0000-ba54-000000000002}",

    // You can add more global application settings here.
    // To learn more about global settings, visit https://aka.ms/terminal-global-settings

    // If enabled, selections are automatically copied to your clipboard.
    "copyOnSelect": false,

    // If enabled, formatted data is also copied to your clipboard
    "copyFormatting": false,

    // A profile specifies a command to execute paired with information about how it should look and feel.
    // Each one of them will appear in the 'New Tab' dropdown,
    //   and can be invoked from the commandline with `wt.exe -p xxx`
    // To learn more about profiles, visit https://aka.ms/terminal-profile-settings
    "profiles":
    {
        "defaults":
        {
            // Put settings here that you want to apply to all profiles.
        },
        "list":
        [
            {
                // Make changes here to the powershell.exe profile.
                "guid": "{61c54bbd-c2c6-5271-96e7-009a87ff44bf}",
                "name": "Windows PowerShell",
                "commandline": "powershell.exe",
                "hidden": false
            },
            {
                // Make changes here to the cmd.exe profile.
		"fontSize" : 18,
		"acrylicOpacity" : 0.75,
                "guid": "{0caa0dad-35be-5f56-a8ff-afceeeaa6101}",
                "name": "Command Prompt",
                "commandline": "cmd.exe",
                "hidden": false
            },
            {
		// WSL Ubuntu 20.04
                "guid": "{07b52e3e-de2c-5db4-bd2d-ba144ed6c273}",
		"fontSize" : 18,
		"acrylicOpacity" : 0.75,
                "hidden": false,
                "name": "Ubuntu-20.04",
                "source": "Windows.Terminal.Wsl"
            },
            {
                "guid": "{b453ae62-4e3d-5e58-b989-0a998ec441b8}",
                "hidden": false,
                "name": "Azure Cloud Shell",
                "source": "Windows.Terminal.Azure"
            },
	    {
		// Git Bash
		"guid": "{00000000-0000-0000-ba54-000000000002}",
		"acrylicOpacity" : 0.75,
		"closeOnExit" : true,
		"colorScheme" : "Campbell",
		"commandline" : "\"%PROGRAMFILES%\\git\\usr\\bin\\bash.exe\" -i -l",
		"fontFace" : "Consolas",
		"fontSize" : 18,
		"historySize" : 9001,
		"icon" : "ms-appx:///ProfileIcons/{0caa0dad-35be-5f56-a8ff-afceeeaa6101}.png",
		"name" : "Bash",
		"padding" : "0, 0, 0, 0",
		"snapOnInput" : true,
		"startingDirectory" : "%USERPROFILE%\\Desktop",
		"useAcrylic" : true
	     }
        ]
    },

    // Add custom color schemes to this array.
    // To learn more about color schemes, visit https://aka.ms/terminal-color-schemes
    "schemes": [],

    // Add custom keybindings to this array.
    // To unbind a key combination from your defaults.json, set the command to "unbound".
    // To learn more about keybindings, visit https://aka.ms/terminal-keybindings
    "keybindings":
    [
        // Copy and paste are bound to Ctrl+Shift+C and Ctrl+Shift+V in your defaults.json.
        // These two lines additionally bind them to Ctrl+C and Ctrl+V.
        // To learn more about selection, visit https://aka.ms/terminal-selection
        { "command": {"action": "copy", "singleLine": false }, "keys": "ctrl+c" },
        { "command": "paste", "keys": "ctrl+v" },

        // Press Ctrl+Shift+F to open the search box
        { "command": "find", "keys": "ctrl+shift+f" },

        // Press Alt+Shift+D to open a new pane.
        // - "split": "auto" makes this pane open in the direction that provides the most surface area.
        // - "splitMode": "duplicate" makes the new pane use the focused pane's profile.
        // To learn more about panes, visit https://aka.ms/terminal-panes
        { "command": { "action": "splitPane", "split": "auto", "splitMode": "duplicate" }, "keys": "alt+shift+d" }
    ]
}

now any command which I need to test execute its run on Git Bash by default. that’s increased the compatibility and workaround hassle which we faced a lot when working windows and Linux environment same time.

Future I will be going in-depth on how Windows subsystem for Linux actually help admin to manage and maintain all environment on Single System.   Still, As my preferred distro, I always go with (GNU/Linux).