mirror of https://github.com/microsoft/WSL
wsla: Various improvements in the debug shell (#13920)
* wsla: Various improvements in the debug shell * Update src/windows/common/WslClient.cpp Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com> --------- Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
This commit is contained in:
parent
40514aa9de
commit
170bb8f3cc
|
|
@ -22,7 +22,7 @@
|
|||
<package id="Microsoft.WSL.Kernel" version="6.6.114.1-1" targetFramework="native" />
|
||||
<package id="Microsoft.WSL.LinuxSdk" version="1.20.0" targetFramework="native" />
|
||||
<package id="Microsoft.WSL.TestDistro" version="2.5.7-47" />
|
||||
<package id="Microsoft.WSL.WslaRootfs" version="0.1.0" />
|
||||
<package id="Microsoft.WSL.WslaRootfs" version="0.1.2" />
|
||||
<package id="Microsoft.WSLg" version="1.0.71" />
|
||||
<package id="Microsoft.Xaml.Behaviors.WinUI.Managed" version="3.0.0" />
|
||||
<package id="StrawberryPerl" version="5.32.1.1" />
|
||||
|
|
|
|||
|
|
@ -1538,7 +1538,7 @@ int WslaShell(_In_ std::wstring_view commandLine)
|
|||
sessionSettings.BootTimeoutMs = 30 * 1000;
|
||||
sessionSettings.MaximumStorageSizeMb = 4096;
|
||||
|
||||
std::string shell = "/bin/sh";
|
||||
std::string shell = "/bin/bash";
|
||||
|
||||
std::string containerImage;
|
||||
bool help = false;
|
||||
|
|
@ -1631,19 +1631,14 @@ int WslaShell(_In_ std::wstring_view commandLine)
|
|||
Info.cbSize = sizeof(Info);
|
||||
THROW_IF_WIN32_BOOL_FALSE(::GetConsoleScreenBufferInfoEx(Stdout, &Info));
|
||||
|
||||
wsl::windows::common::WSLAProcessLauncher launcher{shell, {shell}, {"TERM=xterm-256color"}, ProcessFlags::None};
|
||||
if (containerImage.empty())
|
||||
{
|
||||
wsl::windows::common::WSLAProcessLauncher launcher{shell, {shell, "--login"}, {"TERM=xterm-256color"}, ProcessFlags::None};
|
||||
launcher.AddFd(WSLA_PROCESS_FD{.Fd = 0, .Type = WSLAFdTypeTerminalInput});
|
||||
launcher.AddFd(WSLA_PROCESS_FD{.Fd = 1, .Type = WSLAFdTypeTerminalOutput});
|
||||
launcher.AddFd(WSLA_PROCESS_FD{.Fd = 2, .Type = WSLAFdTypeTerminalControl});
|
||||
launcher.SetTtySize(Info.srWindow.Bottom - Info.srWindow.Top + 1, Info.srWindow.Right - Info.srWindow.Left + 1);
|
||||
|
||||
if (containerImage.empty())
|
||||
{
|
||||
wsl::windows::common::WSLAProcessLauncher launcher{shell, {shell}, {"TERM=xterm-256color"}, ProcessFlags::None};
|
||||
launcher.AddFd(WSLA_PROCESS_FD{.Fd = 0, .Type = WSLAFdTypeTerminalInput});
|
||||
launcher.AddFd(WSLA_PROCESS_FD{.Fd = 1, .Type = WSLAFdTypeTerminalOutput});
|
||||
launcher.AddFd(WSLA_PROCESS_FD{.Fd = 2, .Type = WSLAFdTypeTerminalControl});
|
||||
|
||||
process = launcher.Launch(*session);
|
||||
}
|
||||
else
|
||||
|
|
@ -1659,6 +1654,8 @@ int WslaShell(_In_ std::wstring_view commandLine)
|
|||
containerOptions.Name = "test-container";
|
||||
containerOptions.InitProcessOptions.Fds = fds.data();
|
||||
containerOptions.InitProcessOptions.FdsCount = static_cast<DWORD>(fds.size());
|
||||
containerOptions.InitProcessOptions.TtyColumns = Info.srWindow.Right - Info.srWindow.Left + 1;
|
||||
containerOptions.InitProcessOptions.TtyRows = Info.srWindow.Bottom - Info.srWindow.Top + 1;
|
||||
|
||||
container.emplace();
|
||||
THROW_IF_FAILED(session->CreateContainer(&containerOptions, &container.value()));
|
||||
|
|
|
|||
Loading…
Reference in New Issue