Setup linux with windows

Установка WSL

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

Вам следует использовать Windows 10 версии 2004 и выше (сборка 19041 и выше) или Windows 11.

Чтобы проверить версию и номер сборки Windows, нажмите клавиши WINDOWS+R, введите winver и щелкните ОК. Вы можете выполнить обновление до последней версии Windows в меню параметров или с помощью помощника по Центру обновления Windows.

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

Установка

Теперь вы можете установить все необходимое для запуска подсистемы Windows для Linux (WSL), введя эту команду в PowerShell или командной строке Windows, а затем перезапустив компьютер.

Эта команда позволяет включить необходимые дополнительные компоненты, скачать последнюю версию ядра Linux, установить WSL 2 в качестве компонента по умолчанию и установить дистрибутив Linux (по умолчанию Ubuntu; инструкции по установке другого дистрибутива см. ниже) .

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

Изменение установленного дистрибутива Linux по умолчанию

По умолчанию в качестве устанавливаемого дистрибутива Linux используется Ubuntu. Для этого используйте флаг -d .

  • Чтобы изменить установленный дистрибутив, введите wsl —install -d . Замените именем дистрибутива, который хотите установить.
  • Чтобы просмотреть список доступных дистрибутивов Linux, доступных для скачивания через Интернет-магазин, введите wsl —list —online или wsl -l -o .
  • Чтобы установить дополнительные дистрибутивы Linux после исходной установки, можно также использовать команду wsl —install -d .

Если вы хотите установить дополнительные дистрибутивы из командной строки Linux или Bash (а не из PowerShell или командной строки), используйте .exe в команде wsl.exe —install -d . Чтобы получить список доступных дистрибутивов, используйте wsl.exe -l -o .

Если во время установки возникла проблема, см. раздел Установка руководства по устранению неполадок.

Настройка сведений о пользователе Linux

После установки WSL необходимо создать учетную запись пользователя и пароль для установленного дистрибутива Linux. Дополнительные сведения см. в статье Рекомендации по настройке среды разработки WSL.

Советы и рекомендации

Мы рекомендуем использовать наше пошаговое руководство Рекомендации по настройке среды разработки WSL. В нем описано, как настроить имя пользователя и пароль для установленных дистрибутивов Linux, использовать основные команды WSL, установить и настроить Терминал Windows, настроить управление версиями Git, отредактировать код и выполнить отладку с помощью удаленного сервера VS Code. Кроме того, в руководстве приведены рекомендации по хранению файлов, настройке базы данных, подключению внешнего диска, настройке ускорения GPU и пр.

Хотите испытать новейшие предварительные версии функций WSL?

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

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

Источник

Опыт настройки и использования WSL (подсистемы Linux в Windows 10)

К написанию данной статьи меня побудил вопрос на Тостере, связанный с WSL. Я, после нескольких лет использования систем на ядре Linux, около полугода назад перешел к использованию Windows 10 на домашнем ПК. Зависимость от терминала и Linux окружения в моей работе практически сразу привели меня к вопросу: или ставить виртуалку или попробовать WSL. Я выбрал второе, и остался вполне доволен.

Под катом я расскажу как установить и настроить WSL, на какие я наткнулся проблемы и ограничения, как запускать Linux приложения из Windows и наоборот, а так же как интегрировать элементы окружения Xfce в окружение рабочего стола Windows.

Никогда не думал, что однажды вернусь на Windows, но повод попробовать мне дали стечения обстоятельств: жена, далекая от IT, дергала почти каждый раз, когда у нее возникала необходимость воспользоваться компом; проснулась ностальгия по одной игре, но она никак не хотела адекватно работать под wine; а тут еще мне подарили коробочную Windows 10 Pro. WSL я поставил чуть ли не сразу после установки системы, поигрался несколько вечеров, понял, что продукт для моих задач годный, но хочется более привычный терминал и вообще некоторых удобств.

Читайте также:  Docker для windows приложений

Установка WSL и дистрибутива

Сразу оговорюсь, в интернете можно найти описание установки с помощью выполнения команды lxrun /install в командной строке или консоли PowerShell. Данный способ больше не работает (после выхода WSL в стабильный релиз). Насколько мне известно, сейчас WSL можно установить только из Microsoft Store вместе с предпочитаемым дистрибутивом.

Так же отмечу, что когда установку производил я, на выбор были доступны дистрибутивы OpenSUSE, SUSE Linux Enterprise и Ubuntu 16.04 — последний я и установил. Сейчас также доступны Ubuntu 18.04, Debian 9 и Kali Linux, возможно появятся и другие дистрибутивы. Действия по установке могут отличаться. Так же, часть проблем описанных в статье может быть уже исправлена.

Находим в магазине желаемый дистрибутив и устанавливаем. Установка пройдет быстро, так как скачает только эмулятор ядра Linux и утилиту для запуска подсистемы, которая окажется в системной папке в трех экземплярах: wsl.exe, bash.exe и ubuntu.exe (вместо ubuntu будет имя Вашего дистрибутива). Все они равнозначны и делают одно и то же — запускают собственный эмулятор терминала, в нем linux’овый bash работающий под эмулятором ядра. При первом же запуске нас попросят придумать логин и пароль для пользователя по умолчанию, а после произойдет непосредственно установка дистрибутива. В качестве пользователя по умолчанию указываем root без пароля — это потребуется для дальнейших шагов. Безопасность не пострадает, кроме того при подготовке материалов к статье, в англоязычном туториале, я наткнулся на информацию, что новые версии WSL теперь делают пользователем по умолчанию root без пароля без лишних вопросов.

Дожидаемся установки. Далее первым делом стоит обновить зеркала apt на ближайшие. Для этого понадобится CLI текстовый редактор. В комплекте только vi, я же больше предпочитаю nano, поэтому ставлю его:

sudo вводить не требуется, так как мы уже под root’ом. Отредактируем файл /etc/apt/sources.list:

У меня лучше всего работают зеркала Яндекса, поэтому мой файл выглядит так:

Нажимаем Ctrl+O для сохранения и Ctrl+X для выхода. Теперь можно обновить систему до актуального состояния:

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

Далее переходим в папку юзера, зайдем под ним, установим пароль и отредактируем файл

Все, подсистема готова к использованию… почти.

Установка X-сервера, Xfce и прочих GUI’шных приложений

Первая же проблема, на которую я натолкнулся — bash-completion в предлагаемом эмуляторе терминала работал, мягко говоря, некорректно. Кроме того, данный эмулятор не умеет вкладки, а каждый его экземпляр запускает все в новом пространстве процессов, с отдельным init’ом (который кстати не заменить). Мне захотелось нормальный эмулятор терминала, некоторых других GUI приложений, а так же панельку, чтоб это все быстро запускать.

Когда я гуглил этот вопрос, я наткнулся на множество проблем, вроде необходимости перевода dbus на tcp протокол. На данный момент всех этих проблем нет. В подсистеме нормально работают unix-domain-socket’ы и все спокойно общается через них.

Первым делом нам понадобится X-сервер, притом установленный в основную систему (в Windows). Лично я использую для этих целей VcXsrv — порт X11 на Windows. Официальный сайт указанный в about самой утилиты его сейчас не предоставляет, поэтому гуглим установщик и устанавливаем все по умолчанию.

Пока идет установка возвращаемся в терминал WSL, командой exit выходим обратно в root’а. Первым делом настроим русские локали:

Далее установим некоторые компоненты Xfce. Можно конечно установить его целиком из мета-пакета, но большинство компонентов нам не понадобится, а модульная архитектура Xfce позволяет нам поставить только необходимое:

Запускать каждый раз окружение руками не очень удобно, поэтому я автоматизировал данный процесс. Для этого в основной системе создадим в удобном для нас месте папку, а в ней 3 файла для запуска:

    config.xlaunch — файл настроек для VcXsrv

x-run.vbs — WSL всегда запускается со своим эмулятором терминала, если его закрыть — завершатся все его дочерние процессы. Чтоб данное окно не мозолило глаза, неплохо его запускать скрытым. К счастью в Windows встроен интерпретатор VBScript, который позволяет это сделать в одну строчку:

Поясню, что здесь происходит. Мы говорим VBscript выполнить приложение wsl с параметром cd /home/user1; DISPLAY=:0 LANG=ru_RU.UTF-8 su user1 -c xfce4-session , папка запуска нам не важна, поэтому пустая строка, действие open — запуск, 0 — скрытый режим. Самому wsl мы отдаем команду на выполнение: переход в папку пользователя, затем с установкой переменных окружения DISPLAY (дисплей X-сервера) и LANG (используемая локаль) мы запускаем xfce4-session от имени нашего пользователя user1 (благодаря команде su)

  • start.bat — batch файл для запуска, по желанию его можно засунуть в автозагрузку
  • Далее можем запустить наш start.bat и настроить панель Xfce под себя. Замечу, что здесь я наткнулся на еще одну проблему — панель прекрасно отображается поверх всех окон, но вот выделить себе место, как панель на рабочем столе Windows она не может. Если кто знает решение данной проблемы, поделитесь в комментариях.

    Читайте также:  Remontka pro windows 10 install

    Ну и под конец данной части, скриншот моего рабочего стола:

    Взаимодействие окружения Windows и окружения подсистемы Linux

    Запускать Linux приложения напрямую из Windows можно через те же 3 команды — bash, wsl или ubuntu. Не забываем, что по умолчанию запуск идет от root, поэтому стоит понижать привилегии через su , так же нужно не забывать передавать переменную окружения DISPLAY=:0 если приложению требуется X-сервер. Так же нужно менять папку, из которой должно работать приложение, через cd внутри WSL. Пример, посчитаем md5 для file.txt на диске D средствами Linux’овой md5sum:

    Доступ к файловой системе Linux так же имеется, лежит она в %localappdata%\Packages\CanonicalGroupLimited.UbuntuonWindows_79rhkp1fndgsc\LocalState\rootfs . Читать таким образом файлы можно, а вот писать — не желательно, можно поломать файловую систему. Думаю проблема в том, что Windows не умеет работать с правами и владельцами файловой системы Linux.

    Из Linux так же можно запускать Windows приложения. Просто запускаем exe-шник и он выполнится в основной системе.

    Диски Windows монтируются в /mnt в соответствии со своими буквами в нижнем регистре. Например диск D будет смонтирован в /mnt/d . Из Linux можно свободно читать и писать файлы Windows. Можно делать на них симлинки. Права у таких файлов всегда будут 0777, а владельцем будет root.

    Сетевой стек у подсистемы общий с Windows. Сервер поднятый в Linux будет доступен на localhost в Windows и наоборот. Однако unix-domain-socket для Windows будет просто пустым файлом, работать с этим можно только внутри Linux. Выход во внешнюю сеть у Linux так же есть, в том числе можно слушать порты, если этого не запрещает фаервол.
    ifconfig в Linux и ipconfig в Windows выдают одинаковую информацию о сетевых интерфейсах.

    Из диспетчера задач Windows можно спокойно прибить процесс внутри подсистемы Linux. Однако Linux увидит только свои процессы.

    Особенности, ограничения и подводные камни

    Ядро Linux в WSL не настоящее. Это всего лишь прослойка-эмулятор, которая часть Linux-специфичных задач выполняет сама, а часть проксирует напрямую в ядро winNT. Большая часть api в нем реализована, но не все. Свое ядро собрать не получится, как и не получится подключить модули ядра (.ko, Kernel Object).

    Init процесс у WSL тоже свой и заменить его, например, на system.d не выйдет. У меня давно есть желание написать менеджер демонов на go, который бы работал с файлами юнитов system.d и предоставлял бы схожий интерфейс, да все руки не доходят.

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

    Так же нет никакой возможности разбить файловую систему Linux на несколько разделов/дисков.

    Прямой доступ к железу практически отсутствует. Все таки мы находимся в песочнице Windows, а не в полноценном Linux. /dev и /sys заметно пустуют, в них лишь проц да виртуальные устройства. Доступ к GPU — только через X-сервер, напрямую — никак, так что нейросети обучать придется в Windows.

    В JS разработке столкнулся с тем, что electron.js отказался запускаться в WSL, пришлось дублировать окружение node.js в Windows.

    Итоги

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

    Пока писал статью, обнаружил, что в Microsoft Store появилась сборка WSL с Debian 9.3, данный дистрибутив мне более симпатичен, чем Ubuntu, поэтому буду пробовать ставить.

    Источник

    How To Install Ubuntu Along With Windows

    Last updated November 12, 2020 By Abhishek Prakash 203 Comments

    Brief: This detailed guide shows you how to dual boot Ubuntu with Windows legacy BIOS systems. If you are not sure, read this to know if you have BIOS or UEFI system.

    Continuing my experimentation with different Linux distribution, I installed Xubuntu last week. Xubuntu is a variant of Ubuntu with Xfce desktop environment instead of the default Unity. Light on resources, Xubuntu can be a good Linux alternative of Windows XP.

    I prefer to install Linux in dual boot with Windows. I hardly use Windows but it gives me sort of back up if I mess up with things. Dual booting Linux with Windows is always suggestible for the beginners. In this tutorial, we shall see how to install Ubuntu in dual boot mode with Windows.

    This guide covers system with BIOS. You can read this article for dual booting Windows 10 and Ubuntu with UEFI.

    Ubuntu, Xubuntu, which one is it? Don’t be confused. The steps given here are equally applicable to Ubuntu, Xubuntu or even Linux Mint.

    Before we see how to dual boot Ubuntu with Windows, let me give you some important details.

    First, I had Windows 7 installed with 3 partitions on it. Later I installed Linux on it in dual boot mode. I changed the partition and kept around 100 GB of total 320 GB for Linux installation. In the course of time, I upgraded to Windows 8 and subsequently to Windows 8.1. I never had to face the problem of Windows 8′s secure boot thingy. It is just to clarify that this process does not show you how to deal with UEFI .

    Install Ubuntu in dual boot with Windows 10 & Windows 8

    Follow the steps below to install Ubuntu in dual boot with Windows:

    Читайте также:  Skype portable для windows 10 64 bit

    Step 1: Create a live USB or disk

    Download and create a live USB or DVD. In Windows, my favorite tool to create a live USB is Universal USB Installer.

    Step 2: Boot in to live USB

    Plug the live USB or disk in to the computer and restart the computer. While booting the computer press F10 or F12 function key (defers from computer to computer) to go to the boot menu. Now, choose the option to boot from USB or Removable Media.

    Step 3: Start the installation

    It will take some time to boot in to the live USB or disk. Once booted, you will be immediately provided with option to either try Ubuntu or install Ubuntu. Even if you choose to try, you can find the option to install on the desktop:

    First few screens are pretty straight forward. Just choose press continue:

    Step 4: Prepare the partition

    This is the most important part of the whole dual boot installation. Where to install Ubuntu? Windows is already installed here, so, we’ll prepare a new partition for Ubuntu. In the Installation Type window, choose Something Else:

    As you can see, I have 3 NTFS and some ext4 partitions. If you don’t have ext4 partition, don’t worry, we don’t need that. As you can see in the picture below, one of the NTFS partition consists of Windows installation. This should be untouched if you want to keep your Windows installation safe.

    I presume that you have more than one NTFS (or FAT 32) partitions (i.e. Drives in Windows term) on your hard disk, with one of them consisting of Windows installation (usually C drive). What you need to do here is to delete a NTFS or existing ext4 partition and create some free space. This will delete all the data in that partition and this is why I asked you to verify if you have Windows installed in a different partition.

    Click on the desired partition and press the to delete the partition.

    Step 5: Create root, swap and home

    Once you have some free space on your hard drive, its time to install Ubuntu on it. Now, there are several ways to do it. But I prefer to have a Root, a Swap and a Home.

    The root should be at least 15 GB for a comfortable use. If you have more disk space, increase the root size. Suppose you have 100 GB of disk space. You can easily devote 30 GB of space to root.

    Create a root partition first. Choose the free space available and click on +.

    Here, choose the size of root directory (keep it 20 GB or more), choose ext4file system, and mount point as / (i.e. root):

    Next step is to create swap partition. It is advised by many that Swap should be double of your system’s RAM size. You can choose the swap size accordingly.

    The next step is to create Home. Try to allocate the maximum size to Home because this is where you’ll be downloading and keeping the files.

    Once you have created Root, Swap and Home partitions, click on Install Now button.

    Step 6: Follow the trivial instructions

    If you successfully created the partitions as mentioned above, you have almost won the battle. Rest is just some trivial steps to follow. You will be taken through a number of screens to select options like keyboard layout, login credentials etc. You don’t have to be a genius to figure out what to do here afterwards. I have attached screenshots for reference purpose here.

    Once the installation is over, you will be presented with the option to keep trying live version or to restart the system.

    And that’s it. On next boot, you will see the option of Ubuntu in the grub screen. And thus you can enjoy the beautiful, beginner friendly and world’s most popular Linux distribution. I hope you found this guide to dual boot Ubuntu with Windows helpful. If you need, you can change the boot order easily to make Windows your default OS. Since you have just installed Ubuntu 14.04, you can check out things to do after installing Ubuntu.

    If you have questions, suggestions or a word of thanks, feel free to drop a comment.

    Like what you read? Please share it with others.

    Источник

    Оцените статью