Крутые лайфхаки для работы с WSL (Подсистема Windows для Linux )
Я глубоко погружен в WSL (Windows Subsystem для Linux), и теперь, когда WSL2 доступен в Windows Insiders, это отличное время, чтобы по-настоящему изучить доступные опции. Очень интересная фича, которую я нашел в WSL, — возможность «чисто» перемещать данные между мирами. Это не тот опыт, который вы легко можете получить с полноценными виртуальными машинами, и он говорит о тесной интеграции Linux и Windows.
Под катом подробнее о некоторых интересных вещах, которые вы можете делать, смешивая арахисовое масло и шоколад!
Запустите Windows Explorer из Linux и получите доступ к файлам вашего дистрибутива
Когда вы находитесь в командной строке WSL / bash и хотите получить визуальный доступ к своим файлам, вы можете запустить «explorer.exe .», где находится текущий каталог, и вы получите окно проводника Windows, в котором ваши файлы Linux будут доставлены вам через сервер локальной сети plan9.
Используйте настоящие команды Linux (не CGYWIN) из 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.
Виртуальные машины являются ресурсоемкими и создают очень независимый опыт.
Исходный WSL был очень «подключенным», но имел довольно низкую производительность по сравнению с VM.
WSL 2 предлагает гибридный подход с облегченными VM, полностью подключенным интерфейсом и высокой производительностью.
Запуск нескольких Linux в считанные секунды
Здесь я использую «wsl —list —all», и в моей системе уже есть три Linux.
C:Usersscott>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.
Вот и все. Получите идеальную настройку Linux, синхронизированную на всех ваших системах.
Используйте провайдер учетных данных Windows Git внутри WSL
Все перечисленные фичи переткают в кульминацию в этом крутом посте от Ana Betts, где она интегрирует Windows Git Credential Provider в WSL, превращая /usr/bin/git-credential-manager в сценарий оболочки, который вызывает диспетчер git creds Windows. Гениально. Это было бы возможно только при условии чистой и тесной интеграции.