Установка WSL
Предварительные требования
Вам следует использовать Windows 10 версии 2004 и выше (сборка 19041 и выше) или Windows 11.
Чтобы проверить версию и номер сборки Windows, нажмите клавиши WINDOWS+R, введите winver и щелкните ОК. Вы можете выполнить обновление до последней версии Windows в меню параметров или с помощью помощника по Центру обновления Windows.
Установка
Теперь вы можете установить все необходимое для запуска подсистемы Windows для Linux (WSL), введя эту команду в PowerShell или командной строке Windows, а затем перезапустив компьютер.
При первом запуске недавно установленного дистрибутива Linux откроется окно консоли. Вам будет предложено подождать, пока файлы будут распакованы и сохранены на компьютере. Все будущие запуски должны занимать меньше секунды.
Изменение установленного дистрибутива Linux по умолчанию
Если во время установки возникла проблема, см. раздел Установка руководства по устранению неполадок.
Настройка сведений о пользователе Linux
После установки WSL необходимо создать учетную запись пользователя и пароль для установленного дистрибутива Linux. Дополнительные сведения см. в статье Рекомендации по настройке среды разработки WSL.
Советы и рекомендации
Мы рекомендуем использовать наше пошаговое руководство Рекомендации по настройке среды разработки WSL. В нем описано, как настроить имя пользователя и пароль для установленных дистрибутивов Linux, использовать основные команды WSL, установить и настроить Терминал Windows, настроить управление версиями Git, отредактировать код и выполнить отладку с помощью удаленного сервера VS Code. Кроме того, в руководстве приведены рекомендации по хранению файлов, настройке базы данных, подключению внешнего диска, настройке ускорения GPU и пр.
Хотите испытать новейшие предварительные версии функций WSL?
Чтобы поработать с самыми последними функциями или обновлениями для WSL, присоединитесь к Программе предварительной оценки Windows. Когда вы присоединитесь к участникам Программы предварительной оценки Windows, вы сможете выбрать канал для получения предварительных сборок в меню параметров Windows и будете автоматически получать предварительные версии функций и обновления для WSL, связанные с этой сборкой. Можно выбрать одно из следующих значений.
Как установить подсистему Windows для Linux (WSL) на Windows 10
Да, вы можете запускать Linux на Windows 10 без необходимости использования второго устройства или виртуальной машины с помощью подсистемы Windows для Linux, и вот как ее настроить.
Хотя вам не нужен графический интерфейс, такой подход позволяет разработчикам и сетевым администраторам использовать длинный список команд (таких как vim, tmux, andemacs, sshd, Apache и MySQL), а также запускать сценарии оболочки Bash, написанные на Python, Ruby, C#, F# и многих других языках с помощью командной консоли.
В этом руководстве по Windows 10 мы рассмотрим шаги по установке подсистемы Windows для Linux с помощью приложения «Настройки», а также PowerShell. Кроме того, мы покажем вам инструкции по загрузке и установке дистрибутивов Linux, а также шаги по правильному удалению всех компонентов, когда вам больше не нужна среда с открытым исходным кодом.
Как установить подсистему Windows для Linux с помощью настроек
Если вы хотите запускать дистрибутивы Linux на Windows 10, вам необходимо включить функцию Windows Subsystem for Linux, прежде чем вы сможете загрузить и установить дистрибутив Linux, который вы хотите использовать.
Включение подсистемы Windows для Linux с помощью настроек
Чтобы установить WSL с помощью Настроек в Windows 10, выполните следующие действия:
4. Нажмите опцию Включить или выключить функции Windows на левой панели.
5. Отметьте опцию Подсистема Windows для Linux.
6. Нажмите кнопку OK.
7. Нажмите кнопку Перезапустить сейчас.
После выполнения этих шагов среда будет настроена для загрузки и запуска дистрибутивов Linux на Windows 10.
Установка дистрибутивов Linux с помощью Microsoft Store
Чтобы установить дистрибутив Linux на Windows 10, выполните следующие действия:
Некоторые из доступных дистрибутивов включают:
3. Выберите дистрибутив Linux для установки на устройство.
4. Нажмите кнопку Получить (или Установить).
5. Нажмите кнопку Запуск.
6. Создайте имя пользователя для дистрибутива Linux и нажмите Enter.
7. Укажите пароль для дистрибутива и нажмите Enter.
8. Повторите пароль и нажмите Enter для подтверждения.
После выполнения этих шагов вы можете начать использовать дистрибутив как любой другой вариант Linux (конечно, без графического интерфейса пользователя).
Удаление дистрибутивов Linux с помощью Настроек
Если вам больше не нужно запускать Linux на вашем устройстве, рекомендуется удалить дистрибутив, а затем отключить WSL.
Чтобы удалить дистрибутив Linux, выполните следующие действия:
6. Нажмите кнопку Удалить еще раз для подтверждения.
После выполнения этих действий установка Linux будет удалена, и вы сможете продолжить шаги по отключению WSL.
Отключение подсистемы Windows для Linux с помощью настроек
Чтобы отключить WSL в Windows 10, выполните следующие действия:
4. Нажмите опцию Включить или выключить функции Windows на левой панели.
5. Снимите флажок Подсистема Windows для Linux.
6. Нажмите кнопку OK.
7. Нажмите кнопку Перезапустить сейчас.
После выполнения этих действий Windows Subsystem for Linux будет удалена с вашего устройства.
Если у вас нет доступа к графическому интерфейсу Windows или вам удобно пользоваться командной строкой, вы также можете использовать PowerShell для включения подсистемы Windows для Linux, загрузки и установки дистрибутивов Linux, а также отмены всех изменений.
Включение подсистемы WSL с помощью PowerShell
Чтобы установить подсистему WSL с помощью PowerShell, выполните следующие действия:
4. Введите Y и нажмите Enter для подтверждения и перезагрузки компьютера.
После выполнения этих шагов вы можете перейти к инструкциям по загрузке и установке любого совместимого дистрибутива Linux, доступного через Microsoft Store.
Установка дистрибутивов Linux с помощью PowerShell
Чтобы загрузить и установить дистрибутив Linux (например, Ubuntu) с помощью PowerShell, выполните следующие действия:
В этом примере осуществляется переход к папке data в корне основного диска:
4. Введите следующую команду для загрузки Ubuntu и нажмите Enter:
Приведенная выше команда загружает Ubuntu версии 16.04, но вам может понадобиться обновить команду, указав имя и версию дистрибутива, который вы пытаетесь загрузить.
5. Введите следующую команду для просмотра фактического имени программы установки и нажмите Enter:
6. Введите следующую команду для установки Ubuntu версии 16.04 и нажмите Enter:
Этот пример устанавливает дистрибутив Ubuntu на Windows 10:
8. Найдите недавний дистрибутив Linux (например, Ubuntu), нажмите на верхний результат, чтобы запустить его.
9. Создайте имя пользователя для дистрибутива Linux и нажмите Enter.
10. Укажите пароль для дистрибутива и нажмите Enter.
11. Повторите пароль и нажмите Enter для подтверждения.
После выполнения этих шагов вы можете начать использовать Ubuntu или любой другой дистрибутив так же, как и при полной установке Linux без графического интерфейса.
Деинсталляция дистрибутива Linux с помощью PowerShell
Если вы хотите отменить изменения, сначала необходимо удалить любой дистрибутив Linux, прежде чем отключать WSl.
В этом примере выполняется поиск пакета приложений, в названии которого присутствует «ubuntu»:
В команде обязательно замените «ubuntu» на название дистрибутива, который вы пытаетесь найти.
4. Введите следующую команду для удаления версии Linux, установленной на вашем компьютере, и нажмите Enter:
Get-AppxPackag FULL-DISTRO-NAME | Remove-AppxPackage
В этом примере удаляется пакет Ubuntu из Windows 10:
Get-AppxPackage CanonicalGroupLimited.Ubuntu16.04onWindows | Remove-AppxPackage
В команде обязательно замените
«CanonicalGroupLimited.Ubuntu16.04onWindows» на имя дистрибутива, который вы пытаетесь удалить.
После выполнения этих шагов вы можете приступить к отключению функции Windows Subsystem for Linux на вашем компьютере.
Отключение подсистемы Windows для Linux с помощью PowerShell
Чтобы отключить WSL с помощью PowerShell, выполните следующие действия:
4. Введите Y и нажмите Enter для подтверждения и перезагрузки компьютера.
После выполнения этих действий среда Linux будет отключена на вашем компьютере.
Начать курс Linux бесплатно:yodo.im/start
Насколько публикация полезна?
Нажмите на звезду, чтобы оценить!
Средняя оценка 4.8 / 5. Количество оценок: 4
Чудеса упаковки от Microsoft: ядро Linux в Windows 10 и движок IE внутри Chromium Edge
На своей ежегодной конференции для разработчиков компания Microsoft сделала сразу несколько достаточно важных презентаций. Мы выбрали две из них.
Первое: в летней сборке 19H2 Windows 10 будет поставляться полноценное Linux-ядро на базе версии 4.19 от 22 октября 2018 года для собственной подсистемы «Linux для Windows» (WSL — Windows Subsystem Linux).
Второе: в будущие энтерпрайз-сборки Chromium-реинкарнации умерщвленного компанией Microsoft Edge будет встроено ядро IE.
Первая новость — важна и полезна для разработчиков, вторая — похожа на плохой анекдот.
Мы встроили в твой Chromium-браузер движок IE, чтобы ты не забывал, что это браузер Edge
Linux Kernel в Windows 10
Добавление полноценного ядра Linux в Windows 10 — логичный шаг, который продолжает методичную работу Microsoft с сообществом. Ранее в Windows была доступна лишь эмуляция ядра Linux. Параллельно с ядром Linux внутри своей системы компания анонсировала выход Windows Terminal — новое приложение для Windows для централизованного доступа к подсистемам PowerShell, Cmd и, собственно, самого Linux-ядра в упаковке WSL.
Представители компании уверяют, что 4.19 — не последняя версия ядра для их подсистемы. В будущем WSL будет обновляться и идти в ногу со стабильными версиями ядра Linux, что также немаловажно. Кроме того, внедрение полноценного ядра в систему отметает необходимость эмуляции, что, непосредственно, увеличит производительность и комфорт разработчиков, работающих из-под Windows. Кроме этого WSL базируется на открытом исходном коде, то есть любой разработчик сможет вносить необходимые ему изменения в подсистему и делать форки ядра.
Это не первый крупный шаг навстречу сообществу разработчиков. Ранее компания интегрировала в свою систему Bash, что можно назвать крайне серьезным шагом для весьма консервативной Microsoft.
Действия Microsoft удивляют, но уже не шокируют: под управлением Сатьи Наделлы компания фактически ворвалась в open source-сообщество и все больше и больше ориентируется на работу непосредственно с девелоперами и enterprise-сегментом, о чем свидетельствуют действия Microsoft за последние 3-4 года.
Чудовище Microsoft’а или зачем в Chromium Edge ядро Internet Explorer
Каждый с содроганием вспоминает Internet Explorer, а старые верстальщики еще и плачут при этом. Когда Microsoft анонсировала Spartan и отказ от IE, по всему миру начали открывать шампанское, но реальность оказалась злее, чем мы надеялись. До сих пор существуют решения, порталы и сайты, созданные для работы исключительно под IE старых версий. В основной своей массе эти решения обитают в закрытых enterprise-решениях. Когда-то у Microsoft был выбор: вынудить компании по всему миру обновить свои внутренние продукты и решения из-за полного отказа компании от IE, или же начать воевать «не в ту сторону». Так как полный отказ от IE грозил миллиардными потерями для Microsoft и репутационным ущербом, гиганту пришлось из года в год тащить совместимость своего браузера со страницами, адаптированными для работы в Internet Explorer.
Даже после громкого отказа от движка EdgeHTML и перевода разработки «браузера по умолчанию» для Windows 10 на движок Chromium, Microsoft не удается убежать от своего страшного наследия в лице Internet Explorer.
Поэтому специально для Enterprise-сборок Windows 10 компания будет поставлять версию Chromium Edge с «сюрпризом» — встроенным движком IE в сам Edge. Такое странное решение позволит обеспечить совместимость нового браузера со старыми корпоративными решениями, которые когда-то опрометчиво прибили гвоздями к Internet Explorer.
При открытии в новом Chromium Edge любой страницы, адаптированной для Internet Explorer, браузер автоматически будет активировать «режим совместимости с IE» и подключать отображение, соответствующее такому в Internet Explorer 11. Узнать, что страница запущена в режиме совместимости можно будет по специальному значку IE рядом с адресной строкой на странице браузера.
Сами Microsoft настаивают на том, что компаниям, пользующимся устаревшими веб-порталами, стоит перейти на новый Chromium Edge и полностью отказаться от практики использования связки IE+любой другой браузер. Конечно, любой технический специалист скажет, что подобный шаг по встраиванию устаревшего движка в новый продукт избыточен, но, фактически, сейчас Microsoft пытается сохранить лицо и чуть-чуть занимается благотворительностью. Вопрос в том, сможет ли когда-нибудь гигант сказать бизнесу «нет» и окончательно «пристрелить осла». Пока не получается.
Конференция началась вчера, 6 мая, и продлится до 8 числа, так что у Microsoft есть как минимум один день для того, чтобы удивить нас еще сильнее.
Как выполнять Linux-команды внутри Windows: официальный и сторонние способы
Под GNU/Linux-дистрибутивы создано огромное количество полезных и удобных инструментов и приложений для обычных пользователей и разработчиков. Далеко не всё из этого доступно на Windows, но, к счастью, для ОС от Microsoft есть решения, исправляющие эту проблему.
Содержание
WSL — официальная подсистема Linux внутри Windows
В Windows 10 существует крайне полезная вещь под названием Windows Subsystem for Linux (WSL). Она позволяет использовать GNU/Linux-среду прямо в Windows и запускать не только команды, но и, например, Bash-скрипты. Для использования WSL необходимо следовать инструкции ниже.
Шаг 1. Проверьте, подходит ли текущая версия Windows требованиям. Для этого нажмите сочетание клавиш Win+R, затем введите winver. Найдите строку «Сборка ОС» — она должна быть свежее версии 14316.
Шаг 2. Запустите стандартную утилиту PowerShell от имени администратора и введите в ней команду для включения WSL:
dism.exe /online /enable-feature /featurename:Microsoft-Windows-Subsystem-Linux /all /norestart
Шаг 3. Если версия Windows, определённая в первом пункте, свежее 18362, вы можете установить WSL 2, который в разы быстрее первой версии и обладает доработанным ядром. Введите команду ниже, если нужно установить WSL 2:
dism.exe /online /enable-feature /featurename:VirtualMachinePlatform /all /norestart
После этого скачайте и установите пакет обновления с официального сайта.
Шаг 4. Перезагрузите компьютер. Если была произведена установка WSL 2, введите в PowerShell от имени администратора следующую команду:
Шаг 5. После перезагрузки откройте фирменный магазин приложений Microsoft Store и найдите подходящий GNU/Linux-дистрибутив. Самым популярным является Ubuntu — вы можете установить любую версию из представленных в Microsoft Store.
Шаг 6. Как только установка завершится, найдите дистрибутив в меню «Пуск» и запустите его.
Шаг 7. Пройдите этап первоначальной настройки, введя имя нового пользователя и придумав пароль.
Обращу внимание на то, что путь к дискам в WSL отличается от такового в Windows. Вместо привычного C:/ используйте /mnt/c/. Также не забывайте про экранирование пробелов с помощью символа \ — это также пригодится при вводе путей к файлам.
Помимо выполнения базовых команд, с помощью WSL можно даже запускать приложения с графическим интерфейсом. Правда, рассчитывать на большое количество поддерживаемых подобных программ не стоит.
Шаг 1. Загрузите X-сервер и установите его.
Шаг 2. Запустите его с помощью ярлыка на рабочем столе. В открывшемся окне выберите вариант Multiple windows, затем Start no client. Завершите настройку кнопкой Finish.
Шаг 3. Откройте дистрибутив через меню Пуск и выполните команду export DISPLAY=:0
Шаг 4. Запустив приложение с графическим интерфейсом в WSL, вы увидите новое окно прямо в Windows.
CoreUtils — лёгкий инструмент для запуска базовых команд
Плюс данной утилиты — возможность запуска не только на Windows 10, но и на более старых версиях ОС. Кроме того, она легка и не занимает много места. Не обошлось без недостатков — программа скудна на функционал и не обновлялась очень давно. Она не только не умеет запускать скрипты и приложения с GUI, но и поддерживает лишь самые базовые GNU/Linux-команды. Установка CoreUtils весьма проста.
Шаг 1. Скачайте утилиту с официального сайта.
Шаг 2. Следуйте инструкциям установщика.
Шаг 3. Откройте «Панель управления», в разделе «Система и безопасность» выберите пункт «Система». На панели слева откройте «Дополнительные параметры системы». Нажмите кнопку «Переменные среды» и в открывшемся окне найдите область с заголовком «Системные переменные». В случае, когда там есть переменная Path, выберите её, нажмите «Изменить» и далее создайте новую строку. Содержимым этой строки должен быть путь к папке, который был указан при установке. Если вы ничего не меняли, то введите следующее:
Переменной Path нет? Тогда для начала создайте её кнопкой «Создать», затем в поле имени введите Path, а в поле значения — строку выше.
Шаг 4. Запустите командную строку и выполняйте команды прямо там.
Cygwin — запуск команд и Bash-скриптов
Ещё одна утилита, схожая с CoreUtils, но обладающая более широким функционалом — в том числе и возможностью запуска скриптов. Из минусов — немалый вес и более сложная установка. Разумеется, не идёт ни в какое сравнение с максимально удобным WSL, но для базовых команд вполне подойдёт.
Шаг 1. Загрузите Cygwin и запустите установку.
Шаг 2. Выберите Install from Internet, укажите директории для установки и загрузки пакетов, а также любой подходящий сайт из списка для скачивания файлов.
Шаг 3. В процессе установки можете выбрать необходимые пакеты, либо сразу нажать «Далее», оставив базовый набор.
Шаг 4. Откройте «Панель управления», в разделе «Система и безопасность» выберите пункт «Система». На панели слева откройте «Дополнительные параметры системы». Нажмите кнопку «Переменные среды» и в открывшемся окне найдите область с заголовком «Системные переменные». В случае, когда там есть переменная Path, выберите её, нажмите «Изменить» и далее создайте новую строку. Содержимым этой строки должен быть путь к папке, который был указан при установке. Если вы ничего не меняли, то введите следующее:
Переменной Path нет? Тогда для начала создайте её кнопкой «Создать», затем в поле имени введите Path, а в поле значения — строку выше.

Шаг 5. Команды можно выполнять как через командную строку, так и через специальный терминал.
Шаг 6. Для удаления Cygwin достаточно удалить папку, в которую программа была установлена, а также (по желанию) значение из переменной Path по методу, обратному тому, что был описан в 4 шаге (не удаляйте саму переменную).
Linux для Windows. Запускаем полноценный десктоп Ubuntu внутри Windows 10
Содержание статьи
По сравнению со сборкой Windows 10 14316, в которой впервые появилась подсистема Linux, в Windows 10 Anniversary Update подсистема выглядит вполне работоспособной и применимой на практике (настолько, насколько это возможно на данном этапе). Стабильность работы не вызывает нареканий. Забегая вперед, отмечу самое главное — в WSL появилась возможность запуска графического окружения и других GUI-программ (из числа DE это пока что Unity и Xfce), чего не было в предыдущих сборках Windows 10. Пока это было сделано неофициально, отдельными энтузиастами-линуксоидами, а не разработчиками WSL, но есть надежда, что официальная поддержка запуска полноценного Linux GUI в WSL лишь дело времени.

WARNING
Помни: сначала WSL необходимо установить. Из коробки подсистема не заработает.
WSL. Полгода спустя
Как я уже сказал, за последние полгода разработчики WSL успели основательно доработать эту подсистему, что упростило ее установку и настройку. А сама Microsoft успела стать «платиновым» членом Linux Foundation. Лет пятнадцать назад о таком нельзя было даже мечтать. В своем новом качестве Microsoft обязалась поддерживать все инициативы Linux Foundation в области открытого ПО и Linux и ежегодно перечислять в фонд 500 тысяч долларов США. Это, безусловно, большое достижение. В первую очередь для всего сообщества FOSS (free/libre and open-source software — бесплатное/свободное и открытое программное обеспечение). Через пятнадцать лет после того, как Стив Балмер назвал Linux раковой опухолью, новое руководство Microsoft оказалось куда более дальновидным и разумным.
Но вернемся к Windows Subsystem for Linux. Установка собственно Windows 10 проходит быстро и просто (почти как установка Ubuntu), и нет нужды описывать ее нашему читателю. Ты можешь выбрать либо обновление из предыдущей версии Windows 10, что займет в разы больше времени и сил, либо удалить предыдущую версию и установить систему с нуля (что я и сделал, и не из лени, а чистоты эксперимента для, чтобы система была, что называется, девственно-чистой). Автор этих строк вот уже больше года является бета-тестером Windows 10, и новые версии доступны ему бесплатно (от слова совсем). Если ты тоже бета-тестер, то у тебя должна быть лицензия на новые бета-релизы Windows 10.
В последнюю версию Windows, Anniversary Update 1607 — «юбилейное обновление» (непонятно, правда, что за юбилей у MS), WSL включается по умолчанию. Надо лишь активировать «Режим разработчика» в разделе «Обновление и безопасность», дождаться, пока система загрузит так называемый пакет разработчика, и перезагрузить компьютер. После чего запустить инструмент «Включение и отключение компонентов Windows», где выбрать пункт «Подсистема Linux для Windows. ». И снова перезагрузить компьютер.

Xakep #216. Копаем BitLocker
Установка bash в WSL проходит без проблем (хотя и не так быстро, как хотелось бы). Мне не удалось с первого раза установить Unity: инсталлятор постоянно ругался на битые пакеты. Как оказалось, сначала нужно было обновить систему через штатный менеджер пакетов Ubuntu — APT. После получения обновлений установка пошла как по маслу и. продлилась на моем тестовом Dell Inspiron (не самый старый ноутбук, хотя и не топовый) около девяти с половиной часов. Почему — тайна сия мне неведома. Однако я заметил, что каждый Ubuntu-пакет устанавливался раза в три-четыре дольше, чем в «чистой» Ubuntu.

Перед установкой и включением WSL обязательно установи ВСЕ обновления Windows 10. Иначе могут возникнуть проблемы!
X Window, Unity и все-все-все
Установка bash — это лишь полдела. Дальше начинается самое интересное — установка и настройка X-сервера в Windows и запуск графических приложений, в том числе и Unity.
Изначально Canonical и Microsoft добавили возможность запуска Ubuntu поверх Windows 10 для того, чтобы предоставить системным администраторам и разработчикам возможность использования bash и других Linux-инструментов и утилит, таких как make, gawk и grep, непосредственно в Windows. Пользователи Linux, как истинные хакеры (в хорошем смысле этого слова), не заставили себя долго ждать и немедленно приступили к работе над запуском графических окружений рабочего стола в WSL. И угадай, что? Они сделали это. Гватемальский программист, зарегистрированный на GitHub под ником Guerra24, смог (цитата) «запустить Unity (рабочее окружение по умолчанию в Ubuntu) внутри WSL. Это говорит о том, что прослойка от Microsoft, в принципе, вполне способна запускать любые окружения рабочего стола».
Задача эта нетривиальная, и то, что в итоге получится, трудно назвать полноценным рабочим столом Linux, но это только начало. Если ты хочешь использовать рабочий стол Ubuntu в Windows 10 в практических целях, то лучше воспользуйся любой из доступных в данный момент виртуальных машин, например VirtualBox от Oracle. А вот если ты просто хочешь повеселиться и прокачать свои навыки программирования для рабочих столов, то можешь попробовать запустить «нативный» Linux прямо в Windows 10. Для запуска Unity в WSL тебе для начала нужно установить (любым доступным способом, желательно легальным!) версию Windows 10 Anniversary Update за номером 1607. Причем не «домашнюю» версию, а самую что ни на есть «профессиональную», а то и вовсе «корпоративную». После установки обязательно обнови систему и двигайся дальше.
После двух (иногда трех) перезагрузок в процессе обновления, чтобы установить bash, необходимо запустить командную строку Windows (Win + R, ввести cmd — и будет тебе счастье в виде «консоли» Windows) и ввести. да, именно так: bash. Будет предложено согласиться с условиями обслуживания (обязательно прими их, выбора у тебя нет!) и загрузить Ubuntu. На этом этапе тебе нужно просто нажать клавишу Y. Объем загружаемых файлов будет не многим более одного гигабайта. Так что, если у тебя медленный интернет (да, бывает и такое), приготовься ждать. Затем начнется установка, которая, в свою очередь, тоже займет некоторое время, зависящее от производительности компьютера. И в конце всего этого ты попадешь в пространство пользователя (пользовательское окружение) Ubuntu 14.04, работающее поверх WSL.
Технически ты запустишь не Linux. Оно может выглядеть как Linux, но это не Linux. Дело в том, что пользовательское окружение (тот самый bash и прочие) работает не поверх ядра Linux, а внутри прослойки WSL. WSL использует специальный API и набор инструкций, для того чтобы все выглядело как в Linux, но все же это не то же самое. В основе всего этого все еще стоит ядро Windows NT. Это важно понимать, чтобы разобраться в том, как запускается и работает Unity в WSL.
После установки Ubuntu обязательно обнови ее, введя стандартные для этого команды:

Далее нужно снова вернуться в Windows 10 и установить совместимый с ней X-сервер. Для нашего эксперимента идеально подойдет VcXsrv. Его собрата Xming лучше не использовать, так как с ним, по неизвестной мне причине, возникает проблема: при попытке запустить любое графическое приложение для Linux все просто вылетает, в том числе и консоль Windows. Но это не все. Нужно сказать Ubuntu о том, что следует использовать именно X-сервер VcXsrv. Для этого введи в bash команду
Теперь любое графическое приложение Linux будет работать в Windows 10. Но только до закрытия bash. Чтобы WSL работала с графикой Linux все время, автоматически выбирая нужный для работы X-сервер, просто добавь указанную строку в конец конфигурационного файла bash (


После этого ты сможешь запускать любые графические приложения Linux, например Firefox или любое DE. Однако они будут работать не так, как в Linux, падая каждую минуту, а некоторые, например Unity, и вовсе не запустятся. Проблема тут в том, что WSL не содержит в себе кода поддержки сокетов (универсальная концепция обмена данными между процессами в UNIX-подобных системах, подробности тут).
Для имплементации концепции сокетов графические окружения Linux по умолчанию используют систему обмена сообщениями D-bus. Большинство графических приложений Linux не смогут даже запуститься без D-bus, не то что работать. Но WSL, к счастью, поддерживает сетевой протокол TCP, что и подвигло пользователя Reddit.com под ником ShaRose найти способ заставить D-bus использовать вместо сокетов протокол TCP. Решение не идеальное, но оно работает. Чтобы «прикрутить» D-bus к TCP, введи в bash:

Этой командой ты изменишь конфигурационный файл D-bus так, чтобы отныне он использовал TCP вместо сокетов. В этом тебе поможет старый добрый потоковый редактор sed. Что в итоге? Приложения, требующие для своей работы D-bus, теперь запускаются и в WSL.
Следующий шаг — установка графических приложений Linux. Для начала сделай в консоли WSL вот это:

Первая команда установит основные графические компоненты Ubuntu, в том числе программы для конечного пользователя, такие как LibreOffice. Следующая команда устанавливает рабочий стол Unity. Две остальные команды поставят композитный оконный менеджер Compiz, использующий OpenGL, и графический фронтенд к нему. Именно его и нужно будет правильно настроить на следующем этапе.
Перед тем как начать пользоваться окружением рабочего стола Unity в Windows 10, тебе необходимо правильно настроить CompizConfig Settings Manager (CCSM). После установки всех этих приложений запусти из интерфейса bash CCSM и активируй в нем следующие плагины (все должно быть ИМЕННО так, как на скриншоте!):
В секции General (Общие):
В секции Desktop (Рабочий стол):
В секции Utility (Утилиты):
В секции Window Management (Управление окнами):
Далее, чтобы все наконец заработало, закрой CCSM и запусти Compiz из bash командой
Примерно через минуту ты увидишь запущенную оболочку Unity.

Отмечу несколько ключевых моментов:
Что же получится в итоге, после стольких мучений? А в итоге (теоретически, так как на практике выходит пока просто интересный экспериментальный способ запуска Unity и прочих DE внутри WSL) мы получим среду для тестирования Linux-приложений прямо внутри Windows. И Unity, работающую поверх Windows. Конечно, скорость работы и отзывчивость ее не такие, как на реальном железе, но все же быстрее, чем в виртуальной машине. Многие приложения, например Google Chrome или Pidgin, просто не запускаются. А вот Firefox, файловый менеджер, магазин приложений и прочие системные утилиты Ubuntu работают на ура (чуть медленней, чем в «настоящей» Ubuntu, но работают!).
WARNING
Установить WSL можно только в версиях Windows 10 «Профессиональная» и «Корпоративная». «Домашняя» не годится.
История ненависти и любви
Издавна Microsoft питала особые чувства к Linux в частности и ко всему миру FOSS в целом. И чувства эти, надо сказать, как правило, были не самыми теплыми — начиная со знаменитого «Открытого письма любителям» Билла Гейтса, написанного в далеком 1976 году (подробности в Вики), где автор обвинял пользователей персональных компьютеров (которые в те доисторические времена были и пользователями, и программистами, и хакерами!) чуть ли не в воровстве его интеллектуальной собственности (того самого бейсика), и заканчивая гневными высказываниями Стива Балмера в 2001 году по поводу Linux: «Linux — это раковая опухоль, которая пожирает всю интеллектуальную собственность, к которой прикасается. Согласно правилам лицензии, если вы используете какие-либо компоненты программного обеспечения с открытым исходным кодом, вы должны открыть код всего имеющегося у вас программного обеспечения».
Спустя пятнадцать лет, однако, Стив смягчил свою позицию: в марте 2016 года бывший генеральный директор Microsoft заявил, что рад видеть, что новый глава компании Сатья Наделла принял решение активнее поддерживать сообщество разработчиков открытого ПО, и «с удовольствием» (loved) наблюдал за анонсом MS SQL Sever для Linux. Во многом такой разворот бывшего гиганта софтверной индустрии — это заслуга сообщества FOSS. Тех тысяч и тысяч программистов, дизайнеров, майнтейнеров, FOSS-активистов и просто неравнодушных людей, которые годами «точили камень, аки вода».
Еще в середине 2000-х годов MS начала менять свою позицию в отношении FOSS. И это не пустые слова, а дела. Даром что ли не так давно Microsoft получила статус «платинового» участника Linux Foundation — главной организации, курирующей разработку Linux, высказала приверженность идеям разработки FOSS-сообщества. Ну и само существование WSL тому подтверждение. Спустя сорок с небольшим лет мы наблюдем, как некогда непримиримые идеологические (и не только идеологические) противники начали работать бок о бок, сообща делая мир лучше. Ну или хотя бы пытаться.


На данный момент апогеем такого симбиоза можно считать Windows Subsystem for Linux. Да, прослойка пока далека от совершенства. Но направление выбрано верное. И той и другой стороной.
«Дайте ей шанс!»
«Дайте Windows Subsystem for Linux шанс, и вы будете поражены», — говорят в Microsoft. Microsoft наконец-то признала потенциал мира FOSS в целом и Linux в частности. И каждое событие становится для Microsoft уроком, позволяющим оценить свои возможности и расширить свою деятельность в этой области программирования.
Совсем недавно, 16 ноября прошлого года, на сайте Microsoft для разработчиков появился пост с видеороликом под названием «Улучшения в bash на Windows и консоли Windows», в котором старший программист Microsoft Рич Тёрнер призывает Linux-разработчиков взглянуть на то, что Windows 10 может им предложить. «Установите экземпляр сборки Windows 10 для разработчиков (Windows 10 Insider Preview Build) и исполняйте свой код, используйте привычные вам инструменты, размещайте свои сайты на Apache, получайте доступ к своим базам данных MySQL непосредственно из вашего Java-кода», — говорит Тёрнер.

Тёрнер особо отметил, что WSL была создана специально для разработчиков с целью предоставить последним все необходимые инструменты разработки для Linux. И все это, по его словам, без потери новшеств и преимуществ Windows 10. «Независимо от того, какие инструменты вы обычно используете в Linux для создания приложений, будь то Go, Erlang или C, дайте шанс WSL, а самое главное, отправляйте нам отчеты об ошибках. Эти отчеты действительно делают нашу жизнь намного проще, позволяя нам создавать продукт, который мы все можем использовать, чтобы работать более плодотворно», — продолжил он.
Разумеется, Microsoft сама заинтересована в улучшении WSL, и Тёрнер утверждает, что конечная цель всего этого состоит в том, чтобы сделать эту подсистему полностью совместимой со всеми инструментами разработки для Linux. И, по их словам, любой, кто перейдет на Windows 10, будет чувствовать себя так же комфортно, как и в Linux. А это, в свою очередь, обеспечит Microsoft приток новых пользователей. «Пока мы только в самом начале. Нам предстоит долгий путь. В данный момент нельзя сказать, что эта штука действительно полностью совместима с Linux-инструментами и готова к полноценному использованию вами», — сказал он. Это заявление стало для многих людей сюрпризом. Однако, как уже говорилось, Сатья Наделла, нынешний глава софтверного гиганта, применит в отношении FOSS и Linux иной подход, рассматривая открытый и свободный код в качестве источника дохода и новых возможностей.
Отдельно отмечу, что Рич Тёрнер в своей речи не призывает разработчиков отказаться от Linux и нисколько не умаляет преимущества этой ОС, а лишь просит дать WSL шанс.
Промежуточные итоги
Что хотелось бы сказать в связи со всем этим? Во-первых, Microsoft уже не та. Не та монструозная корпорация зла. С каждым годом прибыли компании от продажи ПО падают, рынок мобильных устройств, по сути, отдан на откуп Google и Apple, а пользователи (как корпоративные, так и домашние) всё чаще стараются сэкономить на покупке софта. И компании приходится адаптироваться к новым условиям. Даже «заклятый друг» MS — Apple открывает исходники своих продуктов один за другим. Во-вторых, это все очень хорошо. В первую очередь для нас, простых пользователей.
В следующей статье про Windows Subsystem for Linux мы проведем несколько тестов на производительность и попробуем наконец WSL на практике, установив на нее веб-сервер Apache и запустив локальный хостинг сайта. А пока можно промежуточно резюмировать, что эксперимент удался.

























