Программирование на Python и Objective-C в Mac OS

Программирование на Python и Objective-C под Mac OS и для iPhone / iPod Touch

Подсистема linux windows 10: Установка WSL в Windows 10 | Microsoft Docs

Содержание

Подсистема Windows для Linux 2 (WSL2) стала доступна на ОС Windows 10 версии 1903 и версии 1909 / Хабр

20 августа 2020 года Microsoft выпустила кумулятивное обновление KB4566116. После установки этого патча пользователи ОС Windows 10 версии 1903 и версии 1909 могут установить вторую версию подсистемы Windows для Linux (WSL 2). Ранее обновленная версия WSL была доступна только в Windows 10 версии 2004.


С помощью WSL 2 можно запускать в Windows 10 не только консольные приложения, но и линуксовые GUI-программы. Предлагаемое Microsoft для WSL2 ядро основано на выпуске ядра Linux 4.19.

Инструкция по установке подсистемы Windows для Linux и обновению до WSL 2. Также можно установить различные версии дистрибутивов Linux на WSL 1 или WSL 2, например, Kali Linux с графическим интерфейсом с помощью надстройки Win-Kex (Windows + Kali Desktop EXperience). Сейчас еще доступны в каталоге Microsoft Store для установки в WSL: Ubuntu, Debian GNU/Linux, Fedora, Alpine, SUSE и openSUSE.

Сравнение версий WSL 1 и WSL 2.

Как активировать подсистему Windows для Linux.

Открыть PowerShell (сейчас и далее под администратором) и запустить:

Enable-WindowsOptionalFeature -Online -FeatureName Microsoft-Windows-Subsystem-Linux

Перезагрузить ПК.

Открыть PowerShell и запустить:

dism.exe /online /enable-feature /featurename:VirtualMachinePlatform /all /norestart
dism.exe /online /enable-feature /featurename:Microsoft-Windows-Subsystem-Linux /all /norestart

Перезагрузить ПК.

Далее необходимо скачать и установить WSL2.

Потом нужно открыть PowerShell и запустить:

wsl --set-default-version 2

Далее нужно установить нужную версию Linux из магазина Microsoft Store.

Чтобы поменять тип установки установленной версии Linux с WSL1 на WSL2 нужно в PowerShell запустить:

wsl --set-version "dist Name Linux" 2

См. также:

Установка и использование подсистемы Linux (WSL 2) в Windows 10

Windows Subsystem for Linux (WSL) — подсистема ОС Windows 10, позволяющая разработчикам, тестировщикам запускать нативные приложения Linux, писать скрипты, выполнять команды непосредственно из Windows. В обновлённой Windows 10 (2004) появилась 2я версия WSL, в которой используется полноценное ядро Linux с возможностью запуска приложений и контейнеров Docker, реализована высокая скорость загрузки, небольшой объем потребляемых ресурсов, управление в фоновом режиме, обновление ядра. Таким образом вы сможете запускать ELF64 программы, которые могут получать доступ к файловой системе Windows без использования сторонних порто (таких как Cygwin).

Образ ядра Linux (версия ядра 4.19) в Windows 10 представляет собой легкую виртуальную машину, для запуска которой не нужно ставить полноценную роль Hyper-V. Системные вызовы Linux транслируются на лету в вызовы Windows без использования эмулятора (в отличии от WSL1).

Изначально компонент WSL отключен. Чтобы его включить, вам необходимо зайти в Пуск -> Панель управления -> Программы и компоненты -> Включение и отключение компонентов Windows (Control Panel\All Control Panel Items\Programs and Features\Turn Windows features on or off), активировать галочку Подсистема Windows для Linux (Windows Subsystem for Linux), нажать кнопку ОК, и перезагрузить компьютер.

Вы можете включить компоненты WSL в Windows 10 с помощью dism:

dism.exe /online /enable-feature /featurename:VirtualMachinePlatform /all /norestart
dism.exe /online /enable-feature /featurename:Microsoft-Windows-Subsystem-Linux /all /norestart

или PowerShell

Enable-WindowsOptionalFeature -Online -FeatureName Microsoft-Windows-Subsystem-Linux
Enable-WindowsOptionalFeature -Online -FeatureName VirtualMachinePlatform

В Windows Server 2004 Semi-Annual Channel (SAC) для установки компонента WSL используется командлет Install-WindowsFeature:

Install-WindowsFeature -Name Microsoft-Windows-Subsystem-Linux

После этого также необходимо перезагрузить компьютер.

В настройка BIOS/UEFI компьютера должна быть включена поддержка аппаратной виртуализации: Intel VT (Intel Virtualization Technology) или AMD-V.

Теперь вам нужно выполнить обновление WSL до версии 2. Для этого требуется зайти на сайт https://docs.microsoft.com/ru-ru/windows/wsl/wsl2-kernel, скачать файл wsl_update_x64.msi, установить его. По завершении увидите картинку

Чтобы сделать WSL2 архитектурой по умолчанию для новых дистрибутивов, в PowerShell выполните команду:

wsl --set-default-version 2

Далее вам необходимо открыть Microsoft Store, в поиске ввести слово “Linux”. В появившемся списке выберите нужный дистрибутив. Доступные Ubuntu, Debian, Kali Linux, Linux Cheatsheet, SUSE Linux Enterprise Server15, openSUSE Leap 15-1, Pengwin Enterprise, Fedora Remix for WSL или другие. В нашем примере мы будем использовать Ubuntu 20.04 LTS, нажмите кнопку Получить.

Если у вас отключен Windows Store или вы хотите установить дистрибутив WSL в Core редакции Windows Server, вы можете скачать дистрибутив Ubuntu с помощью PowerShell командлета Invoke-WebRequest:

Invoke-WebRequest https://aka.ms/wslubuntu2004 -OutFile ubuntu-2004.zip –UseBasicParsing

Распакуйте архив:

Expand-Archive -Path .\ubuntu-2004.zip

Запустите установку образа Linux с помощью файла Ubuntu.exe.

Также вы можете скачать образ в виде appx файла и установить его с помощью командлета Add-AppxPackage.

После установки можно проверить используемую версию WSL с помощью команды

wsl --list –-verbose

Если у вашей среды Linux указана версия 1, нужно изменить ее на WSL2 командой:

wsl --set-version Ubuntu-20.04 2

Файл жёсткого диска с образом виртуальной машины ОС Linux Ubuntu 20.04 будет располагаться в профиле пользователя: C:\Users\234\AppData\Local\Packages\CanonicalGroupLimited.Ubuntu20.04onWindows_79rhkp1fndgsc\LocalState.

После установки дистрибутива в стартовом меню появляется ярлык на него. Для запуска Ubuntu зайдите в меню Пуск, нажмите на соответствующем ярлыке и получите в отдельном окне полноценную командную оболочку Bash. Запускать WSL можно и с помощью команды wsl. При первом запуске образа в командной строке Bash вам будет предложено создать пользователя и пароль (которые не должны совпадать с учётной записью Windows). Чтобы выполнять команды с правами root, необходимо использовать дополнительный ключ (префикс) sudo. В WSL есть общие команды для Bash и CMD, и тут нужно не забывать, что система Linux чувствительна к регистру.

Вы можете выполнить Linux-команды из CMD. Для этого необходимо вначале указать “WSL”. Например, для просмотра списка файлов и папок в каталоге Windows, выполните:

wsl
ls /mnt
ls/mnt/c

dir | wsl grep Sa
wsl ls ‑la > 123.txt
wsl ls ‑la /proc/cpuinfo
wsl ls ‑la “/mnt/c/Program Files”

Также вы можете открыть проводник командой explorer.exe, калькулятор – calc.exe, блокнот – notepad.exe, paint – mspaint.exe, календарь – cal, погоду – curl wttr.in

Ещё один пример взаимосвязи 2х систем – вы можете открыть в Windows файл из WSL-дистрибутива по сетевому пути. Для этого в CMD наберите путь к файлу:

notepad \\wsl$\Ubuntu-20.04\home\1122.txt

Из окна консоли вы можете обновить список пакетов в Ubuntu с помощью команд:

sudo apt-get update
sudo apt-get upgrade

После обновления Ubuntu папка …/LocalState будет занимать 1.5 Гб.

Из командной строки Linux можно не только просмотреть Windows-файлы и каталоги, но и получить к ним доступ. Чтобы удобнее копировать файлы, просматривать директории и их содержимое, установите файловый менеджер Midnight Commander с помощью команды

sudo apt-get install mc

Вы можете запустить Midnight Commander как в командной оболочке Bash, так и внутри CMD. На скриншоте ниже показано, что в двух панелях MC показывается список файлов с обеих ОС.

Можно отобрахить сетевые настройки (IP адрес) IP-адрес Linux-системы:

ip addr | grep eth0

В WSL не предусмотрена работа приложений с графическим интерфейсом. Тем не менее вы можете попробовать их установить и использовать. Чтобы запускать графические приложения в Linux, нужно скачать и установить в Windows программу VcXsrv Windows X Server (https://sourceforge.net/projects/vcxsrv/).

С помощью пакетного менеджера apt-get установим несколько графических программ: например, браузер, текстовый редактор или что-то ещё:

sudo apt-get install gedit
sudo apt-get install firefox
sudo apt-get install x11-app

Затем создайте файл в директории root:

cd /~
vim .bash_login

впишите строку

export DISPLAY=$(cat /etc/resolv.conf | grep nameserver | awk '{print $2}'):0

сохраните запись

Esc -> :wr -> :q

Теперь можете запустить графические программы Linux через WSL командами:

firefox

или

gedit

Вы можете установить в Windows 10 несколько дистрибутивов Linux и запускать одновременно в разных окнах WSL. Вывести весь перечень установленных дистрибутивов можете с помощью команды:

wsl --list –all

чтобы завершить работу всех запущенных дистрибутивов и ядра WSL 2, выполните команду:

wsl --shutdown

Windows 10 научилась запускать «навороченные» Linux-программы с графикой

|

Поделиться


Тестировщики-добровольцы впервые получили доступ к сборке Windows 10, в которой реализован запуск приложений для Linux с графическим интерфейсом. Заявлены поддержка звука «из коробки», GPU-ускорения и «бесшовная» интеграция в Windows-окружение.

Linux-приложения в Windows

Microsoft начала тестирование новой функции операционной системы Windows 10, которая позволяет запускать приложения с графическим интерфейсом (GUI). Об этом сообщается в официальном блоге разработчиков Windows 10.

С появлением данной функции в Windows 10 пользователь получает возможность запускать практически любые Linux-программы, в том числе и «тяжелые» – к примеру, мощный симулятор роботов Gazebo. Как отмечает Microsoft, это, в первую очередь, будет полезно разработчикам кроссплатформенного ПО – сборка и тестирования программ станут для них гораздо проще.

Ранее для запуска GUI-приложений для Linux в Windows 10 было необходимо либо развертывать отдельную виртуальную машину, либо устанавливать специальный X-сервер для Windows 10 и настраивать его взаимодействие с подсистемой WSL.

Приложения для Windows и Linux вперемежку

Разработчики из Microsoft ставят своей целью сделать так, чтобы Linux-приложения «бесшовно» вписывались в окружение Windows. В частности, как утверждается в блоге, окна таких программ корректно отображаются в карусели, которая вызывается по нажатию клавиш Alt+Tab, а также на панели задач и могут сворачиваться в нее. Установленные Linux-приложения наравне с Windows-программами попадают в меню «Пуск». Обмен информацией через буфер обмена работает для программ под Linux и Windows одинаково и в обе стороны.

Стоит отметить, что, судя по опубликованным скриншотам, единообразия в стиле оформления окон разработчикам пока достичь не удалось – Linux-приложение легко отличить по стилю заголовка окна и кнопок управления его состоянием.

Заявлены поддержка воспроизведения звука и записи с микрофона «из коробки» в Linux-приложения. Кроме того, поддерживается аппаратное ускорение с помощью GPU, которое позволяет системе отрисовывать элементы интерфейса плавно и быстро, не нагружая центральный процессор.

Как это работает

Выполнение Linux-приложений c GUI обеспечивает компонент Windows 10, который разработчики называют WSLg – часть подсистемы Windows для Linux (Windows Subsystem for Linux, WSL).

Подсистема впервые появилась в Windows 10 в 2016 г., но позволяла запускать исключительно инструменты, взаимодействие с которыми осуществляется через консоль.

О разработке второй версии WSL Microsoft сообщила в мае 2019 г. Новое поколение подсистемы, в которую было включено уже полноценное ядро Linux, стало важной частью релиза Windows 10 2004, который состоялся в конце мая 2020 г. Тогда же Microsoft анонсировала будущую поддержку запуска Linux-приложений с графическим интерфейсом.

Архитектура WSLg

При запуске WSL автоматически стартует виртуальная машина, в которой развернуты дистрибутив по выбору пользователя и специально подготовленное Microsoft ядро Linux. Когда в дело вступает WSLg на арене появляется еще один дистрибутив – системный.

Телемедицина, нейрокомпьютерные интерфейсы и роботы: что ждет сферу социальных инноваций Москвы

Инновации и стартапы

Системный дистрибутив основан на CBL-Mariner Linux, внутренней разработке Microsoft, которая также обеспечивает работу облачных сервисов Azure. Это минимальная среда Linux, упакованная в контейнер и достаточная для запуска различных компонентов WSLg, таких как Pulse Audio-, Wayland-, X- и RDP-серверы. Эти компоненты могут взаимодействовать с клиентской частью (GUI-приложение в пользовательском дистрибутиве) через специальные каналы обмена данными (сокеты).

При запуске GUI-приложения Linux автоматически стартует встроенный в Windows 10 RDP-клиент mstsc.exe, который предназначен для подключения к удаленным рабочим столам, и устанавливает соединение с модифицированным RDP-бэкендом композитного менеджера Weston. Через RDP-клиент пользователю и видны запущенные в виртуальной машине GUI-приложения.

Кому доступно и как установить

Первыми оценить новую функцию смогут участники программы предварительного тестирования Windows Insiders. Для этого понадобится загрузить сборку Windows Insider build 21364 и установить WSL c помощью единственной консольной команды: “wsl —install -d Ubuntu”. В данном примере в качестве пользовательского дистрибутива будет установлен Ubuntu. После завершения первого этапа установки WSL потребуется перезагрузка Windows, по завершении которой будет предложено задать имя пользователя и пароль в Linux.

После этого в консоли WSL можно использовать подходящий пакетный менеджер для установки приложений. К, примеру, чтобы инсталлировать популярный медиаплеер Vlc, в Ubuntu понадобится следующая команда: “sudo apt install vlc”. Запуск программы осуществляется простым вводом названия ее исполняемого файла, в данном случае “vlc”.

Если планируется использовать GPU-ускорение, также понадобится драйвер видеокарты. Специальные сборки драйверов, обеспечивающие поддержку DirectX 12 в WSL-окружении, подготовлены AMD, Nvidia и Intel и доступны для загрузки на официальных сайтах этих компаний.

Дмитрий Степанов

В Windows 10 появилась поддержка любых приложений Linux

|

Поделиться


На конференции для разработчиков Microsoft Build 2020 компания сделала ряд анонсов. Среди них – выход стабильной версии эмулятора терминала и нового пакетного менеджера для Windows, обновление WSL2, которое позволит запускать под Windows любые Linux-программы, в том числе и с графическим интерфейсом. Наконец, раскрыты некоторые детали Project Reunion – единой платформы для разработки под Windows,

Анонсы конференции Microsoft Build 2020

В рамках конференции Microsoft Build 2020, которая в этом году впервые полностью проходит в онлайн-формате, компания анонсировала новые инструменты и возможности, которые, в первую очередь, нацелены на разработчиков.

В частности, на мероприятии были представлены Project Reunion, направленный на унификацию разработки приложений для Windows 10, новые терминал и пакетный менеджер для этой ОС, а также существенные улучшения подсистемы Windows для Linux (WSL, Windows Subsystem for Linux).

WSL2 и графические приложения Linux

Усовершенствованная версия подсистема Windows для Linux (WSL2) получит возможность прямого запуска приложений Linux с графическим интерфейсом, а также поддержку аппаратного ускорения с помощью GPU. Таким образом, программы, предназначенные для Linux, смогут работать бок о бок с «родным» ПО Windows 10.

Кроме того, вскоре WSL будет поддерживать упрощенный процесс установки с помощью команды “wsl.exe — -install”, что позволит быстрее начать работу с Linux-приложениями в Windows.

Приложения Windows и Linux смогут работать бок о бок

О разработке второй версии WSL Microsoft впервые сообщила в мае 2019 г. Новое поколение эмулятора для запуска бинарных файлов станет важной частью предстоящего релиза Windows 10 2004, который должен состояться в конце мая 2020 г. Однако некоторые из улучшений, в том числе и поддержка приложений Linux с графическим интерфейсом, не будут доступ доступны на старте, их развертывание будет происходить поэтапно.

Первое поколение Windows Subsystem for Linux было анонсировано в апреле 2016 г. и вошло в состав финальной сборки Windows 10 в августе 2016 г. Это своего рода эмулятор для запуска бинарных файлов Linux непосредственно в среде Windows (WSL есть в Windows 10 и Windows Server 2019), релиз которого способствовал появлению в дальнейшем дистрибутивов Ubuntu, Fedora и Suse в фирменном магазине приложений Microsoft Store. После установки, к примеру, Ubuntu пользователь получает возможность запускать скрипты Bash, пользоваться инструментами командной строки Linux, такими как awk и grep, а также использовать Python, Ruby и Git непосредственно внутри Windows. В марте 2018 г. список доступных дистрибутивов пополнил Kali Linux.

«Родной» эмулятор терминала

Microsoft также сообщила о релизе первой стабильной версии эмулятора терминала Windows Terminal с открытым исходным кодом.

Помимо централизованного доступа к средам Powershell, Cmd и WSL, утилита Windows Terminal обеспечивает поддержку нескольких вкладок, а также выбор темы и кастомизацию для тех, кто хочет точнее настроить программу под свои нужды.

Состоялся релиз стабильной версии Windows Terminal

Для работы Windows Terminal используется движок рендеринга текста на базе DirectX с поддержкой графических ускорителей. Благодаря этому увеличились скорость и плавность вывода текста, а также появилась поддержка юникода. Терминал поставляется со специальным шрифтом Cascadia Code.

Приложение доступно в Microsoft Store и на Github – в виде исходных кодов. Microsoft также планирует выпускать ежемесячные экспериментальные обновления программы, которые можно будет установить отдельно от стабильной версии.

Microsoft представила Windows Terminal в рамках Microsoft Build 2019. Релиз первой официальной версии ожидался в конце 2019 г.

Влияет ли импортозамещение на конкуренцию на российском рынке

Бизнес

В Windows Terminal Microsoft объединила функции Powershell и CMD с доступом к Linux-командам через WSL, а также добавила поддержку вкладок, шрифтов, тем оформления, расширений, эмоджи (смайликов) и рендеринга с помощью графических ускорителей.

Пакетный менеджер в стиле Linux

Microsoft анонсировала новый менеджер пактов для операционной системы Windows 10, который облегчит разработчикам настройку рабочего окружения.

Представленный диспетчер пакетов winget во многом напоминает аналогичное ПО, применяемое в популярных дистрибутивах Linux, к примеру, APT из Debian. Он позволяет находить необходимые приложения в заранее подготовленном репозитории (поддерживать его собирается сама Microsoft), а затем при помощи одной простой команды (“winget install <название_приложения>”) осуществлять их установку.

Разработчикам под Windows доступен менеджер пакетов, принимающий команды через консоль

Благодаря поддержке новым пакетным менеджером интерфейса командой строки разработчики смогут быстро устанавливать необходимое в работе ПО с помощью простых сценариев, без необходимости всякий раз запускать установщик каждого из необходимых приложений и взаимодействовать с многочисленными диалоговыми окнами.

Для работы winget требуется Windows 10 не старше версии 1709. Программу уже сейчас можно загрузить на Github в виде исходных кодов. Первый стабильный релиз запланирован на май 2021 г.

Унификация Win32 и UWP

В рамках проекта «Воссоединение» (Project Reunion), анонсированного Microsoft, компания планирует обеспечить простую интеграцию между программными интерфейсами Win32 и Universal Windows Platform (UWP). предоставляя единую платформу для разработки с поддержкой обратной совместимости.

Другими словами, теперь разработчики смогут создавать такие приложения, которые заработают на любом устройстве с Windows 10, вне зависимости от аппаратной платформы и версии операционной системы. Существующие приложения также будет возможно адаптировать к новой модели.

Первыми компонентами новой платформы стали нативный фреймворк для проектирования интерфейса WinUI 3 и WebView2, позволяющий интегрировать веб-содержимое в любое приложение.

Исходный код обеих библиотек открыт и доступен любому желающему в соответствующих репозиториях Github.

Дмитрий Степанов

Настройка подсистемы Linux для Windows 10 · GitHub

  1. Центр Управления — Приложения — Сопутствующие параметры: Программы и компоненты — Включение или отключение компонентов Windows — Поставить галку рядом с «Подсистема Linux»
  2. Центр Управления — Для разработчиков — Режим разработчика
  3. В терминале запустить bash или lxrun /install и следовать вопросам установки

Отказаться от смены языка системы на русский!

Удалить полностью

$ lxrun /uninstall /full

Если выходишь из подсистемы, то она ещё какое-то время работает. Проверить через её менеджер:

sc query LxssManager

To restart it use:

sc stop LxssManager

Then:

sc start LxssManager

Если имя получше пользователя (не с большой буквы),
то в c:/Users/Antivitla/.ssh/config прописать «User antivitla»

Проапгрейдировать

$ sudo apt-get update
$ sudo apt-get upgrade

Скопировать свои текущие SSH-ключи из винды

$ cp -R /mnt/c/Users/Antivitla/.ssh/. ~/.ssh/

https://florianbrinkmann.com/en/3436/ssh-key-and-the-windows-subsystem-for-linux/

Настроить разрешения

$ sudo chmod 600 -R ~/.ssh
$ sudo chmod 700 ~/.ssh

https://unix.stackexchange.com/questions/257590/ssh-key-permissions-chmod-settings

Лучше переименовать openssh ключи в id_rsa и id_rsa.pub чтоб автоматом цепляло. Либо заморочиться и добавить «IdentityFile ~/.ssh/openssh_id_rsa» в ~/.ssh/config для каждого хоста

Возможно добавить в ~/.bashrc

# ssh
eval $(ssh-agent -s)
ssh-add /home/antivitla/.ssh/id_rsa

Make

$ sudo apt-get install make

Руби

ruby-install

$ cd /tmp
$ wget -O ruby-install-0.6.1.tar.gz https://github.com/postmodern/ruby-install/archive/v0.6.1.tar.gz
$ tar -xzvf ruby-install-0.6.1.tar.gz
$ cd ruby-install-0.6.1/
$ sudo make install

Затем

$ ruby-install ruby 2.3

Затем Chruby

chruby

$ cd /tmp
$ wget -O chruby-0.3.9.tar.gz https://github.com/postmodern/chruby/archive/v0.3.9.tar.gz
$ tar -xzvf chruby-0.3.9.tar.gz
$ cd chruby-0.3.9/
$ sudo make install
$ sudo ./scripts/setup.sh

Добавить в ~/.bashrc

# Ruby
source /usr/local/share/chruby/chruby.sh
source /usr/local/share/chruby/auto.sh
chruby ruby-2.3.5

Затем

gem install bundler

Node

NVM

Java

sudo add-apt-repository ppa:webupd8team/java
sudo apt-get update
sudo apt-get install oracle-java8-installer

Возможна жопа с инсталлером: https://ubuntuforums.org/showthread.php?t=2374686

Добавить в ~/.bashrc

# Java
export JAVA_HOME="/usr/lib/jvm/java-8-oracle/jre/bin/"

Postgres 9.5

$ sudo apt-get install postgresql-9.5 postgresql-contrib-9.5

В /etc/postgresql/9.5/main/postgresql.conf раскомментить и сделать звездочку вместо «localhost»

listen_addresses = '*'

После этого можно использовать «sudo service postgresql restart» и др. команды.
Возможно потребуется создать роли и базы данных зайдя под юзером postgres:

$ sudo su postgres
$ psql
> CREATE ROLE <username> LOGIN SUPERUSER;
> CREATE DATABASE <dbname> OWNER <username>;

Автозагрузка SSH

Возможно, понадобится

# ssh
eval $(ssh-agent -s)
ssh-add /home/antivitla/.ssh/id_rsa

Приглашение консоли

Найти в ~/.bashrc строки и заменить как тут (менялось содержимое PS1)

if [ "$color_prompt" = yes ]; then
		PS1='${debian_chroot:+($debian_chroot)}\[\033[01;32m\]\u@\h\[\033[00m\]:\[\033[01;34m\]\w\[\033[00m\]\n\[\033[01;90m\]β \[\033[01;00m\]'
else
		PS1='${debian_chroot:+($debian_chroot)}\u@\h:\w\nβ '
fi

Запускать чтоб были нормальные управляющие клавиши

bash -cur_console:p1

Для удобства можно создать ba.cmd c такой командой и запускать его, добавив в $PATH.

Игнорировать изменение прав

git config core.fileMode false

Скопировать свои настройки из ~/.gitconfig виндовые

Положить ~/.gitattributes с игнором разницы EOL

	# Ignore all differences in line endings
	*        -crlf

Для некоторых Ruby-проектов с замороченным build extensions

$ sudo apt-get install ruby-dev libpq-dev pkg-config

Подобие Midnight Commander

$ sudo apt-get install gnuit

И запускать его

$ gitfm

Ходить Ctrl+P, Ctrl+N, Esc >, Esc <, Tab

Сертификатный бот

Установка и использование Linux в Windows 10

В последних версиях Windows 10, Microsoft разрешила пользователям устанавливать бета-версию оболочки bash через Ubuntu. С обновлением Fall Creators Update 1709, пользователи теперь могут установить подсистему Windows для Linux (WSL). С WSL вы можете запускать мощные команды оболочки через настоящую оболочку bash, управлять несколькими дистрибутивами и даже устанавливать пакеты и приложения командной строки Linux apt-get.

Вы получаете самую мощную и полезную часть Linux: интерфейс командной строки. С помощью этого инструмента вы можете управлять глубокими функциональными возможностями вашей системы, используя команды bash и приложения командной строки из Linux. Windows Subsystem для Linux позволяет пользователям запускать bash команды, как grep, sed и awk, а также bash сценариев и Linux приложений командной строки, как Vim, Emacs и tmux. Вы также получите доступ к таким языкам, как Javascript и node.js, Ruby, Python и C/C+, и сервисы, такие как sshd, MySQL, Apache и lighttpd. И если установка не идет по умолчанию с тем, что вы хотите, вы можете установить пакеты Linux с помощью apt-get диспетчера пакетов.

Подсистема Windows для Linux — это урезанная версия Linux, которая работает в Windows 10. Вы устанавливаете части полного дистрибутива Linux, вы не получаете рабочую среду или оконный менеджер, с которым ассоциируется настольный Linux. Но, с недавнего времени вы теперь можете запустить рабочий стол Linux в Windows 10. Вам больше не нужна двойная загрузка вашей системы с разными ОС и не нужны сторонние виртуальные машины для запуска виртуализации.

Введение

Я постоянно использую терминал для работы с git и автоматизации сборки проектов (вёрстка/фронтенд: компиляция pug и scss, обработка изображений, транспиляция js…). На моём рабочем компьютере стоит Windows 10, а на ноутбуке — OSX и мне хочется использовать одни и те же консольные команды на обеих системах, поэтому я использовал GitBash (терминал, устанавливающийся вместе с Git) внутри эмулятора (Cmder). Такая связка работала заметно медленнее терминала на OSX, поэтому я был воодушевлён новостью «В Windows 10 встроили подсистему Linux» (март 2020 г.), но тогда, в 2020 году, её использование разочаровало: нельзя было запускать из bash-терминала программы Windows, подсистема не определяла изменение файла, если изменение было сделано из Windows. Сейчас эти проблемы решены.

Спойлер

Главный выигрыш для меня — скорость. В моём стартовом репозитории есть трудоёмкая задача полной сборки проекта (компиляция, транспиляция, спрайты, шрифты, картинки…), с Gitbash она занимает 17 секунд, с bash-терминалом WSL — 10 секунд.

Упоминаемые в статье файлы

  • .bashrc
  • .dircolors
  • .bash_aliases
  • .inputrc
  • .vimrc

Что такое подсистема Windows для Linux?

Microsoft Windows 10 имеет новую дополнительную функцию, которая называется «Подсистема Windows для Linux (WSL)». Данная функция была добавлена в систему, начиная с обновления «Anniversary Update» и доступна она только в 64-битных редакциях Windows 10.

WSL представляет собой подсистему для ОС Windows 10, через которую можно запускать Linux приложения. В этой статье рассмотрим, как на данной подсистеме можно настроить веб-сервер LAMP (Apache, MySQL, PHP) для локальной разработки веб-проектов.

Основы использования терминала Ubuntu в Windows 10

Это подсистема внутри Windows, чтобы использовать nodeJS и git, нужно поставить их в подсистему (даже если они уже установлены в Windows). Я выбрал вариант с Ubuntu, поэтому при установке nodejs пользовался этой инструкцией, а git установил командой sudo apt-get install git (не забудьте указать git-у своё имя пользователя и email).

Можно запускать приложения Windows. Попробуйте notepad.exe — запустится Windows-блокнот.

Диски Windows расположены в /mnt/ . Попробуйте cd /mnt/c/ && ls для перехода к диску С:/ и вывода его корневых директорий (по умолчанию вывод выглядит уныло, но это настраивается).

Директория пользователя расположена в ~ (cd ~ для переходя в неё). Просто напоминаю.

В Linux-системах заглавные и строчные символы — разные символы. При использовании автодополнения (Tab ) важно вводить символы в правильном регистре.

Директория пользователя подсистемы Linux физически у меня расположилась по довольно длинному пути (см. ниже). Сегмент nicothin — имя пользователя системы (как в начале пути (Windows), так и в конце (Ubuntu)).

c:\Users\nicothin\AppData\Local\Packages\CanonicalGroupLimited.UbuntuonWindows_79rhkp1fndgsc\LocalState\rootfs\home\nicothin\

Если редактировать файлы Linux-подсистемы из Windows, то Linux в некоторых случаях не сможет получить к ним доступ (не хватит прав). После такого редактирования нужно в bash-терминале подсистемы выполнить что-то вроде chmod 777 ~/.bashrc (где ~/.bashrc — редактированный из Windows файл) и перезапустить терминал. Или можно использовать команду source ~/.bashrc (укажите редактированный файл) для применения внесённых изменений.

Как запускать Sublime Text из консоли Ubuntu

Если используете Sublime Text, добавьте путь к subl.exe в PATH в Windows, чтобы по команде в терминале subl.exe запускался Sublime Text:

  1. В проводнике сделайте правый клик на Этот компьютер, выберите Свойства, потом Дополнительные параметры системы.
  2. На вкладке Дополнительно нажмите кнопку Переменные среды.
  3. Сделайте двойной клик по Path для перехода к её редактированию.
  4. Нажмите кнопку Создать и добавьте путь к subl.exe. В моем случае это c:\Program Files\Sublime Text 3\.
  5. Перезапустите терминал.

Вконтакте ВКонтакте вконтакте вконтактов

История ненависти и любви

Издавна Microsoft питала особые чувства к Linux в частнoсти и ко всему миру FOSS в целом. И чувства эти, надо сказать, как правило, были не самыми теплыми — начиная со знаменитого «Открытого письма любителям» Билла Гейтса, написанного в далеком 1976 году (подробности в Вики), где автор обвинял пользователей персональных компьютеров (которые в те доисторические времена были и пользователями, и программистами, и хакерами!) чуть ли не в воровстве его интеллeктуальной собственности (того самого бейсика), и заканчивая гневными высказываниями Стива Балмера в 2001 году по поводу Linux: «Linux — это раковая опухоль, которая пожирает всю интеллектуальную собственность, к которой прикасается. Согласно правилам лицензии, если вы используете какие-либо компоненты программного обеспечения с открытым исходным кодом, вы должны открыть код всего имеющегося у вас программного обеспечения».

Спустя пятнадцать лет, однако, Стив смягчил свою позицию: в мaрте 2020 года бывший генеральный директор Microsoft заявил, что рад видеть, что новый глава компании Сатья Наделла принял решение активнее поддерживать сообщество разработчиков открытого ПО, и «с удовольствием» (loved) наблюдал за анонсом MS SQL Sever для Linux. Во многом такой разворот бывшего гиганта софтверной индустрии — это заслуга сообщества FOSS. Тех тысяч и тысяч программистов, дизайнеров, майнтейнеров, FOSS-активистов и просто неравнодушных людей, которые годами «точили камень, аки вода».

Еще в середине 2000-х годов MS начала менять свою позицию в отношении FOSS. И это не пустые слова, а дела. Даром что ли не так давно Microsoft получила статус «платинового» участника Linux Foundation — главной организации, курирующей разработку Linux, высказала привержeнность идеям разработки FOSS-сообщества. Ну и само существование WSL тому подтверждение. Спустя сорок с небольшим лет мы наблюдем, как некогда непримиримые идеологические (и не только идеологические) противники начали работать бок о бок, сообща делая мир лучше. Ну или хотя бы пытаться.

Спустя пятнадцать лет Стив Балмер, по сути, пpизнал свою неправоту

То самое письмо Билла Гейтса в защиту копирайта

На данный момент апогеем такого симбиоза можно считать Windows Subsystem for Linux. Да, прослойка пока далека от совершенства. Но направление выбрано верное. И той и другой стороной.

Настройка консоли Ubuntu

Цвета

Увы, сразу после установки консоль (особенно вывод команды ls ) выглядит «бородато» и «носит свитер».

Можно добавить файл с настройками цветового оформления (touch ~/.dircolors для создания файла) с этим содержимым.

Содержимое удобно добавлять из Windows, но тогда после сохранения файла в bash-терминале выполните chmod 777 ~/.dircolors и перезапустите терминал.

Переход к нужной директории при старте

Если при запуске терминала хочется попадать в директорию проектов, можно вписать в самом верху ~/.bashrc команду cd /mnt/d/projects/ (укажите путь к нужной директории).*]/d’ -e ‘s/* \(.*\)/ (\1)/’ }

Шаг 2: определим переменную, отвечающую за приглашение командной строки, добавим в неё показ результата работы этой функции (см. .bashrc ). Получится что-то вроде:

if [ «$color_prompt» = yes ]; then PS1=’${debian_chroot:+($debian_chroot)}\[\033[01;32m\]\[email protected]\h\[\033[00m\]: \[\033[01;34m\]\w\[\033[00m\]\e[32m$(git_branch)\e[0m \$ ‘ else PS1=’${debian_chroot:+($debian_chroot)}\[email protected]\h:\w\$ ‘ fi

Мелкие улучшения

Есть довольно много действий в bash-терминале, на которые Windows 10 отреагирует звуковым сигналом (нажатие Backspace, когда уже нечего стирать, например). Чтобы это отключить, создайте ~/.inputrc со строкой set bell-style none .

Vim по умолчанию показывает довольно тёмный текст, что на тёмном фоне смотрится плохо. Можно создать ~/.vimrc со строкой set background=dark, чтобы текст стал более читаемым.

Замеченные баги

Работать с буфером обмена по умолчанию не комфортно (Ctrl + V, Shift + Insert не работают, приходится кликать (!!!) ПКМ по заголовку окна и выбирать ИзменитьВставить). Решается использованием терминала не самостоятельно, а внутри Cmder.

Несколько раз видел странный глюк отображения многострочной команды: как будто символы второй строки не перенеслись, а печатаются в первой строке. Редко, не критично.

На одном из домашних компьютеров работает сохранение истории команд между сеансами, на другом не работает (хотя права доступа и владелец файла ~/.bash_history — активный пользователь и сохранение истории включено). Не критично.

Не работают инструменты копирования в буфер. К примеру, при настройке SSH для github.com, есть инструкция для Linux:

sudo apt-get install xclip # Downloads and installs xclip. If you don’t have `apt-get`, you might need to use another installer (like `yum`) xclip -sel clip < ~/.ssh/id_rsa.pub # Copies the contents of the id_rsa.pub file to your clipboard

Но её невозможно выполнить, т.к. xclip работать не будет. Решается использованием виндовской утилиты: clip.exe < ~/.ssh/id_rsa.pub

После загрузки Windows иногда (было всего дважды) отказывается работать. Помогает перезагрузка (это же Windows).

Брандмауэр Windows по умолчанию не даёт зайти на запущенный внутри WSL сервер при запросе с другого устройства (запускаем сервер разработки на рабочем компе, открываем его страницы с телефона, находящегося в той же локальной сети). Как это лечить — не разобрался, приходится временно отключать брандмауэр.

Установка phpMyAdmin

Выполняем команду

sudo apt install phpmyadmin

Когда появится первое сообщение, нажмите пробел, Tab, а затем Enter, чтобы выбрать Apache. Выберите Да, когда вас попросят использовать dbconfig-common для настройки базы данных. Укажите пароль пользователя MySQL root Выберите пароль для самого приложения phpMyAdmin

Включить необходимые расширения PHP:

sudo phpenmod mcrypt sudo php en mod mbstring

Перезапустить Apache:

sudo service apache2 restart

Теперь вы можете получить доступ к phpMyAdmin по следующему URL: https://localhost/phpmyadmin/ Вы можете войти в систему, используя имя пользователя root и пароль root, настроенные во время установки MySQL.

Как заходить на сервер, запущенный в WSL, со сторонних устройств в одной локальной сети

Я пишу много html-страниц. В процессе работы у меня запущен локальный сервер, собирающий разметку, стили, javascript, спрайты и т.п. Бывает удобно запустить на основном компьютере сервер и зайти на него с помощью ноутбука, телефона, планшета (сервер доступен по IP, наподобие https://192.168.1.207:8080). Однако, встроенный в Windows 10 фаервол по умолчанию блокирует такие соединения.

Чтобы попасть на такой сервер, нужно добавить правило для брандмауэра:

  1. Найти с помощью поиска «Брандмауэр защитника Windows», открыть, нажать слева «Дополнительные параметры».
  2. В открывшемся окне Монитора брандмауэра выбрать (слева) «Правила для входящих…», нажать «Создать правило» (справа).
  3. Выбрать «Для порта», нажать «Далее».
  4. Выбрать «Определенные локальные порты», ввести номер порта (мой локальный сервер работает на порту 8080, его я и ввёл), нажать «Далее».
  5. Выбрать «Разрешить подключение», нажать «Далее», выбрать профили (я выбрал все), «Далее».
  6. Ввести какое-либо имя, нажать «Готово».

После этого получится зайти с любого устройства (в одной локальной сети) на запущенный в WSL на рабочем компьютере сервер.

Включение подсистемы Windows для Linux

Для включения компоненты «Подсистема Windows для Linux» в Windows 10 необходимо выполнить следующие действия:

  1. Открыть «Панель управления» (Пуск -> Служебные -> Windows -> Панель управления).
  2. Открыть окно «Компоненты Windows» (пункт «Программы» в «Панели управления» -> Включение и отключение компонентов Windows).
  3. Установить галочку напротив опции «Подсистема Windows для Linux» и нажать «ОК»;
  4. Перезагрузить операционную систему.

Комфортное использование с Cmder

Для более тонкой настройки внешнего вида и комфортной работы с буфером обмена (привычное сочетание Ctrl + V для вставки) удобно использовать bash-терминал подсистемы Linux внутри cmder (эмулятор терминала, внутри которого можно запустить один из установленных в Windows терминалов). Для этого нужно добавить возможность старта WSL-консоли в настройках Cmder:

  1. Правый клик по иконке бургера в нижнем правом углу для перехода к настройкам.
  2. В разделе Startup выбрать радиокнопку Auto save/restore opened tabs, чтобы при рестарте не создавать вкладки заново.
  3. В разделе Startup, подразделе Tasks проверить наличие задачи WSL::bash. Если её нет, нажать кнопку Add/refresh default tasks… и согласиться на добавление задач.
  4. В списке задач появится пункт WSL::bash, при создании новой вкладки терминала нужно выбрать его.

Если в списке задач есть пункт WSL::bash, но WSL не запускается при его выборе (в момент создания новой вкладки Cmder), то в настройках можно попробовать нажать Add/refresh default tasks… и согласиться на обновление списка задач (см. п. 3). Если и после этого не получается запустить терминал подсистемы (Cmder сообщает о проблеме и пишет, что по нажатию Enter закроет вкладку), то можно добавить свою собственную задачу, которая будет запускать cmd.exe и сразу вызывать в ней команду bash. Команда запуска терминала будет выглядеть так:

*cmd /k «»%ConEmuDir%..init.bat» » && bash

Windows 10 получила поддержку Linux-приложений с графическим интерфейсом

Стало известно о том, что Microsoft приступила к тестированию функции запуска Linux-приложений с графическим интерфейсом (GUI) в Windows 10. Такая возможность стала доступна участникам инсайдерской программы Microsoft, использующим сборку Windows 10 под номером 21364.

Появление поддержки Linux-приложений с GUI является значительным расширением возможностей подсистемы Windows Subsystem for Linux. Благодаря ей пользователи теперь могут запускать непосредственно в Windows редакторы графического интерфейса, инструменты и приложения, предназначенные для создания и тестирования Linux-приложений. Несмотря на то, что и ранее пользователи могли запускать приложения для Linux в Windows с помощью сторонних X-серверов, официальная поддержка со стороны Microsoft означает появление аппаратного ускорения графики, благодаря чему приложения будут работать без сбоев. Поддержка микрофона и вывода звука также присутствует, поэтому Linux-разработчики могут без проблем запускать и тестировать видеоплееры и коммуникационные приложения.

Пользователям больше не нужно использовать стороннее программное обеспечение для взаимодействия с приложения для Linux в Windows 10. Когда происходит запуск Linux-приложения с GUI, операционная система автоматически запускает сопутствующий системный дистрибутив, содержащий Wayland, X-сервер и все остальные компоненты, необходимые для обеспечения плавной и стабильной работы внутри Windows. Как только пользователь завершает работу приложения и подсистемы WSL, системный дистрибутив также выгружается. Все эти компоненты объединены для того, чтобы максимально упростить запуск Linux-приложений с GUI параллельно со стандартным программным обеспечением для Windows.

Если вы заметили ошибку — выделите ее мышью и нажмите CTRL+ENTER.

FAQ по подсистеме Windows для Linux

Что такое подсистема Windows для Linux (WSL)?

Подсистема Windows для Linux (WSL) — это функция Windows 10, которая позволяет запускать собственные инструменты командной строки Linux непосредственно в Windows вместе с традиционным рабочим столом Windows и приложениями.

Подробнее см. На странице «О компании».

Для кого предназначен WSL?

Это в первую очередь инструмент для разработчиков, особенно веб-разработчиков, работающих над проектами с открытым исходным кодом или выполняющих развертывание в серверных средах Linux.WSL предназначен для всех, кто любит использовать Bash, общие инструменты Linux ( sed , awk и т. Д.) И фреймворки, ориентированные на Linux (Ruby, Python и т. Д.), Но также любит использовать инструменты повышения производительности Windows

Что я могу делать с WSL?

WSL позволяет запускать Linux в оболочке Bash с выбранным вами дистрибутивом (Ubuntu, Debian, OpenSUSE, Kali, Alpine и т. Д.). Используя Bash, вы можете запускать инструменты и приложения Linux из командной строки. Например, введите lsb_release -a и нажмите Enter; вы увидите подробную информацию о дистрибутиве Linux, который в настоящее время работает:

Вы также можете получить доступ к файловой системе локального компьютера из оболочки Linux Bash — вы найдете локальные диски, смонтированные в папке / mnt .Например, ваш диск C: смонтирован под / mnt / c :

.

Не могли бы вы описать типичный рабочий процесс разработки с использованием WSL?

WSL нацелен на аудиторию разработчиков с намерением использовать его как часть внутреннего цикла разработки. Допустим, Сэм создает конвейер CI / CD (непрерывная интеграция и непрерывная доставка) и хочет сначала протестировать его на локальном компьютере (ноутбуке), прежде чем развертывать его в облаке. Сэм может включить WSL (и WSL 2 для повышения скорости и производительности), а затем использовать подлинный экземпляр Linux Ubuntu локально (на ноутбуке) с любыми командами и инструментами Bash, которые они предпочитают.После локальной проверки конвейера разработки Сэм может отправить этот конвейер CI / CD в облако (то есть в Azure), превратив его в контейнер Docker и отправив контейнер в облачный экземпляр, где он будет работать на готовой к производству виртуальной машине Ubuntu. .

Что такое Баш?

Bash — популярная текстовая оболочка и командный язык. Это оболочка по умолчанию, включенная в Ubuntu и другие дистрибутивы Linux, а также в macOS. Пользователи вводят команды в оболочку для выполнения сценариев и / или запуска команд и инструментов для выполнения многих задач.

Как это работает?

Посетите наш блог, где мы подробно рассказываем о базовой технологии.

Почему я должен использовать WSL, а не Linux в виртуальной машине?

WSL требует меньше ресурсов (ЦП, память и хранилище), чем полноценная виртуальная машина. WSL также позволяет запускать инструменты и приложения командной строки Linux вместе с приложениями командной строки Windows, рабочим столом и приложениями магазина, а также получать доступ к файлам Windows из Linux. Это позволяет при желании использовать приложения Windows и инструменты командной строки Linux для одного и того же набора файлов.

Почему я должен использовать, например, Ruby в Linux вместо Windows?

Некоторые кроссплатформенные инструменты были созданы с учетом того, что среда, в которой они работают, ведет себя как Linux. Например, некоторые инструменты предполагают, что они могут получить доступ к очень длинным путям к файлам или что существуют определенные файлы / папки. Это часто вызывает проблемы в Windows, которая часто ведет себя не так, как Linux.

Многие языки, такие как Ruby и node, часто переносятся на Windows и отлично работают на ней.Однако не все владельцы библиотек Ruby Gem или node / NPM переносят свои библиотеки для поддержки Windows, и многие из них имеют зависимости, специфичные для Linux. Это часто может приводить к тому, что системы, построенные с использованием таких инструментов и библиотек, страдают от ошибок сборки, а иногда и от ошибок выполнения или нежелательного поведения в Windows.

Это лишь некоторые из проблем, которые заставили многих людей просить Microsoft улучшить инструменты командной строки Windows, и что побудило нас сотрудничать с Canonical, чтобы включить встроенные инструменты командной строки Bash и Linux для работы в Windows.

Что это значит для PowerShell?

При работе с проектами OSS существует множество сценариев, в которых чрезвычайно полезно перейти в Bash из командной строки PowerShell. Поддержка Bash является дополнительной и повышает ценность командной строки в Windows, позволяя PowerShell и сообществу PowerShell использовать другие популярные технологии.

Подробнее читайте в блоге команды PowerShell — Bash для Windows: почему это круто и что это значит для PowerShell

В какие SKU Windows входит WSL?

Подсистема Windows

для Linux доступна в настольной версии Windows 10 Anniversary и Creators update или более поздней версии.

Начиная с осеннего обновления Creators WSL будет доступен как для настольных ПК, так и для серверных SKU Windows.

Какие процессоры поддерживает WSL?

WSL поддерживает процессоры x64 и ARM.

Как мне получить доступ к моему диску C:?

Точки монтирования для жестких дисков на локальном компьютере создаются автоматически и обеспечивают легкий доступ к файловой системе Windows.

/ mnt / <буква диска> /

Пример использования: cd / mnt / c для доступа к c: \

Как мне настроить Git Credential Manager? (Как использовать разрешения Windows Git в WSL?)

Git Credential Manager позволяет вам аутентифицировать удаленный сервер Git, даже если у вас есть сложный шаблон аутентификации, такой как Azure Active Directory или двухфакторная аутентификация.Git Credential Manager интегрируется в поток аутентификации для таких сервисов, как GitHub, и после аутентификации у вашего хостинг-провайдера запрашивает новый токен аутентификации. Затем он надежно сохраняет токен в диспетчере учетных данных Windows. После первого раза вы можете использовать git, чтобы поговорить со своим хостинг-провайдером без повторной аутентификации. Он просто получит доступ к токену в диспетчере учетных данных Windows.

Чтобы настроить Git Credential Manager для использования с распространением WSL, откройте свой дистрибутив и введите следующую команду:

  git config --global credential.помощник "/ mnt / c / Program \ Files / Git / mingw64 / libexec / git-core / git-credential-manager.exe"
  

Теперь любая операция git, которую вы выполняете в своем распространении WSL, будет использовать диспетчер учетных данных. Если у вас уже есть кэшированные учетные данные для хоста, он будет обращаться к ним из диспетчера учетных данных. В противном случае вы получите диалоговое окно с запросом ваших учетных данных, даже если вы находитесь в консоли Linux.

Эта поддержка зависит от взаимодействия между подсистемой Windows для Linux и самой Windows.

Как использовать файл Windows с приложением Linux?

Одним из преимуществ WSL является возможность доступа к вашим файлам через приложения или инструменты как для Windows, так и для Linux.

WSL монтирует фиксированные диски вашей машины в папку / mnt / в ваших дистрибутивах Linux. Например, ваш диск C: смонтирован под / mnt / c /

.

Используя подключенные диски, вы можете редактировать код, например, в C: \ dev \ myproj \ , используя Visual Studio / или VS Code, и создавать / тестировать этот код в Linux, обращаясь к тем же файлам через / mnt / с / dev / myproj .

ВАЖНОЕ ПРИМЕЧАНИЕ : Одним из ключевых ограничений использования WSL является то, что прямой доступ / изменение файлов в файловой системе вашего дистрибутива Linux с помощью приложений или инструментов Windows не поддерживается. См .: Не изменять файлы Linux с помощью приложений и инструментов Windows

Отличаются ли файлы на диске Linux от подключенного диска Windows?

  1. Файлы в корневом каталоге Linux (т.е. /) управляются WSL, имитирующим поведение Linux, включая, помимо прочего:

    • Файлы, содержащие недопустимые символы имени файла Windows
    • Созданы символические ссылки для пользователей без прав администратора
    • Изменение атрибутов файла с помощью chmod и chown
    • Чувствительность к регистру файлов / папок
  2. Файлы на подключенных дисках управляются Windows и имеют следующее поведение:

    • Поддержка чувствительности к регистру
    • Все разрешения настроены так, чтобы наилучшим образом отражать разрешения Windows

Почему при запуске apt-get upgrade возникает так много ошибок?

В некоторых пакетах используются функции, которые мы еще не реализовали.Например, udev еще не поддерживается и вызывает несколько ошибок apt-get upgrade .

Чтобы исправить проблемы, связанные с udev , выполните следующие действия:

  1. Напишите следующее на /usr/sbin/policy-rc.d и сохраните изменения.

      #! / Bin / sh
    выход 101
      
  2. Добавить разрешения на выполнение в /usr/sbin/policy-rc.d

      chmod + x /usr/sbin/policy-rc.d
      
  3. Выполните следующие команды

      dpkg-divert --local --rename --add / sbin / initctl
    ln -s / bin / true / sbin / initctl
      

Как удалить дистрибутив WSL?

Чтобы удалить дистрибутив из WSL и удалить все данные внутри дистрибутива Linux , вы можете запустить wsl --unregister , где — имя вашего дистрибутива Linux, которое можно увидеть в списке в wsl -l команда.

Кроме того, вы можете удалить приложение дистрибутива Linux на свой компьютер, как и любое другое приложение магазина.

Почему ping генерирует ошибки отказа в разрешении?

В сборках WSL <14926 ping требовал WSL для запуска через консоль с повышенными привилегиями. Эта проблема была исправлена ​​в сборке 14926 и более поздних версиях.

Как запустить сервер OpenSSH?

Права администратора в Windows необходимы для запуска OpenSSH в WSL. Чтобы запустить сервер OpenSSH, запустите Bash в Ubuntu в Windows от имени администратора или запустите bash.exe из командной строки CMD / PowerShell с правами администратора.

Почему я получаю «Ошибка: 0x80040306» при попытке установить?

WSL не поддерживает работу в устаревшей консоли. Чтобы выключить устаревшую консоль:

  1. Откройте WSL, PowerShell или Cmd
  2. Щелкните строку заголовка правой кнопкой мыши -> Свойства -> снимите флажок «Использовать устаревшую консоль»
  3. Нажмите ОК

Почему я получаю сообщение «Ошибка: 0x80040154» при запуске bash.exe после обновления Windows?

Функция «Подсистема Windows для Linux» может быть отключена во время обновления Windows.В этом случае необходимо повторно включить функцию Windows. Инструкции по включению функции «Подсистема Windows для Linux» можно найти в Руководстве по установке.

Как изменить язык отображения WSL?

Установка

WSL попытается автоматически изменить языковой стандарт Ubuntu, чтобы он соответствовал языку вашей установки Windows. Если вам не нужно такое поведение, вы можете запустить эту команду, чтобы изменить локаль Ubuntu после завершения установки. Вам придется перезапустить bash.exe, чтобы это изменение вступило в силу.

В приведенном ниже примере языковой стандарт изменяется на en-US:

  sudo update-locale LANG = en_US.UTF8
  

Почему у меня нет доступа в Интернет из WSL?

Некоторые пользователи сообщали о проблемах с определенными приложениями брандмауэра, блокирующими доступ в Интернет в WSL. Сообщается о межсетевых экранах:

  1. Касперский
  2. СРЕДНЯЯ
  3. Avast
  4. Symantec Endpoint Protection
  5. F-Secure

В некоторых случаях отключение брандмауэра позволяет получить доступ.В некоторых случаях просто установка брандмауэра блокирует доступ.

Как мне получить доступ к порту из WSL в Windows?

WSL использует IP-адрес Windows, так как он работает в Windows. Таким образом, вы можете получить доступ к любым портам на локальном хосте, например. если у вас есть веб-контент на порту 1234, вы можете https: // localhost: 1234 в своем браузере Windows.

Как я могу создать резервную копию своих дистрибутивов WSL или перенести их с одного диска на другой?

Лучший способ сделать резервную копию или переместить ваши дистрибутивы — использовать команды экспорта / импорта, доступные в Windows версии 1809 и новее.Вы можете экспортировать весь свой дистрибутив в архив с помощью команды wsl --export . Затем вы можете импортировать этот дистрибутив обратно в WSL с помощью команды wsl --import , которая может дать имя новому расположению на диске для импорта, что позволит вам создавать резервные копии и сохранять состояния (или перемещать) ваши дистрибутивы WSL.

Обратите внимание, что традиционные службы резервного копирования, которые создают резервные копии файлов в ваших папках AppData (например, Windows Backup), не повреждают ваши файлы Linux.

Где я могу оставить отзыв?

Вы можете делиться отзывами и задавать вопросы по нескольким каналам.

Если у вас есть технические проблемы или вы хотите запросить новые функции, перейдите в нашу систему отслеживания проблем Github:

Если вы хотите быть в курсе последних новостей WSL, вы можете сделать это с помощью:

Создать учетную запись пользователя для дистрибутива Linux

  • 2 минуты на чтение

В этой статье

После того, как вы включили WSL и установили дистрибутив Linux из Microsoft Store, первый шаг, который вам будет предложено выполнить при открытии недавно установленного дистрибутива Linux, — это создать учетную запись, включая имя пользователя и пароль .

  • Это имя пользователя и пароль специфичны для каждого отдельного дистрибутива Linux, который вы устанавливаете, и не имеют отношения к вашему имени пользователя Windows.

  • После создания имени пользователя и пароля учетная запись станет вашим пользователем по умолчанию для распространения и будет автоматически входить в систему при запуске.

  • Эта учетная запись будет считаться администратором Linux с возможностью запускать административные команды sudo (Super User Do).

  • Каждый дистрибутив Linux, работающий в подсистеме Windows для Linux, имеет свои собственные учетные записи пользователей Linux и пароли. Вам придется настраивать учетную запись пользователя Linux каждый раз, когда вы добавляете дистрибутив, переустанавливаете или сбрасываете.

Примечание

Дистрибутивы Linux

, установленные с WSL, устанавливаются для каждого пользователя и не могут использоваться совместно с другими учетными записями пользователей Windows.

Обновление и пакеты обновлений

Большинство дистрибутивов поставляются с пустым или минимальным каталогом пакетов.Мы настоятельно рекомендуем регулярно обновлять каталог пакетов и обновлять установленные пакеты с помощью предпочитаемого диспетчера пакетов вашего дистрибутива. Для Debian / Ubuntu используйте apt:

.

  sudo apt update && sudo apt upgrade
  

Windows не обновляет автоматически или обновляет ваши дистрибутивы Linux. Это задача, которую большинство пользователей Linux предпочитают решать самостоятельно.

Сброс пароля Linux

Чтобы изменить пароль, откройте свой дистрибутив Linux (например, Ubuntu) и введите команду: passwd

Вам будет предложено ввести текущий пароль, затем будет предложено ввести новый пароль, а затем подтвердить новый пароль.

Забыли пароль

Если вы забыли пароль для своего дистрибутива Linux:

  1. Откройте PowerShell и введите корень дистрибутива WSL по умолчанию с помощью команды: wsl -u root

    Если вам нужно обновить забытый пароль в дистрибутиве, который не является вашим по умолчанию, используйте команду: wsl -d Debian -u root , заменив Debian именем вашего целевого дистрибутива.

  2. После того, как ваш дистрибутив WSL был открыт на корневом уровне внутри PowerShell, вы можете использовать эту команду для обновления своего пароля: passwd , где — это имя пользователя учетной записи в DISTRO, пароль которой вы забыл.

  3. Вам будет предложено ввести новый пароль UNIX, а затем подтвердить его. Как только вам сообщат, что пароль обновлен успешно, закройте WSL внутри PowerShell с помощью команды: exit

Что такое подсистема Windows для Linux

  • 2 минуты на чтение

В этой статье

Подсистема Windows для Linux позволяет разработчикам запускать среду GNU / Linux, включая большинство инструментов командной строки, служебных программ и приложений, непосредственно в Windows, без изменений, без дополнительных затрат на традиционную виртуальную машину или установку с двойной загрузкой.

Вы можете:

  • Выберите свои любимые дистрибутивы GNU / Linux в Microsoft Store.
  • Запустите стандартные инструменты командной строки, такие как grep , sed , awk или другие двоичные файлы ELF-64.
  • Запускать сценарии оболочки Bash и приложения командной строки GNU / Linux, включая:
    • Инструменты: vim, emacs, tmux
    • Языки: NodeJS, Javascript, Python, Ruby, C / C ++, C # и F #, Rust, Go и т. Д.
    • Сервисы: SSHD, MySQL, Apache, lighttpd, MongoDB, PostgreSQL.
  • Установите дополнительное программное обеспечение, используя свой собственный менеджер пакетов дистрибутива GNU / Linux.
  • Вызов приложений Windows с помощью оболочки командной строки, подобной Unix.
  • Вызов приложений GNU / Linux в Windows.

Что такое WSL 2?

WSL 2 — это новая версия подсистемы Windows для архитектуры Linux, которая позволяет подсистеме Windows для Linux запускать двоичные файлы ELF64 Linux в Windows. Его основными целями являются повышение производительности файловой системы , а также добавление полной совместимости системных вызовов .

Эта новая архитектура меняет способ взаимодействия этих двоичных файлов Linux с Windows и оборудованием вашего компьютера, но по-прежнему обеспечивает тот же пользовательский интерфейс, что и в WSL 1 (текущая широко доступная версия).

Отдельные дистрибутивы Linux могут работать с архитектурой WSL 1 или WSL 2. Каждый дистрибутив можно обновить или понизить в любое время, и вы можете запускать дистрибутивы WSL 1 и WSL 2 одновременно. WSL 2 использует совершенно новую архитектуру, которая выигрывает от запуска реального ядра Linux.

Следующие шаги

Как установить подсистему Windows для Linux (WSL) в Windows 10

В Windows 10 подсистема Windows для Linux (WSL) — это функция, которая создает облегченную среду, которая позволяет устанавливать и запускать поддерживаемые версии Linux (такие как Ubuntu, OpenSuse, Debian и т. Д.) Без сложности настройки. виртуальная машина или другой компьютер.

Хотя вы не получите графический интерфейс, этот подход позволяет разработчикам и сетевым администраторам использовать длинный список командных инструментов и служб (таких как vim, tmux, andemacs, sshd, Apache и MySQL) и запускать сценарии оболочки Bash. написан на Python, Ruby, C #, F # и многих других с использованием командной консоли.

В этом руководстве по Windows 10 мы расскажем, как установить подсистему Windows для Linux с помощью приложения «Настройки» и PowerShell. Кроме того, мы покажем вам инструкции по загрузке и установке дистрибутивов Linux, а также шаги по правильному удалению всех компонентов, когда вам больше не нужна среда с открытым исходным кодом.

Как установить подсистему Windows для Linux с помощью настроек

Если вы хотите запускать дистрибутивы Linux в Windows 10, вы должны сначала включить функцию подсистемы Windows для Linux, прежде чем вы сможете загрузить и установить версию Linux, которую вы хотите использовать.

Включение подсистемы Windows для Linux с помощью настроек

Чтобы установить WSL с помощью настроек в Windows 10, выполните следующие действия:

  1. Открыть Настройки .
  2. Щелкните Приложения .
  3. В разделе «Связанные параметры» щелкните «Программы и компоненты» .

    Источник: Windows Central

  4. Нажмите Включить или выключить функции Windows на левой панели.

    Источник: Windows Central

  5. Отметьте опцию Подсистема Windows для Linux .

    Источник: Windows Central

  6. Нажмите кнопку ОК .
  7. Нажмите кнопку Перезагрузить сейчас .

После выполнения этих шагов среда будет настроена для загрузки и запуска дистрибутивов Linux в Windows 10.

Установка дистрибутивов Linux с помощью Microsoft Store

Чтобы установить дистрибутив Linux в Windows 10, выполните следующие действия:

  1. Открыть Microsoft Store .
  2. Найдите дистрибутив Linux, который вы хотите установить.

    Некоторые из доступных дистрибутивов включают:

  3. Выберите дистрибутив Linux для установки на ваше устройство.

    Источник: Windows Central

  4. Нажмите кнопку Get (или Install ).

    Источник: Windows Central

  5. Нажмите кнопку Launch .
  6. Создайте имя пользователя для дистрибутива Linux и нажмите Введите .
  7. Укажите пароль для дистрибутива и нажмите Введите .

    Источник: Windows Central

  8. Повторите пароль и нажмите Введите для подтверждения.

После того, как вы выполните эти шаги, вы можете начать использовать дистрибутив как любую другую разновидность Linux (конечно, без графического пользовательского интерфейса).

Удаление дистрибутивов Linux с помощью настроек

Если вам больше не нужно запускать Linux на вашем устройстве, рекомендуется удалить дистрибутивы, а затем отключить WSL.

Чтобы удалить дистрибутив Linux, выполните следующие действия:

  1. Открыть Настройки .
  2. Щелкните Приложения .
  3. Щелкните Приложения и функции .
  4. В разделе «Приложения и функции» выберите дистрибутив, например Ubuntu .
  5. Нажмите кнопку Удалить .

    Источник: Windows Central

  6. Нажмите кнопку Удалить еще раз для подтверждения.

После выполнения этих шагов установка Linux будет удалена, и вы сможете перейти к шагам по отключению WSL.

Отключение подсистемы Windows для Linux с помощью настроек

Чтобы отключить WSL в Windows 10, выполните следующие действия:

  1. Открыть Настройки .
  2. Щелкните Приложения .
  3. В разделе «Связанные параметры» щелкните «Программы и компоненты» .

    Источник: Windows Central

  4. Нажмите Включить или выключить функции Windows на левой панели.

    Источник: Windows Central

  5. Очистите опцию Подсистема Windows для Linux .

    Источник: Windows Central

  6. Нажмите кнопку ОК .
  7. Нажмите кнопку Перезагрузить сейчас .

После выполнения этих шагов подсистема Windows для Linux будет удалена с вашего устройства.

Как установить подсистему Windows для Linux с помощью PowerShell

В качестве альтернативы, если у вас нет доступа к графическому интерфейсу Windows или вам удобно использовать командные строки, вы также можете использовать PowerShell, чтобы включить подсистему Windows для Linux, загрузить и установить дистрибутивы Linux и отменить все изменения. .

Включение подсистемы Windows для Linux с помощью PowerShell

Чтобы установить подсистему Windows для Linux с помощью PowerShell, выполните следующие действия:

  1. Открыть Начать .
  2. Найдите PowerShell , щелкните правой кнопкой мыши верхний результат и выберите вариант Запуск от имени администратора .
  3. Введите следующую команду, чтобы включить подсистему Linux, и нажмите Введите :

    Enable-WindowsOptionalFeature -Online -FeatureName Microsoft-Windows-Subsystem-Linux

    Источник: Windows Central

  4. Введите Y и нажмите Введите , чтобы подтвердить и перезагрузить компьютер.

После выполнения этих шагов вы можете перейти к инструкциям по загрузке и установке любого совместимого дистрибутива Linux, доступного в Microsoft Store.

Установка дистрибутивов Linux с помощью PowerShell

Чтобы загрузить и установить дистрибутив Linux (например, Ubuntu) с PowerShell, выполните следующие действия:

  1. Открыть Начать .
  2. Найдите PowerShell , щелкните правой кнопкой мыши верхний результат и выберите вариант Запуск от имени администратора .
  3. Введите следующую команду, чтобы выбрать папку для загрузки, и нажмите Enter:

    cd c: \ PATH \ TO \ DESTINATION-FOLDER

    В этом примере выполняется переход к папке данных в корне главного диска:

    компакт-диск c: \ data

  4. Введите следующую команду для загрузки Ubuntu и нажмите Введите :

    Invoke-WebRequest -Uri https://wsldownload.azureedge.net/Ubuntu_1604.2019.523.0_x64.appx -OutFile Ubuntu.appx -UseBasicParsing

    Источник: Windows Central

    Приведенная выше команда загружает версию Ubuntu 16.04, но вам может потребоваться обновить команду, указав имя и версию дистрибутива, который вы пытаетесь загрузить.

    Краткое примечание: Хотя ссылка на этом шаге и ссылка на снимке экрана выглядят по-разному, на самом деле они одинаковы. Тот, что на скриншоте, — это всего лишь краткая версия.

  5. Введите следующую команду, чтобы просмотреть фактическое имя установщика, и нажмите Введите :

    дирек

  6. Введите следующую команду, чтобы установить Ubuntu версии 16.04 и нажмите Введите :

    Add-AppxPackage. \ APP-NAME.appx

    В этом примере устанавливается дистрибутив Ubuntu в Windows 10:

    Добавить-AppxPackage. \ Ubuntu.appx

    Источник: Windows Central

  7. Открыть Старт .
  8. Найдите недавно выпущенный дистрибутив Linux (например, Ubuntu ), щелкните верхний результат, чтобы запустить опыт.
  9. Создайте имя пользователя для дистрибутива Linux и нажмите Введите .
  10. Укажите пароль для дистрибутива и нажмите Введите .

    Источник: Windows Central

  11. Повторите пароль и нажмите Введите для подтверждения.

После выполнения этих шагов вы можете начать использовать Ubuntu или любой другой дистрибутив, как если бы вы выполняли полную установку Linux без графического интерфейса.

Удаление дистрибутива Linux с помощью PowerShell

Если вы хотите отменить изменения, сначала удалите все дистрибутивы Linux перед отключением WSl.

  1. Открыть Начать .
  2. Найдите PowerShell , щелкните правой кнопкой мыши верхний результат и выберите вариант Запуск от имени администратора .
  3. Введите следующую команду, чтобы узнать имя дистрибутива, и нажмите Введите :

    Get-AppxPackage * PARTIAL-DISTRO-NAME *

    В этом примере выполняется поиск пакета приложения, в имени которого содержится слово «ubuntu»:

    Get-AppxPackage * убунту *

    Источник: Windows Central

    В команде не забудьте заменить «ubuntu» на имя дистрибутива, который вы пытаетесь найти.

  4. Введите следующую команду, чтобы удалить версию Linux, установленную на вашем компьютере, и нажмите Введите :

    Get-AppxPackag ПОЛНОЕ НАЗВАНИЕ | Remove-AppxPackage

    В этом примере удаляется пакет Ubuntu из Windows 10:

    Get-AppxPackage CanonicalGroupLimited.Ubuntu16.04onWindows | Remove-AppxPackage

    Источник: Windows Central

    В команде не забудьте изменить «CanonicalGroupLimited.Ubuntu16.04onWindows «для имени дистрибутива, который вы пытаетесь удалить.

После выполнения этих шагов вы можете перейти к отключению подсистемы Windows для Linux на вашем компьютере.

Отключение подсистемы Windows для Linux с помощью PowerShell

Чтобы отключить WSL с помощью PowerShell, выполните следующие действия:

  1. Открыть Начать .
  2. Найдите PowerShell , щелкните правой кнопкой мыши верхний результат и выберите вариант Запуск от имени администратора .
  3. Введите следующую команду, чтобы включить подсистему Linux, и нажмите Введите :

    Отключить-WindowsOptionalFeature -Online -FeatureName Microsoft-Windows-Subsystem-Linux

    Источник: Windows Central

  4. Введите Y и нажмите Введите , чтобы подтвердить и перезагрузить компьютер.

После выполнения этих шагов среда Linux будет отключена на вашем компьютере.

Дополнительные ресурсы по Windows 10

Дополнительные полезные статьи, статьи и ответы на распространенные вопросы о Windows 10 см. На следующих ресурсах:

Мы можем получать комиссию за покупки, используя наши ссылки.Выучить больше.

Узнайте, что нового!

Новая предварительная сборка Windows 11 включает в себя чат Teams и многое другое

Новая предварительная сборка Windows 11 была выпущена для инсайдеров на канале разработчиков. Новая сборка включает в себя чат Microsoft Teams, новый дизайн уведомлений, возможность быстрого доступа к настройкам помощи Focus и многое другое. Вот все, что вам нужно знать о сборке 22000.100.

Как установить подсистему Linux Windows 10 на ваш компьютер

В 2016 году Microsoft сделала ошеломляющее объявление во время своей ежегодной конференции разработчиков Build: она представила оболочку Linux Bash на рабочем столе Windows * в качестве первоклассного гражданина.

Первоначальный брендинг «Bash на Ubuntu на Windows» затенял большую часть базовой технологии — на самом деле Microsoft разработала способ наложения стека Linux поверх Windows без эмуляции или виртуализации. «Подсистема Windows для Linux» обеспечивает интерфейс ядра Linux с ядром Windows, поэтому приложения Linux легко переводят свои вызовы ядра в собственные вызовы Windows.

Раннее именование также скрывало тот факт, что поддерживается не только Ubuntu.Хотя первый выпуск был только для Ubuntu, теперь подсистема расширена для поддержки многих других дистрибутивов Linux, включая Debian и SUSE.

Хватит технических разговоров — приступим к установке дистрибутива Linux в Windows изначально. В иллюстративных целях мы продолжим использовать Ubuntu. Процесс очень похож для других дистрибутивов. Мы также предполагаем, что вы используете Windows 10 Fall Creators Update (версия 1709) или новее; Более старые версии Windows 10 требуют другого процесса установки.

Для начала вам необходимо включить поддержку подсистемы Windows для Linux на вашем устройстве. Откройте меню «Пуск» и введите «включить», пока не увидите программу «Включение или отключение компонентов Windows». Запустите его и прокрутите список до «Подсистема Windows для Linux».

Установите флажок, нажмите OK и подождите, пока Windows настроит функцию. Затем вам будет предложено перезагрузить компьютер; вернитесь к этому руководству, когда вернетесь за рабочий стол!

Теперь вы готовы загрузить сам дистрибутив Linux.Это намного проще, чем раньше, поскольку дистрибутивы (на языке Linux для «дистрибутивов» или операционных систем) размещались в Магазине Windows с момента выхода Windows 10 Fall Creators Update.

Откройте Магазин и найдите название своего дистрибутива. Вы также можете выполнить поиск по запросу «linux», чтобы увидеть ссылку на специальную страницу, на которой представлены все доступные дистрибутивы. Как уже упоминалось, мы будем использовать Ubuntu, но вы можете выбрать альтернативный дистрибутив, если хотите.

На этом этапе мы добавим краткое примечание по управлению версиями — некоторые дистрибутивы, включая Ubuntu, имеют несколько страниц в магазине, каждая из которых посвящена определенному выпуску.Например, в списке «Ubuntu» всегда отслеживается последняя версия Ubuntu с долгосрочной поддержкой (LTS), которая на момент написания — 18.04. Если вы хотите установить определенную версию, сначала убедитесь, что вы находитесь на нужной странице.

Когда вы найдете дистрибутив, который хотите установить, просто нажмите кнопку «Получить». Дистрибутив Linux загрузится и установится, как и любое другое приложение из Магазина Windows.

После завершения установки запустите дистрибутив из меню «Пуск».Откроется окно консоли, в котором будет отображаться прогресс по мере выполнения этапов окончательной установки и первого запуска. Подождите, пока эти действия завершатся.

После этого вы попадете на экран создания учетной записи пользователя UNIX. Следуйте инструкциям по созданию новой учетной записи пользователя Linux в вашем дистрибутиве. Не стесняйтесь выбирать любое имя пользователя и пароль — они не обязательно должны быть связаны с вашими учетными данными Windows.

Теперь ваш дистрибутив должен быть готов к работе. В следующий раз, когда вы запустите его, WSL запустится почти мгновенно и представит вам полностью функционирующий терминал Linux.Вы можете установить программное обеспечение Linux с помощью обычного диспетчера пакетов дистрибутива, но помните, что не все программы будут работать правильно — или вообще — под базовым ядром Linux, предоставляемым подсистемой Windows для Linux.

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

Однако после установки WSL обеспечивает невероятно простой подход к запуску Linux из Windows. Благодаря отсутствию накладных расходов на виртуализацию и встроенной поддержке Windows, это простой способ объединить лучшее из сред Windows и Linux.

Поделиться этим постом:

Как установить WSL 2 в Windows 10 (обновлено)

Если вы хотите опробовать улучшенную подсистему Windows для Linux 2 (также известную как WSL 2) в последних версиях Windows, вот как — мы расскажем обо всем, что вам нужно сделать для ее установки, в этом посте.

Не пропустите

Демонстрационные приложения Microsoft с графическим интерфейсом пользователя для Linux, работающие на WSL

WSL 2 — это серьезное обновление по сравнению с исходной версией WSL, представленной Microsoft в 2017 году. WSL 2 — это не просто скачок версии, он быстрее, универсальнее и использует настоящее ядро ​​Linux .

И новые обновления ядра Linux выпускаются как обновления программного обеспечения Windows 10 — что немного безумно, если подумать!

Цель Microsoft при создании WSL 2 — повысить производительность.И как лучше всего это сделать? Добавьте полную совместимость с системными вызовами, т. Е. Поставьте во главу угла настоящее ядро ​​Linux.

«[Эта] новая архитектура представляет собой лучшую платформу для команды WSL для предоставления функций, которые делают WSL отличным способом запуска среды Linux в Windows», — говорит из Microsoft.

Безумие пока не ослабевает, поскольку Microsoft планирует разрешить пользователям запускать настольные приложения Linux в Windows 10 и использовать задачи с интенсивным использованием графического процессора. Это также позволяет установить WSL с помощью одной команды.

На данный момент, если вы не пользуетесь последними инсайдерскими сборками, WSL 2 — это то, что требует немного усилий для настройки — но разве не стоит того, чтобы у вас была полноценная система Linux внутри Windows?

Установить WSL 2 в Windows 10

Требования

Для установки WSL 2 в Windows 10 вам понадобятся следующие вещи:

  • Windows 10 May 2020 (2004), Windows 10 May 2019 (1903) или Windows 10 November 2019 (1909) или более поздняя версия
  • Компьютер с поддержкой виртуализации Hyper-V

Хотя Windows Обновление 10 мая 2020 года было выпущено в мае 2020 года, не все устройства в настоящее время могут обновиться до него.Чтобы узнать, доступно ли обновление Windows 10 May 2020 Update на вашем компьютере, перейдите в Настройки > Обновление и безопасность> Центр обновления Windows .

Если вы не можете выполнить обновление, не паникуйте. В августе 2020 года Microsoft перенесла WSL 2 в старые версии Windows 10. Любой пользователь сборок 1903 или 1909 также может установить WSL 2, но сначала должен установить Центр обновления Windows KB4566116.

Продвинутые (и нетерпеливые) пользователи Windows также могут принудительно установить обновление Windows 10 May 2020, просто имейте в виду, что вы можете столкнуться с отсутствующими драйверами, сбоями графического интерфейса или другими сбоями оборудования, если вы пойдете по этому пути.

Технически вы, , можете установить WSL 2 на «инсайдерскую» сборку Windows 10 build 18917 или новее. Я не слишком хорошо знаком с тем, как работает «внутренняя» система сборки, поэтому просто имейте в виду, что остальная часть этой статьи основана на использовании этой функции в стабильной версии Windows.

Ваш компьютер также должен поддерживать виртуализацию Hyper-V для запуска WSL 2. Вы можете убедиться в поддержке Hyper-V.

Если вы не соответствуете обоим требованиям, вы не можете установить или включить WSL 2, но вы можете использовать WSL 1.

Процесс установки WSL 2 в Windows 10 выглядит так:

  1. Включить WSL 2
  2. Включить платформу виртуальной машины
  3. Установить WSL 2 по умолчанию
  4. Установить дистрибутив Linux

Я пройдусь по каждому из этих шагов по очереди с помощью приложения PowerShell , которое необходимо запустить от имени администратора. Вы можете найти PowerShell в меню «Пуск» Windows.

Примечание: WSL 1 можно установить и с помощью графического интерфейса, но гораздо быстрее использовать командную строку, а поскольку WSL — это инструмент командной строки, это тоже имеет смысл!

Шаг 1. Включите WSL

Независимо от того, какую версию WSL вы хотите использовать, вам сначала необходимо включить ее. Для этого откройте инструмент PowerShell от имени администратора и выполните команду ниже . Будьте осторожны, чтобы не набрать и не пропустить какой-либо символ в команде:

 dism.exe / онлайн / включить-функцию / имя функции: Microsoft-Windows-Subsystem-Linux / all / norestart 

Хотите использовать только WSL 1? Вы можете перейти к шагу 4.

Шаг 2. Включите «Платформу виртуальных машин»

WSL 2 требует, чтобы в Windows 10 была включена функция «Платформа виртуальных машин». Он отделен от Hyper-V и предоставляет некоторые из наиболее интересных интеграций платформ, доступных в новой версии подсистемы Windows для Linux.

Чтобы включить платформу виртуальных машин в Windows 10 (2004), откройте PowerShell от имени администратора и запустите:

 dism.exe / онлайн / включить-функцию / имя функции: VirtualMachinePlatform / all / norestart 

Чтобы включить платформу виртуальных машин в Windows 10 (1903, 1909), откройте PowerShell от имени администратора и запустите:

 Включить-WindowsOptionalFeature -Online -FeatureName VirtualMachinePlatform -NoRestart 

Чтобы убедиться, что все соответствующие части и части аккуратно встали на свои места, вам следует перезагрузить систему на этом этапе , иначе вы можете обнаружить, что все работает не так, как предполагалось.

Шаг 3. Установите WSL 2 по умолчанию

Откройте PowerShell от имени администратора и выполните эту команду, чтобы установить WSL 2 в качестве версии WSL по умолчанию:

 wsl --set-default-версия 2 

Вы можете (в любое время) настроить дистрибутив для работы в режиме WSL 1, если вам нужно.

Шаг 4. Установите дистрибутив

С WSL и необходимой технологией виртуализации все, что вам остается сделать, это выбрать и установить дистрибутив Linux из Microsoft Store.

Доступно несколько различных дистрибутивов, включая OpenSUSE , Pengwin , Fedora Remix и Alpine Linux . Но моя личная рекомендация (естественно) — Ubuntu 20.04 LTS (хотя также доступны 18.04 LTS и 16.04 LTS).

Чтобы установить Ubuntu в Windows 10, откройте приложение Microsoft Store, найдите «Ubuntu 20.04» и нажмите кнопку «Получить»:

Ubuntu 20.04 LTS в Microsoft Store

Пока вы находитесь в Microsoft Store, я настоятельно рекомендую вам также установить приложение Windows Terminal с открытым исходным кодом.Этот инструмент разработан, чтобы предоставить вам лучших возможностей WSL:

Терминал Windows в Магазине Microsoft

5. Используйте WSL 2

При установке Ubuntu (или другого дистрибутива Linux) в меню «Пуск» был добавлен ярлык. Используйте это, чтобы «открыть» Ubuntu (или любой другой дистрибутив, который вы выбрали). В первый раз, когда вы запустите дистрибутив, все будет казаться немного медленным. Это ожидается; дистрибутив должен распаковать и распаковать все свое содержимое — только не прерывайте процесс.

Вам также будет предложено установить имя пользователя и пароль для использования в дистрибутиве. Попробуйте выбрать то, что вы не забудете.

Конвертировать Ubuntu на WSL 1 в WSL 2

Если вы используете WSL 1, вы можете обновить существующую установку WSL 1 до WSL 2. Чтобы преобразовать существующий дистрибутив WSL 1 в WSL 2, выполните следующее в PowerShell , например:

 wsl.exe --set-версия Ubuntu 2 

Вам следует заменить «Ubuntu» на имя того дистрибутива, который запускается при установке WSL 1.

Сообщите мне, сработало ли это руководство для вас, в комментариях!

Главная »Как сделать» Как установить WSL 2 в Windows 10 (обновлено)

Развлечения с подсистемой Windows для Linux

На Build 2016 Microsoft представила миру подсистему Windows для Linux (бета) [WSL], которая позволяет разработчикам запускать собственные двоичные файлы консоли пользовательского режима Ubuntu через оболочку Bash в Windows 10. Если вы участвуете в программе предварительной оценки Windows , у вас была возможность опробовать эту функцию с помощью последних сборок Windows Anniversary Update Insider Builds.

Веб-разработчики привыкли делать сложный выбор, какие инструменты и библиотеки они могут использовать, в зависимости от операционной системы, над которой они активно работают. WSL был разработан и создан командой Windows Kernel Team и предоставлен в партнерстве с Canonical, чтобы помочь разработчикам Windows 10 использовать богатую экосистему разработчиков Linux и инструменты наряду с отличными инструментами, которые они уже используют в Windows, без необходимости загружаться в другую операционную систему. или ВМ. Это определенно функция Windows 10, созданная «разработчиками для разработчиков», специально разработанная для того, чтобы убрать небольшие затруднения в повседневном рабочем процессе разработчиков.

В этом посте я собираюсь показать вам несколько функций WSL, которые лично мне кажутся очень интересными, а также укажу вам на некоторые ресурсы, которые помогут вам узнать больше. Сначала я покажу интеграцию основных команд, таких как ssh, для работы с серверами и устройствами Linux. Во-вторых, я продемонстрирую способность использовать сценарии Bash для автоматизации задач очень естественным образом. В-третьих, я немного повеселюсь с великолепными компиляторами командной строки, другими инструментами и предлагаемой совместимостью с * nix, а также немного поиграю в NetHack.Наконец, я покажу вам возможность использовать существующий Python и другие скрипты, доступные в Интернете.

Windows — это моя основная операционная система и среда разработки, и она была моей первой операционной системой и средой разработки с Windows 3.0. Тем не менее, у меня всегда были серверы или устройства Linux, которые носились вокруг меня. От устройств Интернета вещей, таких как Raspberry Pi и выделенных маршрутизаторов / шлюзов до серверов Minecraft, они, как правило, собираются на полках и в углах моего офиса. Одна вещь, которую мне всегда нужно делать, — это легко управлять этими компьютерами Linux и настраивать их с моей основной рабочей станции.

Управление серверами и устройствами

В настоящее время я запускаю безголовый сервер Ubuntu Minecraft из своего дома. Это был мой рождественский подарок моему 10-летнему сыну в прошлом году, но он оказался моей игрушкой в ​​такой же степени, как и его (хорошо, больше моей игрушкой). Раньше я использовал несколько клиентских приложений для управления им с моего основного ПК с Windows 10, но теперь я просто использую командную строку ssh из Bash в Windows 10. Использование таких приложений, как PuTTY и Tera Term, конечно же, нормально, как и использование отличные инструменты, которые поставляются с Cygwin, но я хотел по-настоящему естественный и естественный опыт, который просто хорошо работал.Сигвин всегда чувствовал, что заказывает жаркое в пиццерии. Это было хорошо, но казнь просто не подходила для окружающей среды.

У меня есть пары открытого / закрытого ключей, настроенные с использованием ssh-keygen и ssh-copy-id из WSL, поэтому для ssh я просто набираю:

[код]

$ ssh <имя пользователя> @ <сервер>

[/ код]

Я создал псевдоним, который делает это быстрее. Это стандартная функция Linux / Bash:

[код]

$ псевдоним mc = ’ssh <пользователь> @ <сервер>’

[/ код]

Теперь, чтобы перейти на сервер Minecraft, я просто набираю «mc» в командной строке Bash в Windows 10.

Этот же подход, конечно же, работает с любыми веб-серверами или серверами баз данных на базе Linux, или даже с Raspberry Pi и аналогичными устройствами IoT, которые вы можете использовать как часть своего решения.

Возможность полностью защитить оболочку из командной строки — это просто удобство и предпочтение. Однако, как только вы привыкнете работать непосредственно в оболочке, в полноценной среде, включающей такие основные компоненты, как apt, node, Ruby, Python и другие, вы откроете всевозможные возможности для автоматизации.

Удаленное создание сценариев

Допустим, у вас есть целая группа устройств или серверов Linux, и вы хотите выполнить на них удаленную команду.Предполагая, что вы уже настроили свои пары открытого / закрытого ключей, вы можете просто выполнять удаленные команды ssh из Bash.

Например, чтобы узнать время последней перезагрузки на удаленном сервере, введите следующее:

[код]

$ ssh <пользователь> @ <сервер> ‘last -x | grep reboot’

[/ код]

Эта защищенная оболочка запускает сервер, выполняет последнюю команду -x и ищет строки, содержащие слово «перезагрузка». Когда я запускаю его на своем сервере Ubuntu Minecraft, я получаю следующий результат:

[код]

перезагрузка системы boot 4.4.0-28-generic Чт 7 июля 08:14 все еще работает

[/ код]

Это один сервер. Если у вас есть список серверов, вы можете автоматизировать и эту часть. Я создал файл с именем servers.txt в моем домашнем каталоге на WSL. Он содержит набор имен серверов / устройств Linux — по одному в каждой строке. Затем я прочитал этот файл из сценария, созданного в моем домашнем каталоге на WSL.

После многих лет работы с такими устройствами, как Raspberry Pi, я был типом нано (на VMS я был сотрудником LSEdit), так что вот как выглядит сценарий в моем любимом редакторе консоли:

Конечно, вы можете использовать vim или emacs или любой другой редактор, который работает в сеансе консоли Ubuntu.

Используемый язык — сценарий Bash (также называемый сценарием оболочки Bash). Чтобы выполнить сценарий, я просто набираю:

[код]

$ ./foreachserver.sh ‘last -x | grep reboot’

[/ код]

И он будет перебирать каждый сервер / устройство в файле и выполнять эту команду удаленно через ssh. Конечно, это очень простой пример, но вы можете расширить его до перенаправления в локальных скриптах или других полезных командах. Язык сценариев Bash достаточно богат, чтобы с его помощью можно было выполнять большинство задач удаленного администрирования.Вы также можете расширить его с помощью других приложений, которые вы загружаете на WSL или на удаленные компьютеры.

Что делать, если вы хотите использовать локальные файлы и ресурсы Windows в рабочем процессе на других компьютерах Linux? Или что, если вы вообще не используете Linux? Способен ли Bash работать с локальными файлами и ресурсами Windows или это полностью изолированная среда?

Работа с файлами Windows

WSL имеет доступ к файловой системе вашего ПК через каталоги / mnt / <буква диска> / (или точки монтирования).Например, ваши корневые каталоги C: и D: в Windows будут доступны через / mnt / c / и / mnt / d / соответственно в WSL. Это может быть полезно, если вы хотите включить файлы проекта Windows, загрузки или другие файлы в рабочий процесс на основе Linux / Bash.

Эти карты с SSD и механическим приводом у меня на ПК:

Это логические подключения, поэтому они в настоящее время не отображаются, когда вы используете такие команды, как mount, в оболочке. Но они работают так, как вы от них ожидаете.Например, из Windows я поместил текстовый файл с именем test.txt в корень моего диска C. Я могу получить к нему доступ из WSL вот так:

Во время Build Tour мы хотели убедиться, что все демоверсии работают без доступа в Интернет (никогда не знаешь, на что будет похожа сеть на площадках). Итак, чтобы убедиться, что демонстрация Bash / WSL будет работать для части Git, и чтобы продемонстрировать доступ к файлам Windows на локальном ПК, я создал локальное репо на C: gitNetHack на ПК с Windows. Чтобы клонировать это в WSL, я выполнил следующее:

[код]

$ git –clone file: /// mnt / c / git / NetHack

[/ код]

Эта командная строка приказала git использовать протокол file: // и клонировать репо, расположенное в / mnt / c / git / NetHack.Вы можете получить доступ ко всем своим файлам Windows аналогичным образом.

Предупреждение: Как и в любой другой консоли, вы можете изменять / удалять файлы в файловой системе Windows из Bash, если вы не будете осторожны. Например, вы можете сделать что-то вроде следующего и в конечном итоге стереть значительную часть своей установки Windows, если у учетной записи Windows, под которой вы работаете, есть права на это:

[код]

$ rm -rf / mnt / c / [НЕ ДЕЛАЙТЕ ЭТО]

[/ код]

Я говорю об этом, потому что команды Linux для многих из нас в новинку, а консольные команды Windows — нет.

Магия, благодаря которой происходит интеграция файловой системы, называется DrvFs . Если вы хотите узнать больше о файловой системе и о том, как она работает в WSL, команда WSL составила отличный пост в блоге со всеми подробностями.

Конечно, доступ к файловой системе — это только часть дела. Многие задачи разработки включают доступ к удаленным ресурсам через HTTP или другие сетевые протоколы.

Выполнение HTTP-запросов

Часто бывает полезно выполнить вызов REST или другого HTTP (или FTP) из сценария или командной строки, а не из скомпилированной программы или веб-страницы.Как и большинство дистрибутивов Linux, WSL включает стандартные утилиты, такие как curl и wget, для выполнения HTTP и других сетевых вызовов. Например, вот REST-вызов GitHub для получения информации о моем профиле с помощью curl:

.

[код]

$ curl -i https://api.github.com/users/Psychlist1972
HTTP / 1.1 200 OK
Сервер: GitHub.com
Дата: среда, 13 июля 2016 г. 02:38:08 GMT
Content-Type: application / json; charset = utf-8
Content-Length: 1319
Status: 200 OK

{
«логин»: «Psychlist1972»,
«avatar_url»: «https: // аватары.githubusercontent.com/u/1421146?v=3 «,
» url «:» https://api.github.com/users/Psychlist1972 «,
» name «:» Pete Brown «,
» company «:» Microsoft «,

}

долларов США

[/ код]

Вы можете комбинировать это со сценариями Bash для создания клиентов быстрого тестирования для REST API или утилит для проверки связи веб-страниц на серверах и отчетов о состоянии. Также замечательно просто загрузить файл из Интернета; вы можете просто перенаправить вывод в файл, а не просматривать его на экране:

[код]

$ curl -i https: // api.github.com/users/Psychlist1972> pete.json

[/ код]

Я также являюсь пользователем PowerShell и даже создал несколько интересных расширений для использования Windows 10 MIDI в PowerShell, а также для исправления некоторых повреждений файлов, которые происходили с пользователями определенного оборудования для записи звука. Как давний разработчик и поклонник .NET, я буду продолжать использовать и расширять PowerShell, если это имеет смысл для моих проектов. Но PowerShell — неподходящая среда для запуска всех тех утилит и примеров с открытым исходным кодом, ориентированных на Bash и Linux, которые сегодня доступны в Интернете.Я хочу использовать самый простой и беспроблемный способ выполнить любую задачу, а иногда это означает делать это в Bash.

Я почти не коснулся здесь Bash, сценариев Bash и задач, которые вы можете выполнять из оболочки. До сих пор я говорил о служебных работах, которые полезны, но являются вспомогательными для разработки. А как насчет реальной разработки и компиляции из WSL? Я продемонстрировал это в рамках Build Tour.

Bash в туре по сборке — NetHack

Ранее этим летом докладчики из Microsoft объехали весь мир, демонстрируя некоторые из замечательных новых функций для разработчиков в Windows и Microsoft Cloud.В рамках этого мы хотели продемонстрировать WSL в увлекательной игровой форме, но также и так, чтобы разработчики были связаны с ней.

Я лично хотел показать использование git и некоторых традиционных инструментов разработки консоли. Когда я писал демонстрацию Bash, я включил основы («Hello World» в Python и Ruby), но хотел показать что-то более необычное.

Я вспомнил, когда я учился в колледже, когда мы метались между Unix (DEC Ultrix и SunOS) и VAX / VMS. В то время Unix была почти исключительно средой командной строки.В моей школе большинство пользователей X на нескольких графических рабочих станциях просто открывали несколько сеансов терминала в разных окнах, но с супер-крутыми обоями фазы луны на заднем плане. Большинство студентов использовали терминалы VT-220 на своих занятиях (школа была недалеко от Бостона, поэтому у нас было много оборудования DEC).

В то время были две большие игры, в которые играли все крупные специалисты по информатике: MUD (lpMUD и совершенно новая на то время DikuMUD, в первую очередь) и NetHack.NetHack и другие рогалики считаются одними из самых влиятельных игр в истории, являясь предшественниками многих игр про прохождение подземелий и ролевых игр, которыми мы наслаждаемся сегодня.

NetHack имеет долгую историю и на сегодняшний день содержит более ста тысяч строк кода * nix десятилетней давности, а также современные дополнения. Сама игра использует curses (или их замены) для взаимодействия с терминалом, требует lex и yacc (или flex и bison) и cc (или gcc), а также множество других инструментов разработчика для сборки.

Он написан на C и включает в себя ряд утилит конфигурирования, написанных для оболочки Bourne с большим количеством скриптов. Я подумал, что это будет хороший и забавный тест для проверки возможностей разработчиков WSL и Bash в Windows 10. Благодаря использованию curses (libncurses в Linux и WSL), это также поможет продемонстрировать возможности встроенной эмуляции терминала. в окно консоли Windows 10.

Раньше сборка NetHack из исходных кодов занимала вечность на нашем сервере Ultrix, ограниченном по времени.Теперь на моем компьютере у меня все готово. Я люблю прогресс. Есть простые и сложные способы настройки и компиляции NetHack в Linux или WSL. Чтобы сэкономить вам время, я расскажу о простом подходе.

Предварительные требования

Сначала обновите среду WSL, чтобы убедиться, что вы указываете последний каталог программного обеспечения, а также обновите базовую установку. Как правило, это рекомендуется сделать перед установкой новых пакетов.

[код]

$ sudo apt update
$ sudo apt upgrade

[/ код]

Затем установите необходимые инструменты разработчика.Самый простой способ сделать это — использовать пакет build-essential. Сюда входят почти все консольные программы, которые потребуются разработчику Linux для создания приложений на C / C ++.

[код]

$ sudo apt install build-essential

[/ код]

Это займет несколько минут. Если вы хотите быть более хирургическим, вы можете отдельно установить gcc, gdb, make, flex, bison и другие инструменты, указанные в документации NetHack. Но если вы разработчик, вам, вероятно, когда-нибудь понадобятся другие инструменты.Пакет build-essential избавляет от необходимости строить догадки при установке набора инструментов.

Затем установите git. Как вы понимаете, это просто:

[код]

$ sudo apt install git

[/ код]

Как и в случае с Linux, вы можете добавить git PPA, чтобы получить более свежую версию, но эта подойдет для того, что мы здесь делаем.

И, наконец, мы хотим установить curses (фактически, ncurses) для взаимодействия с экраном консоли:

[код]

$ sudo apt установить libncurses-dev

[/ код]

После того, как вы выполнили эти шаги, вы готовы приступить к сборке NetHack.

Создание NetHack

Официальный репозиторий NetHack находится на GitHub. Сначала мы возьмем это и поместим в подпапку в нашем домашнем каталоге.

[код]

$ cd ~
$ git clone http://github.com/NetHack/NetHack

[/ код]

Поскольку NetHack поддерживает очень много различных операционных систем, вам нужно будет выполнить некоторую базовую настройку, чтобы сообщить ему, что мы используем Linux в командной строке и заменяем бесплатные инструменты с открытым исходным кодом на классические Unix, такие как gcc на cc.

Как я уже упоминал, есть несколько способов сделать это. Кто-то был достаточно внимателен, чтобы инкапсулировать большую часть конфигурации в файле подсказок. Поверьте, использование файла подсказок сэкономит вам часы головной боли при настройке по сравнению с шагами, описанными в репозитории GitHub. Не сразу становится понятно, как использовать подсказки, если вы посмотрите файлы README или другую документацию, так что готово:

[код]

$ cd NetHack / sys / unix
$ ./setup.sh подсказки / linux

[/ код]

Это настроит make-файл для использования правильных инструментов, библиотек и путей для Linux.Сценарии установки — это нетривиальные сценарии оболочки, которые выполняют большую часть настройки; Я рад сообщить, что они отлично работают в WSL. Если вас интересуют сценарии оболочки, обязательно откройте их в своем любимом редакторе.

Затем финальная сборка:

[код]

$ cd ~ / NetHack
$ сделать все

[/ код]

После сборки вы захотите создать установку. На самом деле речь идет о копировании исполняемого файла в известное место:

[код]

$ сделать установку

[/ код]

После этого у вас останется папка с именем ~ / nh.Nethack находится в каталоге ~ / nh / install / games и называется просто nethack. Чтобы запустить его, перейдите в этот каталог (или введите полный путь) и введите:

[код]

$ cd ~ / nh / install / games
$ nethack

[/ код]

Как только вы это сделаете, экран очистится, и вам будет предложено начать играть в NetHack. Обратите внимание, что здесь все делается так же, как и в обычной установке Ubuntu Linux; ничего специфичного для Windows не требовалось.

Играет в NetHack

Учитывая ограничения консольной игры и сложность NetHack, может потребоваться немного времени, чтобы разобраться в ней. Сказать, что сначала это будет немного загадочно, будет преуменьшением, но я никогда не встречал разработчика, который уклонялся бы от хорошей задачи.

Клавиши навигации такие же, как и в VI (M), поэтому HJKL для Left, Down, Up и Right соответственно. Чтобы выйти, вы можете найти лестницу на верхнем уровне и использовать ее или нажать Control-C, чтобы принудительно выйти из игры.

В NetHack вы являетесь символом @ . Каждый уровень состоит из комнат, коридоров, дверей и обеих лестниц вверх и вниз. Монстры, сокровища и предметы представлены различными символами ASCII, с которыми вы познакомитесь во время игры. Как и в случае с рогаликами, нет спасения, и вы получаете только одну жизнь. Если вы умрете и снова начнете играть, подземелье будет случайным образом перегенерировано, а предметы будут перемешаны.

Цель NetHack — выжить в подземельях, собрать золото и предметы и убить как можно больше монстров.Есть и другие цели, но вам нужно немного поиграть (или прочитать), чтобы их обнаружить. Правила примерно соответствуют правилам Dungeons & Dragons в отношении оружия, навыков и т. Д.

Вот снимок экрана NetHack, на котором видны три комнаты и два коридора. Лестница наверх находится в верхней левой комнате, а я сейчас нахожусь в верхней правой комнате вместе с некоторыми сокровищами и другими предметами.

Если в вашей версии нет цвета, создайте файл с именем ~ / .nethackrc и поместите в него следующее:

[код]

OPTIONS = color: true, dark_room: true, menucolors: true

[/ код]

Помимо : Если символьная графика ASCII не для вас, но вам нравится концепция, поищите «roguelike» в Microsoft Store и наслаждайтесь другими визуальными играми в этом популярном жанре.

Конечно, NetHack — это древняя кодовая база, наиболее дорогая для людей определенного возраста. Однако при его создании задействовано значительное количество важных инструментов разработчика и функций операционных систем * nix, а также эмуляция терминала. Приятно видеть, что все это, от gcc, gdb, make, bison и flex до более современного git, сегодня работает на WSL.

Если вы хотите увидеть вышеприведенную демонстрацию в том виде, в каком она была сделана во время Build Tour, просмотрите эту презентацию из Build Tour Canada. Демонстрация WSL начинается примерно в 6:20 дюйма.(И да, это подсистема Windows для Linux, несмотря на то, что я сказал в том видео.)

https://channel9.msdn.com/Events/Build/Build-Tour-2016-Toronto/Keynote

Надеюсь, вам понравится ваше путешествие в подземелья NetHack!

C и C ++ великолепны, как и все эти классические инструменты разработчика. Вы даже можете многое сделать с помощью простых сценариев Bash. Но многие задачи разработчика связаны с такими языками сценариев, как Python.

Python

Вы можете найти примеры сценариев Python по всему Интернету, что означает, что Python популярен и полезен для многих разработчиков.Большинство этих примеров, конечно, предполагают, что вы используете Linux. Раньше это означало запускать их в системе Linux на другом компьютере, виртуальной машине или варианте загрузки или вносить любые необходимые изменения, необходимые для их запуска с использованием дистрибутивов Python для Windows.

Это не непреодолимые проблемы, но в повседневной жизни разработчика такие небольшие трения складываются. С WSL у вас всегда есть совместимая с Python подсистема и оболочка, доступные вам, без необходимости выходить из своей зоны.

Чтобы установить последнюю разрабатываемую версию Python и программу установки пакета python «pip», выполните в командной строке Bash следующее:

[код]

$ sudo apt install python-pip python-dev
$ sudo pip install –upgrade pip

[/ код]

Теперь, когда Python установлен, я хотел показать, как вы можете взять типичный пример Linux Python с сайта и работать с ним напрямую. Я перешел на сайт рецептов Python Activestate и выбрал лучший пример Python.Хорошо, я солгал. Верхний предназначен для печати имен целых чисел, и это звучало не слишком увлекательно, поэтому я выбрал второй: Тетрис. Я полагал, что вы все видите достаточно практичного Python каждый день, поэтому я собираюсь перейти к другой игре.

Я открыл nano, скопировал 275 строк кода Python прямо со страницы в моем браузере в Windows, вставил их в nano в окне консоли WSL, сохранил как tetris.py и затем просто выполнил:

[код]

$ питон tetris.py

[/ код]

Это немедленно очистило экран и вызвало простое приложение Tetris.Как и в случае с NetHack, вы используете те же клавиши перемещения стандарта VI. (Во времена, когда для перемещения не использовались мышь и клавиши WASD, правая рука находилась на клавишах HJKL на клавиатуре.)

Как я уже упоминал, вы, конечно, можете запускать Python в Windows без WSL. Однако для быстрых утилит и примеров, возможность запустить пример Linux Python без изменений, просто вставив некоторый код из известного источника, является большим повышением производительности для разработчиков .

В том-то и дело.Речь не идет о замене других встроенных в Windows инструментов, таких как Python, PowerShell, C # и других. Речь идет об устранении трений, когда вам просто нужно быстро и эффективно выполнять задачи в современном рабочем процессе разработки.

Между Bash, Python и всеми собственными инструментами разработки Linux из командной строки WSL покрывает мои потребности в рабочем процессе Linux. Это не Linux-сервер и даже не полноценный Linux-клиент. Напротив, это именно то, что мне нужно, чтобы уменьшить некоторые повседневные проблемы и сделать разработку в Windows еще более продуктивной и приятной.

Сброс среды WSL

Не стесняйтесь экспериментировать. Если вы повредите установку WSL, ее достаточно легко переустановить. Обязательно сохраните копии всего важного.

[код]

C:> lxrun.exe / удалить / полный
C:> lxrun.exe / установить

[/ код]

Как вы используете Bash и WSL?

Мы надеемся, что наличие WSL и, в частности, Bash в Windows 10 поможет вам быть немного эффективнее и устранит некоторые затруднения при выполнении повседневных задач разработки.

Как вы используете WSL в Windows 10? Как бы вы хотели его использовать?

Команда проделывает большую работу, чтобы WSL стал отличным консольным инструментом для разработчиков. Если у вас есть отзывы или вы столкнулись с проблемами, мы рекомендуем проверить страницу проблем GitHub, а также сайт отзывов и голосования UserVoice. Нам очень хотелось бы получить известие от вас.

Дополнительные ссылки и дополнительная литература

Создание сценариев оболочки Linux

— это огромная тема, и в Интернете есть множество отличных руководств.Если вы еще не знакомы с ним и хотите узнать больше, вам подойдет любой учебник по Bash. Вот с одного из них.

Вот некоторые дополнительные ссылки, которые могут оказаться полезными:

Да, и, конечно же, чтобы узнать больше о NetHack, посетите главный сайт NetHack.

.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *