Maximus5 / ConEmu

Customizable Windows terminal with tabs, splits, quake-style, hotkeys and more
https://conemu.github.io/
BSD 3-Clause "New" or "Revised" License
8.53k stars 571 forks source link

Wont run on latest windows insider build (for WSL 2) #1930

Open identityope opened 5 years ago

identityope commented 5 years ago

I've upgraded to WSL 2 and ConEmu can't be started

image

https://devblogs.microsoft.com/commandline/wsl-2-is-now-available-in-windows-insiders/

Versions

ConEmu build: 190331 x64 OS version: Windows 10 Pro Build 18917

sarim commented 3 years ago

It seems that only mouse scrolling in tmux by "Send mouse events to console" doesn't work with this wslbridge2 solution (just nothing happens although selecting by mouse seems to work). Not a big problem for me, just a reference.

yeah and there are other little stuffs too. Like when tab completing a filename in bash, somehow terminal is not aware of its full width, and line breaks abnormally. Progress bars like apt/wget breaks and starts to print each new % update in new lines.... But these are hard to reproduce, I guess somehow things break after working on a terminal for some time and running different tools creates those side effects .....

Right now i'm using wsltty (mintty), feels very constrained after using conemu.....

So because of these issues I described before around Jun, I moved to wsltty (mintty). Few weeks ago I came back to conemu as wslbridge2 had some updated in the meantime. Seems like most of the issues are fixed, but I managed to capture one issue. This has been happening fairly regularly.

image

Here I pressed Ctrl + R, then I typed ssh. Look at [2] marked arrow, the ss is in line 1, and the h is in line 2. Bash found a command for ss, but it was not rendered properly. Rest of is cut of, marked by arrow [1] . then for ssh, the command rendered broken in line 2.

Here is another two screenshot from wsltty. Here everything rendered properly.

image

image

Edit: The two number in [ : ] in my bash prompt is \$COLUMNS:\$LINES. I added it recently to see if bash really knows it has a big window.

sarim commented 3 years ago

@Biswa96 This doesn't happen in wsltty / mintty. You would not be able to reproduce it in mintty. This happens only in conemu.

This is the conemu task

set "PATH=%ConEmuBaseDirShort%\wsl;%PATH%" & %ConEmuBaseDirShort%\conemu-cyg-64.exe %ConEmuBaseDirShort%\wsl\wslbridge2.exe -cur_console:pm:/mnt -new_console:C:"C:\Program Files\WindowsApps\CanonicalGroupLimited.Ubuntu18.04onWindows_2020.1804.7.0_x64__79rhkp1fndgsc\ubuntu1804.exe" -eConEmuBuild -eConEmuPID -eConEmuServerPID -l

wslbridge2.exe is downloaded from https://github.com/Biswa96/wslbridge2/releases/tag/v0.7. Contents of that zip was unzipped into C:\Program Files\ConEmu\ConEmu\wsl

Conemu uses a cgywin bridge -> conemu-cyg-64.exe to communicate. So conemu -> conemu-cyg-64.exe -> wslbridge2.exe -> wsl2/bash. Thats the whole pipeline. Not sure where the issue is.

earshinov commented 3 years ago

I've fixed the issue by doing this:

  1. Download latest cygwin1-20200531.dll.xz from https://cygwin.com/snapshots/ and unpack the file as cygwin1.dll into ConEmu\wsl\ (replacing the original file there)
  2. Download @Biswa96's wslbridge2 from https://github.com/Biswa96/wslbridge2/releases and unpack to the same directory
  3. Replacing {WSL::bash} task's Command with:
set "PATH=%ConEmuBaseDirShort%\wsl;%PATH%" & %ConEmuBaseDirShort%\conemu-cyg-64.exe %ConEmuBaseDirShort%\wsl\wslbridge2.exe -cur_console:pm:/mnt -eConEmuBuild -eConEmuPID -eConEmuServerPID -l

Can someone please help me with this solution? I get

-sh: 6: export: Files/ConEmu/ConEmu/Scripts:/mnt/c/Program: bad variable name

and the running shell is sh instead of bash... I have no idea where line 6 mentioned in the error message comes from.

Maximus5 commented 3 years ago

@earshinov This looks like badly formed PATH variable. I don't know who is doing that bad transfer (wslbridge2 or wsl itself). As a quick fix you may try to configure Environment eliminating all paths containing spaces. E.g. replace %ConEmuBaseDir%\Scripts; with %ConEmuBaseDirShort%\Scripts;. But I bet there are other paths with spaces in your system PATH variable (those from C:\Program Files\...).

earshinov commented 3 years ago

I am not sure what it was, but:

sarim commented 3 years ago

I see in @Maximus5's recent commits, conemu is creating wsl distro tasks with wsl.exe. Is it stable than wslbridge2? Is microsoft's ConPTY (and its integration in conemu) good enough that we don't need cygwin/wslbridge bridges anymore?

LesterCovax commented 3 years ago

I personally never switched to the alternative solutions. The workarounds myself and others posted worked fine. Depends on your specific use-case I'd imagine. Just test it out...

On Thu, Jan 28, 2021, 10:03 AM Sarim Khan notifications@github.com wrote:

I see in @Maximus5 https://github.com/Maximus5's recent commits, conemu is creating wsl distro tasks with wsl.exe. Is it stable than wslbridge2? Is microsoft's ConPTY (and its integration in conemu) good enough that we don't need cygwin/wslbridge bridges anymore?

— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub https://github.com/Maximus5/ConEmu/issues/1930#issuecomment-769145148, or unsubscribe https://github.com/notifications/unsubscribe-auth/AIJ4OMRUYLDDC3FP4G7YJZ3S4F4CZANCNFSM4HYPBZTA .

PrestonTaylor commented 3 years ago

For anyone who hasn't already resolved this for themselves - I found that installing the version 3.3.0 of wslbridge from https://github.com/mintty/wsltty/releases/tag/3.3.0 resolved my issues.

NOTE: I did already have a special wsltty task setup (maybe I started using wsltty before official support was there in conemu?) Command for the task is: %USERPROFILE%\AppData\Local\wsltty\bin\mintty.exe --WSL="Ubuntu-18.04" --configdir="%USERPROFILE%\AppData\Roaming\wsltty" -~

This is like magic. Forget WSLbridge(2), this solves all issues for me including vim wiping out my buffer, scrolling, arrow keys, vim colors flashing depending on cursor position and more. The number of hours I've spent futzing with wslbridge1/2... ugh. Thank you!!!