Под катом подробнее о некоторых интересных вещах, которые вы можете делать, смешивая арахисовое масло и шоколад!
Запустите Windows Explorer из Linux и получите доступ к файлам вашего дистрибутива
Когда вы находитесь в командной строке WSL / bash и хотите получить визуальный доступ к своим файлам, вы можете запустить «explorer.exe .», где находится текущий каталог, и вы получите окно проводника Windows, в котором ваши файлы Linux будут доставлены вам через сервер локальной сети plan9.
Используйте настоящие команды Linux (не CGYWIN) из Windows
Я уже писал об этом раньше, но теперь есть алиасы для функций PowerShell, которые позволяют вам использовать настоящие команды Linux изнутри Windows.
Вы можете вызвать любую команду Linux напрямую из DOS/Windows/чего угодно, просто поместив ее после WSL.exe, вот так.
C:\temp> wsl ls -la | findstr "foo"
-rwxrwxrwx 1 root root 14 Sep 27 14:26 foo.bat
C:\temp> dir | wsl grep foo
09/27/2016 02:26 PM 14 foo.bat
C:\temp> wsl ls -la > out.txt
C:\temp> wsl ls -la /proc/cpuinfo
-r--r--r-- 1 root root 0 Sep 28 11:28 /proc/cpuinfo
C:\temp> wsl ls -la "/mnt/c/Program Files"
...contents of C:\Program Files...
Исполняемые файлы Windows можно вызывать/запускать из WSL/Linux, поскольку путь к Windows находится в $PATH до Windows. Все, что вам нужно сделать, это явно вызвать его с .exe в конце. Вот как работает «Explorer.exe.». Вы также можете сделать notepad.exe или любой другой файл.
Запустите Visual Studio Code и получите доступ к вашим приложениям Linux нативно на Windows
Вы можете запустить «code.», находясь в папке в WSL, и вам будет предложено установить расширения VS Remote.. Это эффективно разделяет Visual Studio Code пополам и запускает «headless» VS Code Server в Linux с клиентом VS Code в мире Windows.
Вам также необходимо установить Visual Studio Code и расширение Remote — WSL. При желании, установите бета-версию Windows Terminal для лучшего опыта работы с терминалом в Windows.
Вот отличная подборка статей из блога Windows Command Line.
- Часть 1 Поднимите опыт разработки Linux под Windows на новый уровень с помощью WSL и Visual Studio Code Remote.
- Часть 2 Углубленное руководство по разработке Linux для Windows с WSL и Visual Studio Code
- Часть 3 Советы и рекомендации по разработке Linux с использованием WSL и Visual Studio Code
Вот преимущества WSL 2
- Виртуальные машины являются ресурсоемкими и создают очень независимый опыт.
- Исходный WSL был очень «подключенным», но имел довольно низкую производительность по сравнению с VM.
- WSL 2 предлагает гибридный подход с облегченными VM, полностью подключенным интерфейсом и высокой производительностью.
Запуск нескольких Linux в считанные секунды
Здесь я использую «wsl --list --all», и в моей системе уже есть три Linux.
C:\Users\scott>wsl --list --all
Windows Subsystem for Linux Distributions:
Ubuntu-18.04 (Default)
Ubuntu-16.04
Pengwin
Я могу легко запустить их, а также назначить профили, чтобы они появлялись в моем Windows Terminal.
Запустите X Windows Server под Windows с Pengwin
Pengwin -- это специальный Linux-дистрибутив WSL, который очень крут. Вы можете получить его в Windows Store. Объедините Pengwin с X Server, например X410, и вы получите очень классную интегрированную систему.
Простое перемещение дистрибутивов WSL между системами Windows.
Ana Betts отмечает эту замечательную технику, с помощью которой вы можете легко перенести свой идеальный дистрибутив WSL2 с одной машины на n машин.
wsl --export MyDistro ./distro.tar
# разместите его где-нибудь, Dropbox, Onedrive, где-то еще
mkdir ~/AppData/Local/MyDistro
wsl --import MyDistro ~/AppData/Local/MyDistro ./distro.tar --version 2
Вот и все. Получите идеальную настройку Linux, синхронизированную на всех ваших системах.
Используйте провайдер учетных данных Windows Git внутри WSL
Все перечисленные фичи переткают в кульминацию в этом крутом посте от Ana Betts, где она интегрирует Windows Git Credential Provider в WSL, превращая /usr/bin/git-credential-manager в сценарий оболочки, который вызывает диспетчер git creds Windows. Гениально. Это было бы возможно только при условии чистой и тесной интеграции.
Пробуйте, устанавливайте WSL, Windows Terminal, и создавайте блестящую среду Linux на Windows..
Комментарии (30)
tumbler
21.11.2019 10:57+1Круто. А зачем?
xkondorx
21.11.2019 11:27+1Чтобы постепенно стереть границу между Windows и Linux. Например при необходимости работы с специфическим софтом который есть только под одну ОС. Но выглядит пока не «user friendly»
nikitasius
22.11.2019 15:57-2Границу между Windows и Linux?
Полноте. Сравнили ж… закрытый код и открытый код. Это надо стирать, открывая для всех.А так — простая симуляция и эмуляция опенсорсного и известного в проприетарном и неизвестном.
Я бы в одном лесу на Windows работать не стал, и печеньки бы свои ей (=им, Microsoft) не отдал. Поэтому не стоит так сильно радоваться новостям маркетологов, на то они и маркетологи, им важно продать продукт, показав лишь вершину. Обычным юзерам этого хватит, но им и не нужен линукс.
А профессионалы своего дела (разработки или безопасности) выберут обычный, открытый и безопасный линукс. А не то, WSL в мешке.
tangro
21.11.2019 12:02+4Некоторые задачи значительно удобнее делать в командной строке Linux. При этом есть куча программистов, которые могут делать свою основную работу только под Windows (специфика сферы). Теперь разницы почти нет. Работаешь себе в Windows, нужен тебе какой-нибудь grep или awk — запустил в один клик WSL и юзаешь.
worldmind
21.11.2019 14:48иногда копроративная политика требует юзания винды, такие вещи могут спасти, но первый WSL был не годен, второй пока не пробовал.
Balling
21.11.2019 19:36«А зачем?» Вы хоть в курсе, сколь людей этим уже пользуются? Даже я постоянно пользую vmware с ssd диском физическим, подключенным к ней. (Ну чтобы можно было грузить и как boot, и через vmware.) Но многим прикольнее из коробки пользовать. Кстати, кто в курсе, что можно грузиться с usb-c в видекартах Turing? Sata--usb-c и вперед))) очень удобно, там ведь уже usb 10 gbit))
Mako_357
21.11.2019 16:59-1Еще бы был нормальный терминал под винду с поддержкой wsl
gabaruga
22.11.2019 10:56+1В качестве «нормального терминала под винду» можно посмотреть на Windows Terminal.
Mako_357
28.11.2019 11:37-1Поставил, поюзал. Он классный, быстрый. Но у него нет встроенного менеджера ssh соединений. Я уже думаю самому что ли на баше написать что ли.
Alekcander
22.11.2019 10:56попробуйте github.com/Eugeny/terminus
Далеко не идеален но с wsl справляется неплохо
Deissh
22.11.2019 10:56Их куча, как только появился wsl первой версии. Например Cmder или новый Windows Terminal.
overmind88
22.11.2019 13:15+1C нормальными терминалами действительно сложно, я пока для себя ничего лучше mobaxterm не нашёл
gsaw
21.11.2019 20:32+2Я даже из-за подсистемы линукс решил таки после 18 лет использования линуксов на домашнем компе пересесть на windows10. Подсистема конечно слишком медленна из за высокой степени абстракции (я про первую версию) но работать можно. Я более менее успешно переехал с реактом + nodejs. В итоге конечно вернулся на линукс где то месяца через три, но по другим причинам. Не умею я в винду. Но подсистема линукс норм. Докер тоже помогает.
А перевод да, трудночитаем
mm3
22.11.2019 09:38А WSL разве уже доступен для всех редакций Windows 10 в том числе и Home?
И для своей установки WSL перестал требовать LiveID и доступ к Windows Store?ahnyava
22.11.2019 11:32LiveID не нужен. Store работает без него.
Чтобы скачать и установить предпочтительные дистрибутивы, у вас есть три варианта:
1. Скачайте и установите их из Microsoft Store (см. ниже).
2. Скачайте и установите их с помощью командной строки или сценария (ознакомьтесь с инструкциями по установке вручную).
3. Скачайте их, а затем вручную распакуйте и установите (инструкции для Windows Server доступны здесь).
Про WSL и Home писали тут.
antoo
С таким переводом знакомиться со статьей лучше в оригинале. При всем уважении к автору — вообще никакой адаптации под язык, машинный перевод буквально в каждом абзаце.
Статья, как пользователю Linux, мне интересна, но абсолютно пропадает желание читать.