Почему я выбрал WSL вместо полноценного Linux

Основная часть моей разработки завязана на Linux, но один из самых удобных вариантов для меня — использование WSL (Windows Subsystem for Linux), а не переход на полноценную Linux-машину. 

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

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

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

Наконец, есть и субъективный фактор — привычка. Я с самого начала работал с Windows, и, несмотря на все преимущества Linux, полностью перестроить рабочий процесс оказалось сложно. WSL в этом плане — идеальный компромисс: Linux-окружение под рукой, но без необходимости отказываться от удобств Windows.

Преимущества WSL для разработки

В первую очередь — разработчикам, которые постоянно осваивают новые технологии, знакомо чувство, когда нужно вернуться к старому проекту, а там — специфическая версия языка, странные зависимости или забытые настройки? Можно просто развернуть нужное окружение за пару минут, не ломая голову над тем, "как же это у меня работало в прошлый раз".

Ещё один сценарий — когда есть хобби-проекты, совсем не связанные с работой. Например, вы пишете на Python для аналитики, но вдруг решили попробовать Rust для embedded-разработки. Настраивать всё в одной среде — это риск получить "салат" из зависимостей, который потом придётся разгребать. Гораздо удобнее иметь две изолированные среды: одну — для рабочих задач, другую — для экспериментов.

Про боль Windows

Работая с Windows, многие сталкивались с ситуацией, когда проще переустановить систему, чем чинить сломанное. Но после этого — прощайте, все настройки, тулзы и скрипты! Если вы работаете годами, восстановление окружения может занять не день и даже не неделю, а кучу нервов и "танцев с бубном". WSL здесь — как страховка: даже если Windows "умрёт", ваши Linux-среды останутся целы.

Для кого WSL не подойдёт?

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

Этот материал — не истина в последней инстанции, а мой субъективный опыт, собранный из проб, ошибок и статей коллег. Если у вас есть более эффективный способ, буду рад почитать в комментариях! Ведь идеального workflow не существует, есть только тот, который работает лично для вас.

Сравнение подходов: физические машины, контейнеры, виртуальные машины

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

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

Но давайте смотреть правде в глаза: многие из нас не живут на одном месте, часто путешествуют или работают из разных локаций. Да и в быту есть нюансы: жена, дети, домашние животные могут случайно повредить это "добро". А еще — куча проводов, сборщиков пыли, которые не особо радуют вторую половину, особенно если вы живете не в стометровой квартире.

Разместить такое оборудование удобно и безопасно получается далеко не у всех. Добавьте сюда косые взгляды домочадцев из-за вечно пылящихся жужжащих коробок и проводов, вечный вопрос: "И долго еще это будет тут стоять?", и энтузиазма заметно поубавится.

Проблемы контейнеризации (Docker и аналоги)

Так давайте подумаем, как можно решить эту проблему. Один из вариантов — использовать контейнеризацию, например Docker или аналогичные решения. Мы, как разработчики, можем настроить такие контейнеры для развертывания изолированных сред разработки.

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

Главная проблема: при работе с большим количеством файлов (что совсем не редкость в популярных фреймворках или CMS) мы сталкиваемся с необходимостью конвертации файлов между разными файловыми системами. Это может существенно замедлить как запуск проекта, так и саму работу с ним, что негативно сказывается на скорости разработки.

Еще один нюанс — дополнительные сложности с запуском программ, использующих графический интерфейс. Яркий пример — попытка запуска Android-эмулятора через Android Studio в такой среде. Полноценно работать не получается, а значит, мы теряем часть необходимого функционала. 

Виртуальные машины (VirtualBox) и их ограничения

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

Но вот тут есть один момент, который лично для меня стал стоп-фактором. В VirtualBox нет нормальной поддержки GPU-ускорения. А для меня это критично, потому что я занимаюсь машинным обучением и постоянно использую видеокарту для тестирования моделей. Вот так вот: вроде бы отличное решение, но из-за этой одной особенности пришлось искать другие варианты. Хотя, если вам интересно, я могу потом подробнее рассказать про этот подход. Может быть, для ваших задач он как раз подойдет идеально.

Почему WSL — мой оптимальный выбор (и его недостатки)

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

Но не всё так гладко, конечно. Во-первых, это всё же не совсем настоящий Linux, хотя и очень близко. Во-вторых, с USB-устройствами бывают проблемы: например, когда я работал с Nvidia Jetson, пришлось изрядно повозиться с настройками. Да и с подключением отдельных дисков иногда нужно "потанцевать с бубном".

Настройка WSL: загрузка и установка образа Ubuntu

Теперь о настройке. Начинается всё с загрузки образа Linux. И знаете, я долго думал: "Почему именно скачивать?" Оказалось, это самый простой и удобный вариант, потому что нам при разворачивании unvuntu не придется ждать время скачивания образа, и это позволит нам даже автоматизировать процесс разворачивания проектов. 

Скачать можно по ссылке с официального сайта ubuntu

https://cloud-images.ubuntu.com/wsl/

Например, можно зайти по адресу
https://cloud-images.ubuntu.com/wsl/releases/24.04/20240423/ и скачать ubuntu-noble-wsl-amd64-wsl.rootfs.tar.gz   файл обрати внимания на архитектуру сейчас бурно развеваются решения на мобильных процессорах и тогда вам нужно будет скачать версия для arm, так же ниже приведен ряд команд для скачивания образов на свой пк, можно открыть PowerShel введя в любой папки pwsh и нажать Enter и откроется терминал в котором можно выполнить команды 

Установка и настройка Ubuntu в WSL

  1. Скачивание образа Ubuntu
    Выполните команду для загрузки образа:

    Invoke-WebRequest https://cloud-images.ubuntu.com/wsl/releases/noble/20240423/ubuntu-noble-wsl-amd64-24.04lts.rootfs.tar.gz -OutFile .\ubuntu-noble-wsl-amd64-24.04lts.rootfs.tar.gz
  2. Создание WSL-окружения
    Импортируем скачанный образ в WSL:

    wsl --import Ubuntu-24.04 .\Ubuntu-24.04 .\ubuntu-noble-wsl-amd64-24.04lts.rootfs.tar.gz
    
  3. Запуск Ubuntu
    После выполнения команды вы можете запустить окружение с помощью:

    wsl -d Ubuntu-24.04

    Терминал отобразит приветственное сообщение Ubuntu.

  4. Создание пользователя
    Для удобной работы рекомендуется создать отдельного пользователя. Для этого:

    • Откройте проводник и перейдите в корневую папку WSL (она появится в разделе Linux).

    • Создайте файл create_wsl_user.sh и вставьте в него

    create_wsl_user.sh
    #!/bin/bash
    
    # Проверка прав root/sudo
    if [ "$(id -u)" -ne 0 ]; then
        echo "Ошибка: Скрипт требует root-прав. Запустите через sudo." >&2
        exit 1
    fi
    
    # Запрос имени пользователя
    read -p "Введите имя нового пользователя: " username
    
    # Проверка существования пользователя
    if id "$username" &>/dev/null; then
        echo "Ошибка: Пользователь '$username' уже существует." >&2
        exit 1
    fi
    
    # Запрос пароля (скрытый ввод)
    read -s -p "Введите пароль для '$username': " password
    echo
    
    # Создание пользователя
    useradd -m -s /bin/bash "$username" || {
        echo "Ошибка при создании пользователя '$username'." >&2
        exit 1
    }
    
    # Установка пароля
    echo "$username:$password" | chpasswd || {
        echo "Ошибка при установке пароля." >&2
        exit 1
    }
    
    # Добавление пользователя в группу sudo (Ubuntu/Debian)
    if usermod -aG sudo "$username"; then
        echo "Пользователь '$username' добавлен в группу 'sudo'."
    else
        echo "Ошибка: не удалось добавить пользователя в группу 'sudo'." >&2
        exit 1
    fi
    
    # Предложение сделать пользователя по умолчанию в WSL
    read -p "Сделать '$username' пользователем по умолчанию в WSL? (y/N): " set_default
    if [[ "$set_default" =~ [yY] ]]; then
        # Установка пользователя по умолчанию для WSL
        echo "[user]" > /etc/wsl.conf
        echo "default=$username" >> /etc/wsl.conf
        echo "Пользователь '$username' установлен как default в WSL."
        echo "Перезапустите WSL для применения изменений:"
        echo "  wsl --shutdown"
        echo "  wsl"
    fi
    
    # Итоговый вывод
    echo "--------------------------------------------------"
    echo "Пользователь '$username' успешно создан:"
    id "$username"
    echo "Группы: $(groups "$username")"
    if [[ "$set_default" =~ [yY] ]]; then
        echo "Статус: установлен как default в WSL."
    else
        echo "Статус: обычный пользователь (не default)."
    fi

    Затем выполните в терминале WSL:

    cd ~
    chmod +x ./create_wsl_user.sh
    ./create_wsl_user.sh

    Следуйте инструкциям на экране.

  1. Перезапуск WSL
    После настройки перезапустите WSL, и окружение будет готово к работе.

Установка и настройка Node.js через NVM для frontend разработки

Для JavaScript-разработки критично иметь возможность быстро переключать версии Node.js. Лучший способ — NVM

1. Установка NVM в WSL

Актуальную версию можно посмотреть на сайте репозитория
https://github.com/nvm-sh/nvm

sudo apt update
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.40.3/install.sh | bash

После установки перезагрузите терминал (source ~/.bashrc).

2. Работа с версиями Node.js

  • Установка LTS-версии:

    nvm install --lts
  • Переключение между версиями:

    nvm install 18.
    nvm use 18.
  • Установка версии по умолчанию:

    nvm alias default 18

3. Создания и запуск проекта

Я считаю что уже установлен visual studeo code если нет можно установить с официального сайта https://code.visualstudio.com/download

  • Создания проекта на vue с vite и следуем инструкции

    npm create vue@latest
  • Запуск проекта в ide vs code

    cd ./demo
    code .
  • Установка зависимостей через терминал и приступаем к работе

    npm istall 
    npm run dev

4. Преимущества NVM

  • Нет конфликтов — каждая версия Node.js изолирована.

  • Быстрое переключениеnvm use 16 / nvm use 20 без переустановки.

Настройка Docker для backend-разработки на PHP

Я долго выбирал между чистым WSL и Docker-контейнерами, и для серьёзных проектов теперь предпочитаю Docker. Контейнеры дают полную изоляцию окружения, позволяют одновременно работать с разными версиями софта и гарантируют идентичность среды на всех машинах. При этом файлы проекта остаются доступными, а само окружение всегда остаётся чистым. Главный плюс Docker — возможность создать именованный контейнер, который сохраняет все настройки между сеансами работы. Это особенно удобно при поддержке нескольких проектов с разными требованиями. А какой подход предпочитаете вы — WSL "из коробки" или изолированные контейнеры?

docker-install.sh
# Обновление списка пакетов
sudo apt-get update

# Обновление установленных пакетов (без запроса подтверждения)
sudo apt-get upgrade -y

# Установка необходимых зависимостей:
# - ca-certificates: SSL сертификаты
# - curl: утилита для загрузки файлов
# - gnupg: менеджер ключей
# - lsb-release: информация о версии ОС
# - mkcert: создание локальных SSL сертификатов
# - apache-utils: утилиты Apache (включая htpasswd)
sudo apt-get install -y ca-certificates curl gnupg lsb-release mkcert apache-utils

# Создание директории для ключей APT с правильными правами
sudo mkdir -m 0755 -p /etc/apt/keyrings

# Загрузка и сохранение GPG-ключа Docker
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor --output /etc/apt/keyrings/docker.gpg

# Установка прав на чтение для всех пользователей
sudo chmod a+r /etc/apt/keyrings/docker.gpg

# Добавление репозитория Docker в sources.list.d
echo \
  "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/ubuntu \
  $(. /etc/os-release && echo "${UBUNTU_CODENAME:-$VERSION_CODENAME}") stable" | \
  sudo tee /etc/apt/sources.list.d/docker.list > /dev/null

# Обновление списка пакетов после добавления репозитория Docker
sudo apt-get update

# Установка Docker и сопутствующих компонентов:
# - docker-ce: Docker Community Edition
# - docker-ce-cli: CLI для Docker CE
# - containerd.io: контейнерная среда выполнения
# - docker-buildx-plugin: расширение для сборки образов
# - docker-compose-plugin: плагин для Docker Compose
sudo apt-get install -y docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin

# Проверка работы Docker запуском тестового контейнера
sudo docker run hello-world

Создайте файл docker-install.sh в папки с именем пользователя которого мы совздале ранее в моем случае user1 так же можно это сделать через проводник windows

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

    chmod +x docker-install.sh
    sudo ./docker-install.sh

После вывполенения мы увидим вот такой результат хоть в конце мы видим ошибку это нормально сейчас я покажу как это исправить

  • "Далее, после открытия окна редактора, нам нужно: 1. Несколько раз нажать Enter, чтобы переместиться на следующую строку. 2. Кликнуть правой кнопкой мыши для вставки (или подтверждения). После этого настройки должны выглядеть, как показано на экране. Затем нажимаем: - Ctrl + X (для выхода), - Y (чтобы сохранить изменения), - Enter (для подтверждения).

    sudo nano /etc/wsl.conf
  • Можно просто попробовать выйти и зайти заново но лучше перезагрузить wsl в powershell

     wsl --shutdown

После этого можно запустить образ

В следующей статье вас ждет:

  • Работа с Git в WSL2 - особенности и лучшие практики

  • Упрощенное управление Docker-контейнерами через WSL

  • Развертывание PHP-окружения в Docker

  • Запуск Android Studio и эмулятора в WSL

Комментарии (50)


  1. Incognito4pda
    15.05.2025 16:33

    wsl как сервер не применим. удаляй пост


    1. r_revel Автор
      15.05.2025 16:33

      Здравствуйте! Спасибо за ваше мнение. Однако я считаю иначе: как сервер — нет, а как среда для разработки — да, особенно когда только начинаешь в разработке


      1. MagMagals
        15.05.2025 16:33

        какого использовать ИИ-бота для ответов на хабре, чувствуюете себя специалистом в области IT?


        1. r_revel Автор
          15.05.2025 16:33

          Здравствуйте!

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


    1. DikSoft
      15.05.2025 16:33

      wsl как сервер не применим

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

      Но WSL на соседнем компе в сети отлично работает, как сервер.


  1. andmerk93
    15.05.2025 16:33

    Автор не в курсе, что WSL - это просто виртуалка. Иронично.

    Почему я выбрал WSL вместо полноценного Linux

    Потому что не осилил дуалбут. Докер в консольной виртуалке с консольным линуксом осилил. А гуевый дуалбут - не осилил. Иронично [2]

    Работая с Windows, многие сталкивались с ситуацией, когда проще переустановить систему, чем чинить сломанное

    Skill issue.

    Я вот, хоть убей, не могу понять. Как так получается, что человеку конфигурить ноджс в докере в убунте в всле не сложно, а Винду настроить - сложно. Вот как? КАК?

    Как вы к этому приходите?

    UPD: и да, если только вкатываешься в разработку, в чём проблема работать нативно? На любой ОС. Что там у вас такое, что обязательно требует шатания докера и без этого вообще никак?


    1. r_revel Автор
      15.05.2025 16:33

      Здравствуйте! Спасибо комментарий.

      Автор не в курсе, что WSL - это просто виртуалка. Иронично.

      Да я знаю и варитов виртуализации очень много и hyper v windows это один из них, но для меня важно было использовать gpu ускорения, простота настройки и минимальный парог входа

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

      Не спорю — починить можно всё. Но иногда на это просто не хватает времени. У меня был забавный случай, когда перестал работать USB-драйвер. Честно говоря, я так и не разобрался, в чём была проблема: пробовал восстановить систему, переустановить драйвер, использовал разные средства восстановления, перерыл кучу форумов... Но времени было в обрез, так что пришлось просто переустановить систему. В общем, да — технически всё возможно починить. Главное, чтобы времени хватило.


      Я вот, хоть убей, не могу понять. Как так получается, что человеку конфигурить ноджс в докере в убунте в всле не сложно, а Винду настроить - сложно. Вот как? КАК?

      На самом деле это довольно просто. Идеальный вариант - развернуть Proxmox на отдельном сервере с нужными образами, и система будет работать идеально.

      Но суть не в этом. Я постоянно наблюдаю, как пользователи запускают Docker-контейнеры с кучей зависимостей, после чего система начинает заметно тормозить. Именно поэтому я призываю больше пользователей Windows постепенно переходить на Linux и повышать свою техническую квалификацию. А wsl позволит более плавно сделать это


    1. ardythe
      15.05.2025 16:33

      WSL - это просто виртуалка.

      Не просто. На виртуалку вы можете поставить любой дистрибутив, а на WSL это делается с танцами с бубном.


  1. isumix
    15.05.2025 16:33

    Если не можете без винды, то установите ее в Virtualbox или Virtual Machine Manager под Linux и будет вам счастье.


    1. r_revel Автор
      15.05.2025 16:33

      Здравствуйте! Спасибо за ваш комментарий
      Оптимальное решение - использовать Proxmox с двумя видеокартами. Но действительно не всегда получается из-за софта, особенно связанного с кадом или креативом


  1. vkomp
    15.05.2025 16:33

    Юзал WSL точно больше года, и очень хотел нормальный линукс:
    - ДВЕ файловых системы, и когда ставишь что-то новое, то иногда не понимаешь, где и какие файлы лежат.
    - проблемы с разными видами русской win-кодировки умножаются, что стреляет редко, но метко.
    - потихоньку накапливается ДВЕ системы без четкой границы, и начинаешь жить по принципу "работает - не трогай", что неприемлемо, когда хочется "пошатать", почистив "ненужные" файлы.
    Основной проблемой является то, что это уже Линукс в руках того, кто хочет пользоваться и знает только Винду. Сейчас я полгода на Линуксе, и до этого 10 админил VDS:
    - жить норм. Перешел на переключение раскладки по CapsLock и уже неудобно в Винде.
    - dev-инструменты работают очень четко. Нет никакого желания вернуться в винду для разработки!
    - не привык к LibreOffice, и жду когда aimp сделают кроссплатформенным (под wine не торт). При переключении в винду кайфую от FarManager - здесь он тоже не торт. И скучаю по ImageViewer.
    И все равно переключаюсь в Винду, потому что офис от мелкомягких - это эталон. И еще есть лайтрум с фотошопом. Дополнительно держу VirtualBox для мелких вопросов. Винда и Линукс на разных разделах одного ssd - это танцы с бубном. За полгода надоело, едет второй ssd.
    И мне очень не нравилась верхняя строка убунты, поставил Panel-to-Dash - жить резко приятнее.

    З.Ы. в Линуксе нет синхронизации папки Яндекс.Диска и Гугла, но можно прикольно монтировать удаленные хранилища. Например, замонтировал продуктовое s3-хранилище, и шаришь по файлам как на домашнем компе.


    1. V1tol
      15.05.2025 16:33

      в Линуксе нет синхронизации папки Яндекс.Диска

      Есть: https://yandex.com/support/yandex-360/customers/disk/desktop/linux/

      Для значка в трее использую https://github.com/slytomcat/yd-go


      1. Kirill_stavropol
        15.05.2025 16:33

        Без gui, по сути терминал чистый


  1. MAXH0
    15.05.2025 16:33

    Как Microsoft дал нам Linux без головной боли

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


    1. r_revel Автор
      15.05.2025 16:33

      Здравствуйте! Спасибо за ваш комментарий

      Видимо, заголовок не совсем точно передаёт суть: это руководство предназначено для тех, кто делает первые шаги в IT. Для самоучек настройка Linux может быть непростой, поэтому данный гайд создан специально для новичков - чтобы помочь им настроить систему без лишних сложностей.

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


  1. CatAssa
    15.05.2025 16:33

    Я - Windows разработчик, с какого-то времени вынужден разрабатывать кроссплатформенные десктоп-приложения, конкретно - под Windows/Astra Linux/Red OS. Довольно много времени потратил на освоение работы с WSL[WSL2]. В итоге вернулся к варианту, когда Linux'ы живут в VirtualBox. Можно и практически полноценную сеть построить, и отладить инсталляцию, и взаимодействие с реальным рабочим столом, и (чуть ли не самое главное) - иметь снимки состояний гостевых машин, и MSVS работает нормально (уже и не помню, что там за проблемы были в связках MSVS + WSL).

    VirtualBox нет нормальной поддержки GPU-ускорения. А для меня это критично, потому что я занимаюсь машинным обучением и постоянно использую видеокарту для 

    То есть , если вам сие не критично, то - VirtualBox (и т.п.)


    1. r_revel Автор
      15.05.2025 16:33

      Здравствуйте! Спасибо за ваш комментарий

      Я полностью согласен. Изначально планировал развернуть всё на VirtualBox, но столкнулся с ограничениями в работе с GPU, что стало серьёзным препятствием


      1. whatfor
        15.05.2025 16:33

        А как обстоят дела в работе с GPU в WSL? Такое же быстродействие как если запускать на чистом Linux-е?


    1. andmerk93
      15.05.2025 16:33

      А если критично - то Hyper-V.

      Полноценная ВМ от MS, с сетями, снимками и аппаратным ускорением. Из минусов - проблемы с флешками (да, до сих пор)

      Более того, wsl2 - это и есть порезанный и преднастроенный Hyper-V.


  1. Oeaoo
    15.05.2025 16:33

    Мне не зашло. Было много приседаний и проблем. Поставил стабильный Debian в виртуалке и в ус ее дую.


    1. r_revel Автор
      15.05.2025 16:33

      Здравствуйте! Спасибо за ваш комментарий
      Вариант действительно красный, но меня в больше степени остановила поддержка GPU. Кому не нужно это конечно VirtualBox или аналоги


  1. DikSoft
    15.05.2025 16:33

    У меня странный вопрос. А чего все так VirtualBox хотят и хвалят, Hyper-V же отлично работает. И все не древние Linux / BSD давно с ним дружат из коробки.

    Чего не хватает?


    1. ardythe
      15.05.2025 16:33

      На Win 11 еще не смотрел, но на 10 у Hyper-V проблема с масштабами, она мылит линуксы.


      1. viordash
        15.05.2025 16:33

        а можете скриншот показать? Странно, что много лет уже пользуюсь и не замечал замыления, если Zoom Level на 100% выставлен.


    1. aleks_first
      15.05.2025 16:33

      HyperV резервирует указанные ресурсы под вм в то время как бокс разрешает поднять чуток больше чем в параметрах вм в сумме


      1. viordash
        15.05.2025 16:33

        для RAM в настройках же есть возможность динамически выделять память, да и для жесткого диска тоже можно не сразу весь обьем забирать. Или вы про чтото другое?


    1. CatAssa
      15.05.2025 16:33

      Ну, VirtualBox у меня просто работает, без головняка. Я знаю, как настроить сеть, общие папки, общий рабочий стол и буфер обмена, получить доступ к нужным устройствам, получить удаленный доступ, какие в каких случаях поставить дополнения, сколько и какие ресурсы выделить для конкретной гостевой машины... и много из этого я могу повторить под Linux. Мне запомнилось, что VMware была чуток поудобнее и пошустрее, но VirtualBox бесплатный и по возможностям и быстродействию её догоняет. Какой смысл начинать использовать что-то другое? Просто ради любви к искусству?


      1. viordash
        15.05.2025 16:33

        просто Hyper-V намного быстрей работает, чем остальные виртуалки


      1. Sequoza
        15.05.2025 16:33

        VirtualBox бесплатный

        Vmware Workstation Pro с некоторых пор тоже бесплатный для физиков.


      1. Andy_U
        15.05.2025 16:33

        VirtualBox бесплатный и по возможностям и быстродействию её догоняет.

        Так и VMware Workstation Pro нынче бесплатная, причем, вроде, даже для корпоративного использования.


        1. CatAssa
          15.05.2025 16:33

          Спасибо, не знал.


  1. Mr_Boshi
    15.05.2025 16:33

    С одной стороны я не поддерживаю высокомерие комментаторов. WSL действительно классный Gateway drug в мир Linux, согласен с автором, это очень удобно. Особенно радует тот графический режим, который завезли в Windows 11.

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


    1. r_revel Автор
      15.05.2025 16:33

      Здравствуйте! Спасибо за ваш комментарий. Хотелось бы получить обратную связь и понять, насколько это интересно. Затем можно разобрать более сложные темы: например, как запустить Android-эмулятор, как работать с Cuda в Python, и многое другое


  1. rutexd
    15.05.2025 16:33

    Пробовал использовать wsl вместо полноценной оси как основу. Хорошо на поиграться и попробовать что то или когда нужно быстро что то запустить / протестировать / нет другого варианта.

    Если использовать полноценно как платформу для разработки - нет. Самой всл надо много памяти + потом подключаются затраты на LSP на IDE итд - и быстро входит в десяток гб и хороший проц, потому что иначе все медленное и тормозит.

    Можно сказать зависит от железа - но поставив полноценно дуалбут - все работает так же как на шиндоусе но даже лучше и быстрее и без мусора.

    Всл точно не для основы кто бы что не говорил.


    1. olku
      15.05.2025 16:33

      Был контракт с одной конторой упоротой в безопасность. Разработка на Яве, которая стоит вместе с Idea в Ubuntu, которая крутится в wsl2, которая на Винде, к которой подключаются через сеть по VDI с лаптопа на Убунте. Работать сразу на лаптоповой Убунте небезопасно, как можно. Хорошо что контракт два месяца только. Тренировка терпения хорошая.


      1. rutexd
        15.05.2025 16:33

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

        Но так работать это мягко говоря бред. Налегка судьба падавана


        1. olku
          15.05.2025 16:33

          На Убунте в wsl был рут у всех. В общем, есть театр безопасности, а есть цирк.


  1. nagvv
    15.05.2025 16:33

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

    Из своего опыта заметил два минуса:
    - Ужасно медленный доступ к файловой системе винды из под WSL(2). WSL(1) в этом плане был намного шустрее. Т.ч. иногда приходится использовать wsl-шную файловую систему - а это минус к ощущению бесшовности
    - Очень любит сжирать диск и не отдавать обратно. Особенно заметно при работе с докером, чей виртуальный диск (vhdx) может незаметно вырасти до полутерабайта. При этом чтобы скукожить диск обратно нужно поколдовать в повершелле, либо надеяться что после перезагрузки винды он сам скукожится.


    1. gun_dose
      15.05.2025 16:33

      Я уже 4 года работаю на WSL2. Чтобы не было проблем со скоростью файловой системы, файлы проектов надо класть в файловую систему WSL, а не в винду. Бесшовность при этом никуда не пропадает - файловую систему WSL из-под винды отлично видно. То, что она диск жрёт, так в последних версиях есть команда переноса данных на другой диск. Но есть способ ещё проше: перетащить vhdx с системного диска туда, где побольше места, а на старом месте сделать символьную ссылку через mklink.

      при работе с докером, чей виртуальный диск (vhdx) может незаметно вырасти до полутерабайта

      А что это вы такое делаете, если не секрет? У меня больше 50 гигов vhdx никогда не разрастался. При том, что у меня все проекты крутятся только в докере.


      1. nagvv
        15.05.2025 16:33

        В основном это сборка проектов, которых бываю пересобираю по несколько раз + все это еще и кешируется (которые судя по всему сами не чистятся). И если за всем этим не следить то со временем виртуальный диск сильно разрастается.
        Да, там конечно можно сооптимизировать процесс, чтобы такого не происходило. Но, so far все работает, а раз работает то и ладно)


      1. Kirill_stavropol
        15.05.2025 16:33

        У меня обычный бот .Hikka для мониторинга может слышали, в тг крутился на wsl2 через год 250гб занимал


  1. Octagon77
    15.05.2025 16:33

    Когда я работал с Windows, лучшим для неё местом оказались Parallels на Маке и внешний HDD. Было очень приятно - она тебе «не выключай компьютер», а ты ей «suspend», и в карман. Дома можно дать обновиться во время ужина.

    Не люблю Windows, не думаю что она сильно похорошела за те четыре (? не помню уже…) года как не виделись. И Ubuntu тоже не люблю. Наверно поэтому сомневаюсь, что хвост нужно рубить по частям начинать заигрывать с Линукс нужно с WSL.

    Да, как на Маке утратил берега syspolicyd, так и к Маку у меня появились претензии и не стал я апгрейдиться на М1, Линукс поставил. Что-то даже сэкономил, пожалуй - пустячок, а приятно. И волноваться по поводу того, что

    многие сталкивались с ситуацией, когда проще переустановить систему, чем чинить сломанное

    по прежнему не нужно, если Мак тупо не ломается, то на Линукс чинится всё. Хотя и бэкап лишним не будет, и чистую установку с нуля, просто ради удовольствия посмотреть какая она, чистая, стала - никто не отменял.

    Какая сейчас лучшая VM для Windows - не уверен, поэтому ничего конкретного советовать не буду.


  1. Spyman
    15.05.2025 16:33

    Использую wsl буквально как линуксовую консоль в винде - работает прекрасно.

    Когда нужно было поднять тестовое окружение (nginx + mysql + php + python) - тоже без проблем поднялось. Сервер в сеть тоже пробросился 1ой командой в виндовом терминале. Особенно приятно, что в wsl2 система умирает при закрытии всех терминалов - открыл терминал - сервер поднялся, закрыл - сервер умер, для работы самое то.

    Да и в качестве сетевого жесткого диска она теперь монитруется автоматически.

    Короче хейта к wsl не понимаю))


  1. Spiritschaser
    15.05.2025 16:33

    Я сижу под Ubuntu LTS, в виртуалках VmWare (!) с 3D ускорением: копии прод серверов, windows разных версий - VmWare хорошо ускоряет интерфейс и несложные игры. Мне проще так, и интерфейс в стиле CDE.


  1. trexxet
    15.05.2025 16:33

    Ещё есть (и сам использую) MSYS2 - линуксоподобное окружение, работающее под виндой нативно. Отличный вариант, чтобы завести gcc.


    1. artptr86
      15.05.2025 16:33

      Ещё есть Cygwin — это вообще практически полноценный дистрибутив с кучей приложений и библиотек, нативно работающий под виндой


  1. HomeMan
    15.05.2025 16:33

    Кому-то удалось собрать в wsl простейший модуль ядра? Уровня "Hello world". Или wsl для этого не предназначен?


  1. AliGil
    15.05.2025 16:33

    сколько же попыток подмять под себя Linux. "приходите, у нас лучше и удобней"..ну ну. Только мне как обычному пользователю вообще без знаний легче было установить 2 системы в дуалбуте, все идеально настроить, и прекрасно с ними работать, чем понять что за хрень этот wsl. его я первым попробовал и теперь жалею, что зря потратил время.


  1. kiff2007200
    15.05.2025 16:33

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


  1. 13werwolf13
    15.05.2025 16:33

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