Выполнение программ Linux (WSL) из среды Windows

3

Я установил gitвнутри WSL и когда я вызываю программу, она показывает одно сообщение об ошибке:

перевод: не является действительным приложением Win32

Мое намерение состоит в том, чтобы заменить понемногу такие инструменты, как cygwin , Git для Windows и другие, инструментами, установленными внутри WSL.

перевод: невозможно / невозможно выполнить двоичный файл

gzinho
источник
2
Я бы не стал запускать программы Linux из WSL внутри программы Windows; вам понадобятся приложения Win32, а не приложения WSL, для работы с инструментами Windows. Хотя есть Git для Windows , и я знаю, что он работает.
Томас Уорд
Примечание для модов / рецензентов: что я перенес это из Ask Ubuntu, потому что здесь спрашивается «Как я могу использовать программу WSL из родной программы Windows», что было бы оффтопом в Ask Ubuntu, поскольку оно задает вопрос Windows, а не Linux вопрос.
Томас Уорд
Можете ли вы обернуть его внутри *.shфайла и вызвать этот скрипт в вашей программе?
phuclv
git работает "отлично" под WSL .. под "хорошо" я имею в виду медленнее, чем грязь ... но он работает на 100%
сеньор CMasMas

Ответы:

6

Вы не должны получать доступ к файлам и утилитам Linux напрямую из приложений Windows . Так что давать путь напрямую - не очень хорошая вещь.

Вы должны вызывать его как bash -c "git"или, если необходимо, поместить вызов в пакетный файл, чтобы приложение Windows вызывало этот файл вместо приложения Linux.

Вам также нужно перевести путь между Windows и Linux, потому что git в WSL не будет понимать такие вещи, как D:\my project\src. Ранее преобразование должно было быть выполнено вручную, однако wslpathдля этой цели MS включила начиная с Windows 10 1803.

Вы также можете установить дополнение, чтобы выполнить весь перевод и тяжелую работу за вас. В VSCode есть wslgit, а в JetBrains есть платформа поддержки WSL . Я не уверен насчет Android Studio, но этот ответ предполагает, что можно использовать gitwrap

Читать дальше Взаимодействие между Windows и Bash

phuclv
источник
Hrrrmmm .. Я делаю это ВСЕ ВРЕМЯ .. Что вы не хотите редактировать, так это файлы под виртуальными путями, которые НЕ ЗАПУСКАЮТСЯ в / mnt / *. Вы можете выполнить команду windows, передать команду linux и передать ее обратно команде windows. Я использую Linux NetBeans под Windows и редактирую файлы с обеих сторон. Что может сбить с толку, так это если чувствительность к регистру будет включена, не зная об этом ..
Сеньор CMasMas
1

Я не смог заставить его работать от IntelliJ. Даже с оболочкой тест в IntelliJ продолжал жаловаться. Вы можете следовать этому руководству, чтобы запустить IntelliJ из WSL: https://gist.github.com/wsargent/072319c2100ac0aea4305d6f6eeacc08

Сам не пробовал, но ходят слухи, что он отстает.

MrSpock
источник