microsoft / terminal

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

drag/drop gives wrong path in Canonical's Ubuntu profiles #14233

Open Sandbox-125 opened 1 year ago

Sandbox-125 commented 1 year ago

Description of the new feature/enhancement

While dragging a file into the terminal the path it generates becomes unusable in wsl. Shouldn't it generate the path from the mount point of wsl?

Proposed technical implementation details (optional)

j4james commented 1 year ago

This sounds like a duplicate of #1772.

DHowett commented 1 year ago

It would... but i'm not sure why that issue is still open (i'm betting that it's explained in the issue, and I haven't yet read it :P) We do have path drag/drop translation for WSL. It only works when you are running a WSL profile that has been untouched by (say) Canonical's Ubuntu fragment.

@Sandbox-125 can you share your settings file? what profile are you using? what path are you expecting, and what path are you getting?

ghost commented 1 year ago

This issue has been automatically marked as stale because it has been marked as requiring author feedback but has not had any activity for 4 days. It will be closed if no further activity occurs within 3 days of this comment.

Sandbox-125 commented 1 year ago

@DHowett I'm running an untouched Ubuntu wsl profile.

This is the settings file 👉settings.txt. The path I'm expecting is /mnt/c/something.txt instead of C:\something.txt.

zadjii-msft commented 1 year ago

Yep, that checks out. You're running the CanonicalGroupLimited.Ubuntu_79rhkp1fndgsc Ubuntu profile, not the Windows.Terminal.Wsl one. We can't translate paths for the profiles that Canonical generates - we can only do it for the ones we generate. This is kinda a riff on #12961 - or, is the same root cause. We need to work out with them how they can better customize the existing WSL profiles rather than redefining their own.

zadjii-msft commented 1 year ago

Based on the existence of #14003, I'm gonna leave this open as a separate bug. I've got a running comment in https://github.com/microsoft/terminal/issues/14003#issuecomment-1247962707 tracking all sorts of issues that the Canonical profiles have.

Jaxkr commented 10 months ago

Hey @zadjii-msft and @DHowett, following up on this issue because it caused me a few hours of frustration.

I completely reinstalled WSL in an attempt to get a Windows.Terminal.Wsl source profile instead of a CanonicalGroup one. I tried everything, the Store version, installing from CLI, every possible way to get WSL Ubuntu. I could NOT get anything but the CanonicalGroup one.

Ended up giving up and switching to Debian and dragging files worked perfectly again.

My question: Is it even possible to install an Ubuntu profile that works correctly with file translation? If so, how?

zadjii-msft commented 10 months ago

I completely reinstalled WSL in an attempt to get a Windows.Terminal.Wsl source profile

I'd reckon what transpired, is that the terminal left a "tombstone" entry in the state.json file (which lives next to settings.json). At some point, we determined that the ubuntu distro didn't exist, but we erroneously marked it as deleted. Basically, you're seeing #14061.

You could clear out the profile guids from state.json, and the profile will probably re-generate.

Jaxkr commented 10 months ago

You could clear out the profile guids from state.json, and the profile will probably re-generate.

This worked. Reinstalled ubuntu after doing this and my Penguin-icon-having Ubuntu with working path translation was back. It was hidden from the dropdown by default but it came back!

Thanks for all the work you do on Windows Terminal. I used to use ConEmu but I've switched over completely.