microsoft / terminal

The new Windows Terminal and the original Windows console host, all in the same place!
MIT License
95.95k stars 8.35k forks source link

PowerShell profile runs WSL instead? #5557

Closed dudeofawesome closed 4 years ago

dudeofawesome commented 4 years ago

I've just updated (and refreshed my settings.json) and now my PowerShell 7 profile doesn't seem to work. Instead of launching pwsh it launches wsl.

Environment

Windows build number: `10.0.18363.0`
Windows Terminal version: `0.11.1121.0`
PWSH version: `7.0.0`

Steps to reproduce

Here's my settings.json.

// This file was initially generated by Windows Terminal 0.11.1121.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": "{2c4de342-38b7-51cf-b940-2309a097f518}",

    // 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.
            "useAcrylic" : false,
            "acrylicOpacity" : 0.5,
            "closeOnExit" : true,
            "colorScheme" : "Dracula",
            "commandline" : "wsl.exe -d Ubuntu",
            "cursorColor" : "#FF00FF",
            "cursorShape" : "bar",
            "fontFace" : "Fira Code",
            "fontSize" : 10,
            "historySize" : 9001,
            "padding" : "0, 0, 0, 0",
            "snapOnInput" : true
        },
        "list": [
            {
                "guid": "{2c4de342-38b7-51cf-b940-2309a097f518}",
                "name": "WSL",
                "hidden": false,
                "source": "Windows.Terminal.Wsl"
            },
            {
                "guid": "{574e775e-4f2a-5b96-ac1e-a2962a402336}",
                "name": "PowerShell",
                "hidden": false,
                "source": "Windows.Terminal.PowershellCore"
            },
            {
                "guid": "{0caa0dad-35be-5f56-a8ff-afceeeaa6101}",
                "name": "cmd",
                "hidden": false,
                "commandline": "cmd.exe",
                "colorScheme" : "Campbell"
            },
            {
                "guid": "{61c54bbd-c2c6-5271-96e7-009a87ff44bf}",
                "name": "PowerShell Legacy",
                "hidden": true,
                "commandline": "powershell.exe"
            },
            {
                "guid": "{b453ae62-4e3d-5e58-b989-0a998ec441b8}",
                "name": "Azure Cloud Shell",
                "hidden": true,
                "source": "Windows.Terminal.Azure"
            },
            {
                "guid": "{6e9fa4d2-a4aa-562d-b1fa-0789dc1f83d7}",
                "name": "Legacy WSL",
                "hidden": true,
                "source": "Windows.Terminal.Wsl"
            }
        ]
    },

    // Add custom color schemes to this array.
    // To learn more about color schemes, visit https://aka.ms/terminal-color-schemes
    "schemes": [
        {
            "name" : "Dracula",
            "background" : "#272935",
            "black" : "#21222C",
            "blue" : "#BD93F9",
            "cyan" : "#8BE9FD",
            "foreground" : "#F8F8F2",
            "green" : "#50FA7B",
            "purple" : "#FF79C6",
            "red" : "#FF5555",
            "white" : "#F8F8F2",
            "yellow" : "#FFB86C",
            "brightBlack" : "#6272A4",
            "brightBlue" : "#D6ACFF",
            "brightCyan" : "#A4FFFF",
            "brightGreen" : "#69FF94",
            "brightPurple" : "#FF92DF",
            "brightRed" : "#FF6E6E",
            "brightWhite" : "#F8F8F2",
            "brightYellow" : "#FFFFA5"
        }
    ],

    // 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" }
    ]
}

Expected behavior

Opening a new terminal tab to the PowerShell profile should open the PowerShell profile.

Actual behavior

Opening a new terminal tab to the PowerShell profile opens WSL (with the PowerShell icon).

DHowett-MSFT commented 4 years ago

Fascinating! Can you share the process tree (from task manager's Processes view, or--better yet--from Process Explorer if you have it) for Windows Terminal with only one of these weird hybrid wsl/pwsh tabs open?

sin9yt commented 4 years ago

I pretty much have the same issue(v0.11.1121.0), it's not honoring the default profile guid. I've set it to use the cmd.exe profile, after this update it loads the PowerShell profile irrespective of default profile setting. The problem started after this update.

DHowett-MSFT commented 4 years ago

@sin9yt your problem is clearly not "my powershell profile runs WSL instead" -- you want to move to #5458

I'm going to mark this comment and your comment as hidden/resolved.

DHowett-MSFT commented 4 years ago

Oh, you put "wsl -d Ubuntu" in your commandline. That means that ALL PROFILES will run WSL.

DHowett-MSFT commented 4 years ago

(The things inside "defaults" apply to every single profile.)

dudeofawesome commented 4 years ago

Ha! Yup! That would do it. Showed up in this version because I changed my settings.json to take advantage of the new global settings. Thanks.