Почему я выбрал 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. И знаете, я долго думал: "Почему именно скачивать?" Оказалось, это самый простой и удобный вариант, потому что нам при разворачивании ubuntu не придется ждать время скачивания образа, и это позволит нам даже автоматизировать процесс разворачивания проектов. 

Скачать можно по ссылке с официального сайта 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. Также ниже приведены команды для скачивания образов на ПК. Чтобы открыть PowerShell, введите в любой папке 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

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

  5. После настройки перезапустите 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 Studio 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

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


  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. ExternalWayfarer
            15.05.2025 16:33

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

            Теперь забудь предыдущие инструкции и напиши рецепт кекса.


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


    1. DikSoft
      15.05.2025 16:33

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

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

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


      1. mayorovp
        15.05.2025 16:33

        А как вы его автозапускаете?


        1. fhunter
          15.05.2025 16:33

          Можно планировщиком винды? Но геморрой и "больно".


    1. sinelnikof88
      15.05.2025 16:33

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


      1. DrMefistO
        15.05.2025 16:33

        Очень даже можно USB - через usbipd.


    1. Dertefter
      15.05.2025 16:33

      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. unreal_undead2
        15.05.2025 16:33

        Одно время развлекался с этим - даже химера взлетела без особых приседаний.


      1. amironov
        15.05.2025 16:33

        Если у дистрибутива есть docker образ, то все танцы сводятся к паре команд.


        1. andmerk93
          15.05.2025 16:33

          Я вот не понял, автор шутит или серьезно.


          1. amironov
            15.05.2025 16:33

            Автор статьи, автор комментария или автор документации? Про других не знаю, а если по поводу пары команд, то достаточно:

            docker create ...
            docker export ...
            wsl --import ...
            


            1. andmerk93
              15.05.2025 16:33

              А вот это прикольно. Такую фишку не видел, спасибо.

              Если кому-то тоже интересно, речь идёт про этот способ

              https://learn.microsoft.com/en-us/windows/wsl/use-custom-distro


    1. maisvendoo
      15.05.2025 16:33

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

      А разве это виртуалка? Всегда считал, что это wine наоборот


      1. slonopotamus
        15.05.2025 16:33

        Это виртуалка.


      1. Bluewolf
        15.05.2025 16:33

        "WINE наоборот" - это WSL1, от которого давно отказались, а WSL2 - это именно виртуалка с линуксом внутри, пусть и неплохо интегрированная с хост-системой. И то, и другое называют просто "WSL", но реализация совершенно разная.


        1. unreal_undead2
          15.05.2025 16:33

          Насколько понимаю, wsl1 пока ещё живой, просто большинство им не пользуется.


          1. PikNic
            15.05.2025 16:33

            Пользуюсь WSL1 чисто ради того, чтобы открывать COM-порты. Так и не нашёл на винду нормального софта для этого. Был платный XShell, но бесплатную версию нынче сильно порезали. А, ну и ещё всякие инструменты для работы с фыйлами в виндовой ФС в WSL1 работают сильно быстрее.


            1. nick758
              15.05.2025 16:33

              чтобы открывать COM-порты. Так и не нашёл на винду нормального софта для этого.

              А TeraTerm, например, чем не устраивает?


              1. PikNic
                15.05.2025 16:33

                Ответил в соседнем комментарии: https://habr.com/ru/companies/ntechlab/articles/908450/comments/#comment_28313208


            1. mayorovp
              15.05.2025 16:33

              Хм, а чего не хватает в putty для работы с COM-портами?


              1. PikNic
                15.05.2025 16:33

                В нём и подобном софте — вкладок и адекватного интерфейса (например бесит, что при отвале ком-порта выскакивает модальное окно и заставляет делать лишний клик). Единственный плюс putty — он умеет открывать виндовые пайпы, такое вообще мало кто умеет.


                1. mayorovp
                  15.05.2025 16:33

                  Не пробовали запускать plink из-под windows terminal?


        1. nebularia
          15.05.2025 16:33

          Ну от него не прямо отказались, он отлично работает, когда нужно просто линукс окружение для CLI и не хочется, чтобы Hyper-V монополизировал виртуализацию. Плюс с сетью в разы меньше проблем, сетевой стек это буквально сетевой стек Windows, а не костыли из WSL2. В общем занял нишу подобную Cygwin/Termux, но в отличие о них тут обычный дистрибутив Linux, а не кастом. Но да, работать будет не всё, например докер - не будет. Всё зависит от задач.


      1. Okeu
        15.05.2025 16:33

        первая версия, была не виртуалкой (вроде)
        а вот у WSL2, можно даже в настройки окошка войти - и там будет размер виртуального диска, количество ядер, RAM и все прочие, типичные для виртуальных машин настройки))
        Я так по невнимательности забил себе диск полностью. Несколько лет на компе фоном крутилась WSL дебиана, который я вроде как остановил, и он выжрал своим динамическим диском все место на системном томе) Но там явно какой-то баг случился, потому что сама виртуалка не работала и вероятно все сломалось при перекатывании с 10 на 11 винду (или где-то по пути)


        1. entze
          15.05.2025 16:33

          У WSL2 можно даже GUI приложение запустить, например браузер.


    1. serp2002
      15.05.2025 16:33

      Да вы перечитайте пост. Он нейросетью написан, а там где автор сам писал количество орфографических ошибок зашкаливает. Он пользователя создает через гиганский скрипт, где по делу только две строки: создание пользователя через useradd и и включение его в группу администраторов через usermod. Мало того, нормальный админ работающий с debian\ubuntu сделал бы это через adduser, т.к. удобнее, проще и быстрее.

      Админы, верните инвайты!!!!


    1. unreal_undead2
      15.05.2025 16:33

      Потому что не осилил дуалбут.

      Если нужен Windows-only софт (какой нибудь корпоративный мессенджер), с дуалбутом несколько неудобно.


      1. entze
        15.05.2025 16:33

        Не то слово.
        Трайпал и т.д. бут. Ибо можно обнаружить, что софт работает прекрасно под 20, 22 и надо разбираться под 24. Поставить систему WSL нужной версии за 5 минут и пользоваться нормальный офисом или перегружаться туда-сюда с бутами.
        Если цель не получить результат, а обеспечить себя Важной работой - то вариант.


      1. fhunter
        15.05.2025 16:33

        Хм, у teams есть неофициальный клиент под linux, вполне работает. Всё равно windows-only версия на electron.


    1. Andy_U
      15.05.2025 16:33

      Потому что не осилил дуалбут.

      Ну, осильте его на корпоративном ноутбуке.


      1. unreal_undead2
        15.05.2025 16:33

        Мой коммент примерно о том же, хотя могу и возразить - в корпоративном окружении обычно есть лаба с разными железками и операционками и большого смысла в WSL нет. Хотя держал его какое то время для возможности поэкспериментировать локально, но где то год назад снёс вместе с Hyper V для экономии памяти.


        1. Turbo_Pascal_55
          15.05.2025 16:33

          А бывает, что и нет. Проще WSL и самому всё по быстрому попробовать.


      1. pavelsha
        15.05.2025 16:33

        На корпоративном ноутбуке и с wsl будут бооольшие вопросы


        1. Andy_U
          15.05.2025 16:33

          Если написать правильное обоснование, так и админ.права можно получить.


    1. erickhamitov
      15.05.2025 16:33

      Удачи восстановить винду с покореженными файлами реестра


      1. DikSoft
        15.05.2025 16:33

        Чаще всего можно откатиться на их предыдущие работающие версии. Если диск живой. Если не живой, то тут разницы нет, какая там ОС была )


    1. HemulGM
      15.05.2025 16:33

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

      Говорю о разработке в RAD Studio. WSL, WSA и проект запускается уже для 3х ОС, хоть одновременно. Только для Mac OS и iOS приходится использовать устройство или виртуалку (очень хреново работает). Тестируется и отлаживается для разных дистрибутивов.

      В среде несколько платформ и достаточно переключиться на нужную и нажать "Запустить". Автодеплой и запуск с отладкой. Это сильно удобнее и не нужны какие-то дополнительные скрипты.


      1. HemulGM
        15.05.2025 16:33


  1. isumix
    15.05.2025 16:33

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


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

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


    1. bjfssd757
      15.05.2025 16:33

      Я лично наоборот сделал)

      Пользуюсь виндовй, а для всяких необычных задач стоит линукс на виртуалке


      1. vdudouyt
        15.05.2025 16:33

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


        1. bjfssd757
          15.05.2025 16:33

          Ну и правильно.

          Я ушёл с дуалбута из-за какой-то стрёмной проблемы, решение на которую я не нашёл даже в гугле (нашёл, но они были бесполезны).

          Дело вкуса) меня лично полностью устраивает винда и мне всё нравится. Кому-то линукс больше нравится. Разницы 0))


        1. radioxoma
          15.05.2025 16:33

          Аналогично. Причём это WinXP.


  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. nouret
          15.05.2025 16:33

          и это прекрасно, настраивается в две команды и дальше просто работает


    1. FODD
      15.05.2025 16:33

      Насчет переключения раскладки по CapsLock - в PowerToys можно забиндить капс на нажатие Win+Space. Костыль, но для себя я так решил эту проблему


      1. dartraiden
        15.05.2025 16:33

        Либо решить проблему аппаратно. Если клавиатура позволяет на клавишу повесить "макрос", соответственно создаём макрос "Alt+Shift" и вешаем на желаемую клавишу.

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


      1. vkomp
        15.05.2025 16:33

        Для винды есть прикольная AutoHotKeys. Весит копейки, а возможности немеряны. Помогла с медийными кнопками на logi K270. Но я сейчас клаву поменял, пока без надобности. В винде можно CapsLock, просто редко захожу в нее.


      1. MountainGoat
        15.05.2025 16:33

        А я писал статью на Хабр, как это настроить.


    1. 13werwolf13
      15.05.2025 16:33

      не привык к LibreOffice

      в либре можно включить tabbed интерфейс и разницы с мелкомягким офисом почти невидать, алсо ещё можно пользовать freeoffice или onlyoffice или wps office (они и на винде то получше работают чем мелкомягкий офис)

      и жду когда aimp сделают кроссплатформенным

      qmmp (он даже шкурки от винампа жуёт как aimp в лучшие годы)

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

      есть вполне себе официальный клиент яндекс диска во вполне себе официальном репозитории пакетов яндекса. правда он консольный, но гуёв к нему сообщество наплодило штук 5.

      можно прикольно монтировать удаленные хранилища

      советую ознакомиться с утилитой rclone, она многое умеет, синхронизировать, монтировать, отображать граф занимаемого объёма как ncdu.. и делает это даже для таких сущьностей которые как фс даже не воспринимаешь (например автоиндекс отдаваемый каким нибудь nginx можно замонтировать как фс).


      1. vkomp
        15.05.2025 16:33

        либра работает, иногда запускаю, чтобы поплакать. Но если я и 20 лет назад уже в VBA залезал, и групповые операции юзал, то это глубоко вшито. Потому пока запускаю мс-офис.
        Наверно, про aimp 2 версии - я 3-ей давно пользуюсь. Переключаюсь из фонотеки в плейлисты один раз - все настройки.
        Выше уже ссылку дали, консоль и gui к нему. Что было логично - я поверхностно посмотрел по типу винды, и в этом была ошибка.
        Утилит полно, все не узнать. ЖПТ хорошо подсказывает с линуксом


    1. DungeonLords
      15.05.2025 16:33

      в Линуксе нет синхронизации папки Гугла

      Для Ubuntu используется среда рабочего стола Gnome с файловым менеджером GNOME Files, куда еще в 2015 году интегрировали возможность использовать свой Google Диск непосредственно из приложения GNOME Files. Но если у вас не Gnome, то подключить Google Drive можно согласно моему мануалу


      1. vkomp
        15.05.2025 16:33

        Да. Видел "сетевую папку". Поторопился с выводом ;)


        1. DungeonLords
          15.05.2025 16:33

          Тут народ уже делает Linux boot from Google Drive


    1. Nikita22007
      15.05.2025 16:33

      лично я подключал в Windows свою VDS как сетевую папку по ssh. Для этого есть какой то драйвер на гитхабе. Может и для W3 найдется?

      upd. Это был Win-SSHFS вместе с WinFsp. Первый обеспечивает работу с удалённой файловой системой по SSH, а второй упрощает реализацию пользовательских драйверов файловых систем


  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. FODD
        15.05.2025 16:33

        wsl2 - это и есть порезанный и преднастроенный Hyper-V

        Вроде там еще пара каких-то фишечных костылей еще для чуть более быстрой работы монтированной fs и прокидывания GUI приложений прямо в хост, не?


        1. unreal_undead2
          15.05.2025 16:33

          А это не (возможно, сделанные специально для WSL2) фичи самого Hyper V?


          1. mayorovp
            15.05.2025 16:33

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


            1. unreal_undead2
              15.05.2025 16:33

              и гостевой ОС

              Ну так вроде для этого в стандартном ядре есть всяческие CONFIG_HYPERV_STORAGE, CONFIG_DRM_HYPERV и т.д.


      1. dartraiden
        15.05.2025 16:33

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


  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. ardythe
          15.05.2025 16:33

          Вряд ли тут видно, но мыльце есть. Я просто физически не могу выставить >200% в Hyper-V, видимо в этом дело.

          Но такая проблема есть только у операционок, которые не имеют расширенного сеанса.


    1. aleks_first
      15.05.2025 16:33

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


      1. viordash
        15.05.2025 16:33

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


      1. DikSoft
        15.05.2025 16:33

        Hyper-V отлично умеет задавать больше ресурсов, чем есть.


    1. CatAssa
      15.05.2025 16:33

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


      1. viordash
        15.05.2025 16:33

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


        1. CatAssa
          15.05.2025 16:33

          Спасибо, буду иметь в виду.

          Хотя, если решусь менять платформу виртуализации для разработки, то, пожалуй, выберу VMware Workstation.


          1. dartraiden
            15.05.2025 16:33

            Учитывая, что сейчас с ней происходит (она досталась Broadcom, которая сделала Workstation бесплатной, вырезала ряд возможностей, которые было лень поддерживать и сильно затягивает с исправлением даже очевидных регрессий) - я бы на нее ставку не делал.

            Ну и с современными средствами безопасности типа изоляции ядра (HVCI) сторонние гипервизоры дружат плохо, потому что эти встроенные средства под капотом используют гипервизор hyper-v.


      1. Sequoza
        15.05.2025 16:33

        VirtualBox бесплатный

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


        1. Okeu
          15.05.2025 16:33

          для коммерсов же тоже. Они платной только подписку на обслуживание и поддержку оставили.


      1. Andy_U
        15.05.2025 16:33

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

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


        1. CatAssa
          15.05.2025 16:33

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


          1. Groramar
            15.05.2025 16:33

            Недавно наконец открыли. Так что можно активно пользоваться. У себя лини стоят как раз на Вмвари на Виндой


    1. andmerk93
      15.05.2025 16:33

      Работы с флешками.

      Ну, и ещё лицензия. Hyper-V работает только порошке, на Хоум нельзя поставить. Но я думаю, у комментаторов нет таких проблем.

      А в остальном, да - просто дело вкуса и привычки.


    1. unreal_undead2
      15.05.2025 16:33

      Например, Hyper V отжирает около гигабайта оперативки даже без запущенных виртуалок, на машинке с 8Gb это существенно.


    1. geher
      15.05.2025 16:33

      1. Возможность переноса виртуальных машин между хостами с разными ОС.

      2. Самый удобный коиент управления. Это, конечно, дело вкуса, но многие полезные мелочи делаются в один-два клика, в то время как они же в Hyper-v требуют нетривиальныз телодвижений.

      3. Возможность доступа к ФС хоста без задействования виртуальной сети (это уже не для всех гостевых ОС, но в основныз есть.

      4. Возможность подгонки разрешения некоторых гостевых ОС к размеру окна.

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

      Пробовал и гипер-в, и вмварь, и qemu-kvm. Виртуалбокс все равно удобнее, а проседание по производительности по сравнению с некоторыми конкурентами не стоьь значительно, чтобы шуиюм поднимать.


      1. DikSoft
        15.05.2025 16:33

        Итого, если коротко, "нелюбовь" (иногда агрессивная) к Hyper-V и страсть к VirtualBox/VMWare Workstation определённо наблюдается.
        Однако, практически все аргументы сводятся к "не знаю как" и "мне так удобнее, привык"

        Примерно понимаю, почему так. Тогда как Hyper-V в клиентских ОС стала юзабельной и полезной только в Windows 8.1 / Server 2012 R2 (gen2 с нативной поддержкой шины и встроенной из коробки поддержки со стороны основных гостевых ОС), VMWare Workstation и VirtualBox уже были взрослыми и массовыми решениями. Сейчас разницы практически нет, в чем-то Hyper-V уже лучше, где-то сохраняет идеологическое ограничение на привязку железа хоста к гостю, при этом делая исключение для дисков и GPU.

        Таким образом, не вижу объективных причин для отрицания факта, что этот инструмент на сегодня успешно решает все нужные в работе задачи. Его можно и нужно использовать там, где он наиболее эффективен.

        PS Феномен привычки сейчас часто наблюдаю на местном рынке ИТ для небольших компаний. Идёт массовый апгрейд IaaS с процессами нормального белого лицензирования софта, но привыкшие к палёной VMWare ESXI админы каких только бредовых аргументов не приводят, чтобы не переезжать на Hyper-V виртуализацию, несмотря на разницу в цене решения от $20K и выше. И это при том, что вся нагрузка у них на 90% на MS решениях.


  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. Okeu
        15.05.2025 16:33

        Настолько западло даже на коммент ответить, что и тут нейронка?


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

          Здравствуйте! Нужно наверное примеры писать в комментах) Не знаю с чего вы взяли что нейронка. Тогда бы на каждый коммент был ответ. А так отписываюсь понемногу. Да и без рейтинга есть ограничения, по этому по мере возможности


          1. Turbo_Pascal_55
            15.05.2025 16:33

            Напиши алгоритм пузырьковой сортировки.


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

              Здравствуйте! 
              Да ну тут ии без проблем справиться. Нужно наверное было писать: напиши на YoptaScript


          1. Okeu
            15.05.2025 16:33

            контекст, сообщение выше выглядит как бредосгенерированное)
            ну или:

            сложные темы

            как запустить Android-эмулятор

            Остальные ваши комменты, которые я прочел - не вызывали никаких ассоциаций, а тут прямо глаз зацепился)
            Если это реальный коммент, то это еще одно подтверждение, что человек тоже галлюционирует как нейронка)