Запуск графической оболочки Linux Bash в Windows 10
В первую очередь необходимо установить Linux Bash в Windows 10. Инструкция по установке Linux Bash описана в следующей статье:
Для установки Ubuntu из Microsoft Store предлагаем выбрать версию Ubuntu 18.04 LTS в операционной системе Windows 10 May 2019 Update (версия 1903).
Параметры установленного дистрибутива Linux расположены в меню Windows Параметры > Приложения > Приложения и возможности. Из списка установленных программ выберите Ubuntu 18.04 и нажмите на Дополнительные параметры.
Так же открыть параметры Ubuntu 18.04 можно нажав правой кнопкой мыши по значку Ubuntu 18.04 в меню Пуск, в открывшемся меню выбираем Дополнительно > Параметры приложения.
Параметры установленного Линукс дистрибутива в Windows 10 (версия 1903):
Расположена файловая система Ubuntu на локальном диске С по следующему адресу:
Таким образом можно получить доступ к нужным файлам и папкам Linux.
После установки и первоначальной настройки системы нужно обновить систему и установить рабочее окружение.
Обновление системы и установленных пакетов:
Установка рабочего окружения и пакета программ Ubuntu (Gnome):
Меняем права доступа к папке кэша:
Далее в систему Windows 10 нам нужно установить приложение для обеспечения оконной системы Linux, которая отвечает за построение и отображение графического интерфейса.
VcXsrv Windows X Server
Таких программ несколько. Предлагаем выбрать активно развивающуюся программу VcXsrv Windows X Server. Устанавливаем с настройками по умолчанию.
После запуска программы VcXsrv Windows X Server в окне Display Settings есть выбор отображения интерфейса оконной системы Linux. В нашем случае отлично работал вариант с большим оконным режимом (One large window). Там же в настройках Display number выставляем значение 0 (если возникнут проблем с запуском интерфейса, то значение нужно изменить, кроме того нужно будет изменить и значение в команде запуска).
Далее оставляем настройки по умолчанию. По окончанию настройки у нас запустится пустое окно.
Переходим в запущенную Linux систему, у нас она открыта в виде командной строки и вводим следующие команды:
Для дальнейших запусков графического окружения нужно вводить команду выше, при этом программа VcXsrv Windows X Server должна быть предварительно открыта.
Также создайте сценарий оболочки start-ubuntu (имя файла необязательно):
Сделайте скрипт оболочки исполняемым:
Запустить скрипт оболочки:
Известные проблемы и их решения
Теперь нам будут доступны ранее неработающие функции системы, например, русификация и работа некоторых расширений Gnome.
Система установится на английском языке, установка другого языка доступна только под системой с правами администратора (sudo su). Установить русский язык в систему можно следующими командами:
После этого в настройках системы Ubuntu нужно выбрать и активировать установленный русский язык.
Windows 10 + Linux. Настройка GUI KDE Plasma для Ubuntu 20.04 в WSL2. Пошаговое руководство
Введение
Данная статья предназначена вниманию системных администраторов, которые подготавливают типовые рабочие места на компьютерах под управлением ОС Windows 10, в том числе для разработчиков ПО.
Следует отметить, что существует определенная проблема, связанная с невозможностью интеграции ПО, полученного в on-line магазине Microsoft Store для использования в пользовательском образе Windows 10. Не вдаваясь в подробности уточню, что данная проблема связана с тем, что установленные из Microsoft Store программы связываются со служебной учетной записью Administrator, и при завершении создания пользовательского образа утилитой sysprep возникают обусловленные этим обстоятельством ошибки.
Рассмотренный в данной статье способ позволить избежать такой проблемы при подготовке образа ОС Windows 10 с предварительно настроенной подсистемой WSL2, а также с заранее подготовленным и настроенным образом ОС Ubuntu 20.04 с GUI KDE Plasma, который в свою очередь может иметь свой набор пользовательского ПО.
В сети Интернет имеется большое количество примеров и руководств по настройке подсистем WSL (т.е. WSL1 и сравнительно новой WSL2), с настройкой GUI интерфейса для linux систем на базе ОС начиная с версии Ubuntu 16.04 и заканчивая Ubuntu 20.04, но в основном это касалось рабочих столов на основе т.н. «легковесного» xfce4, имеющий вполне объяснимые ограничения в пользовательских настройках. Но что касается GUI KDE Plasma для Ubuntu 20.04, в сети не нашлось какой-либо существенной информации. Но именно этот вариант предоставляет конечному пользователю практически неограниченный набор настроек как внешнего вида системы, так и настроек оборудования, конечно с учетом текущих возможностей интеграции linux-систем, реализованных в подсистеме WSL2.
Установка требуемого набора ПО и настройка WSL2
Проверяем текущую версию Windows, для этого в строке поиска Windows вводим команду winver и получаем примерно следующее:
Важно, чтобы ОС имела версию 1903 или 1909 (указанные версии ОС должны быть с установленным накопительным обновлением KB4566116), либо 2004 (номер сборки не менее чем 19041), остальная информация не имеет значения. Если номер версии меньше, то для корректного повторения результатов, изложенных в данной статье, рекомендуется обновиться до последней версии Windows.
Для удобства дальнейших действий устанавливаем бесплатный Windows Terminal, используя Microsoft Store (также существует возможность загрузки из других источников):
Устанавливаем X Server X410 через тот же Microsoft Store, это ПО платное, но имеется бесплатный период в 15 дней, что вполне достаточно для проведения различных тестов.
В качестве бесплатной альтернативы X410 скачиваем и устанавливаем X-сервер VcXsrv.
Скачиваем и устанавливаем автономный установщик Ubuntu 20.04, распаковываем полученный файл с помощью архиватора (например 7-zip). Переименовываем распакованный каталог с длинным именем Ubuntu_2004.2020.424.0_x64 во что-то более приемлемое, например Ubuntu-20.04 и копируем его в каталог C:\wsl (далее по тексту просто \wsl ).
Скачиваем и распаковываем в каталог \wsl кроссплатформенный звуковой сервер PulseAudio v.1.1., также вносим исправления в его конфигурационные файлы.
В файле \wsl\pulseaudio-1.1\etc\pulse\default.pa в разделе Load audio drivers statically редактируем строку:
а в разделе Network access редактируем строку:
В файле \wsl\pulseaudio-1.1\etc\pulse\daemon.conf раскомментируем и изменяем строку
Настраиваем подсистему WSL2 в соответствии с документацией Microsoft. Единственное замечание — дистрибутив Ubuntu мы уже скачали, и устанавливать его будем на следующем шаге. В основном, настройка сводится к включению дополнительных компонентов «Подсистема Windows для Linux» и «Платформа виртуальной машины», и последующей перезагрузки для применения изменений в настройках компьютера:
В первую очередь устанавливаем режим работы WSL2, для этого вводим команду:
Появилась строка приглашения терминала, ядро Ubuntu 20.04 установлено. Проверим правильность настройки режима WSL2, для этого в Windows Terminal выбираем закладку Windows PowerShell и вводим команду:
результат выполнения должен быть такой:
Настраиваем брандмауэр Microsoft Defender, т.е. отключаем его для общедоступной сети:
Настройка Ubuntu 20.04
В Windows Terminal снова выбираем закладку Command Prompt и устанавливаем обновления для Ubuntu 20.04. Для этого в командной строке вводим:
Устанавливаем рабочий стол KDE Plasma:
Добавляем последнюю версию рабочего стола KDE Plasma:
Добавляем свой набор консольных приложений, например mc и neofetch :
Редактируем конфигурационный файл WSL /etc/wsl.conf :
в открывшееся пустое окно текстового редактора копируем текст:
сохраняем изменения ( Ctrl+O ), подтверждаем операцию и выходим из текстового редактора ( Ctrl+X ).
созданный образ поможет нам автоматизировать операции запуска/переустановки настроенной Ubuntu 20.04, при необходимости позволит легко перенести на другой компьютер.
Подготовка bat-файлов и ярлыков на рабочий стол Windows
С помощью редактора Notepad++ создаем bat-файлы (обязательно в кодировке OEM-866 для корректного вывода символов кириллицы):
Файл Install-Ubuntu-20.04-plasma-desktop.bat — предназначен для автоматизации первоначальной установки созданного образа Ubuntu 20.04 на компьютере с уже настроенной подсистемой WSL2 и X-сервером. Если имя пользователя и пароль отличается от указанных в примере, то необходимо внести соответствующие изменения в этот bat-файл:
Файл Reinstall-Ubuntu-20.04-plasma-desktop.bat — предназначен для переустановки подготовленного образа Ubuntu 20.04 на компьютере.
Файл Set-default-user.bat — для установки пользователя «по умолчанию».
Файл Start-Ubuntu-20.04-plasma-desktop.bat — собственно запуск рабочего стола KDE Plasma.
Файл Start-Ubuntu-20.04-terminal.bat — запуск графического терминала без рабочего стола KDE Plasma.
Также для удобства использования в каталоге \wsl подготавливаем ярлыки, указывающие на соответствующие bat-файлы. После чего содержимое каталога \wsl выглядит следующим образом:
Запуск рабочего стола KDE Plasma
При необходимости выносим ярлыки для установленных linux-приложений на панель задач KDE Plasma.
Если Ubuntu 20.04 требует выйти из учетной записи пользователя для применения изменений в настройках, или Вам необходимо перезагрузить ОС, для этого в Windows Terminal введите команду:
С помощью ярлыка Plasma-desktop или Konsole можно запустить GUI KDE Plasma Ubuntu 20.04. Например, установим с помощью Konsole графический редактор GIMP:
После окончания установки запускаем из Konsole графический редактор GIMP:
GIMP работает, что и требовалось проверить.
А вот как работают различные linux-приложения в KDE Plasma в WSL2:
настроенная панель задач KDE Plasma находится в правой части экрана. а видео в окне Firefox воспроизводится со звуком.
При каждом запуске Ubuntu20.04 меняется внутренний ip-адрес, перед настройкой удаленного доступа необходимо уточнить текущий ip-адрес с помощью команды ip a :
Соответственно, этот ip-адрес необходимо внести в настройки сессий SSH и RDP перед запуском.
Вот так выглядит удаленный доступ по SSH с помощью MobaXterm:
А вот так выглядит удаленный доступ по RDP :
Использование X-сервера vcxsrv вместо x410
Редактируем bat-файлы Start-Ubuntu-20.04-plasma-desktop.bat и Start-Ubuntu-20.04-terminal.bat в соответствии с имеющимися в них инструкциями.
Рекомендации по настройке среды разработки WSL
пошаговое руководство по настройке среды разработки WSL с помощью Ubuntu, Visual Studio Code, Git, Windows диспетчера учетных данных и рекомендуемых руководств для получения всех сведений, которые вам могут потребоваться.
Установка WSL
подсистема Windows для Linux поставляется с Windows операционной системой, но ее необходимо включить и установить дистрибутив Linux перед началом использования.
чтобы использовать упрощенную команду-install, необходимо запустить последнюю сборку Windows (сборка 20262 +). Чтобы проверить версию и номер сборки, нажмите клавиши Windows+R, введите winver и нажмите кнопку ОК. обновить можно с помощью меню Параметры или помощника Центр обновления Windows.
откройте PowerShell (или Windows командной строки) и введите:
В процессе установки потребуется перезагрузить компьютер.
Настройка сведений о пользователе Linux
после завершения процесса установки дистрибутива Linux с WSL откройте дистрибутив (Ubuntu по умолчанию) с помощью меню. Вам будет предложено создать имя пользователя и пароль для дистрибутива Linux.
Для каждого дистрибутива Linux используются свои имя пользователя и пароль, и они не связаны с именем пользователя Windows.
После создания имени пользователя и пароля учетная запись будет использоваться по умолчанию для этого дистрибутива, и вы сможете автоматически входить в систему при запуске.
Эта учетная запись будет считаться администратором Linux с возможностью запуска административных команд sudo (команд суперпользователя).
Каждый дистрибутив Linux, работающий на WSL, имеет собственные учетные записи пользователей и пароли Linux. Учетную запись пользователя Linux нужно настраивать при каждом добавлении, переустановке или сбросе дистрибутива.
Дистрибутивы Linux, установленные с помощью WSL, устанавливаются для отдельных пользователей и не могут использоваться совместно с другими учетными записями пользователей Windows. Возникла ошибка имени пользователя? StackExchange: какие символы следует использовать или не использовать в именах пользователей в Linux?
Если вы забыли пароль для дистрибутива Linux, сделайте следующее.
После открытия WSLного распространения на корневом уровне в PowerShell можно использовать эту команду для обновления пароля: passwd где — это имя пользователя учетной записи в дистрибутиве, чей пароль забыт.
Обновление и модификация пакетов
Рекомендуется регулярно обновлять и обновлять пакеты с помощью предпочтительного диспетчера пакетов для распространения. Для Ubuntu или Debian используйте команду:
Windows не выполняет автоматическую установку обновлений или обновление дистрибутивов Linux. Это задача, выполнение которой большинство пользователей Linux предпочитают контролировать самостоятельно.
Добавление дополнительных распределений
Настройка Windows Terminal
Windows Terminal может запускать любое приложение с помощью интерфейса командной строки. К его основным функциям относится поддержка нескольких вкладок, панелей, символов Юникода и UTF-8, а также модуль отрисовки текста с ускорением GPU, возможность создания собственных тем и настройки текста, цвета, фона и сочетаний клавиш.
Хранилище файлов
Храните файлы проекта в той же операционной системе, что и средства, которые планируется использовать.
Для ускорения производительности Храните файлы в файловой системе WSL, если вы работаете с ними с помощью средств Linux в командной строке Linux (Ubuntu, OpenSUSE и т. д.). если вы работаете в Windows командной строке (PowerShell, командной строке) с инструментами Windows, храните файлы в Windows файловой системе. К файлам можно обращаться по операционным системам, но это может значительно замедлить производительность.
Например, при хранении файлов проекта WSL:
настройка VS Code для редактирования и отладки
следуйте этому пошаговому руководству, чтобы приступить к использованию Visual Studio Code с WSL, включающей установку удаленного пакета расширений разработки. это расширение позволяет запускать WSL, SSH или удаленный контейнер для редактирования и отладки с полным набором Visual Studio Code компонентов. Быстро переключаться между разными средами разработки и вносить обновления, не беспокоясь о влиянии на локальный компьютер.
Не забудьте добавить точку в конце команды, чтобы открыть текущий каталог.
Настройка управления версиями с помощью Git
Следуйте этому пошаговому руководству, чтобы приступить к работе с Git на WSL и подключить проект к системе управления версиями Git, а также с помощью диспетчера учетных данных для проверки подлинности, использования Git ignore files, понимания завершения строк Git и использования встроенных команд git для VS Code.
Настройка контейнеров удаленной разработки с помощью DOCKER
Следуйте этому пошаговому руководству, чтобы приступить к работе с удаленными контейнерами DOCKER на WSL 2 и подключить проект к удаленному контейнеру разработки с помощью DOCKER Desktop для Windows.
Настройка базы данных
Следуйте этому пошаговому руководству, чтобы приступить к работе с базами данных на WSL и подключить проект к базе данных в среде WSL. приступая к работе с MySQL, PostgreSQL, MongoDB, Redis, Microsoft SQL Server или SQLite.
Настройка ускорения GPU для повышения производительности
Следуйте этому пошаговому руководству, чтобы настроить обучение GPU с ускорением машинного обучения в WSL и использовать GPU компьютера (графический процессор) для ускорения интенсивных рабочих нагрузок с высокой производительностью.
Основные команды WSL
кроме того, многие команды поддерживают взаимодействие между Windows и Linux. Вот несколько примеров.
Подключение внешнего диска или USB
Следуйте этому пошаговому руководству, чтобы приступить к подключению диска Linux в WSL 2.
Как установить приложения Linux с графическим интерфейсом в Windows 10 с помощью WSL
Поскольку сейчас в Linux разрабатывается больше приложений, чем когда-либо прежде, компания Microsoft осознала, что ей необходимо предоставить разработчикам простой способ создания, тестирования и запуска приложений Linux, не покидая рабочего стола Windows. Подсистема Windows для Linux (WSL) изначально была разработана для предоставления интегрированной терминальной среды Linux в Windows без необходимости настройки и управления виртуальной машины. Но что, если вы хотите запустить редактор графического интерфейса Linux или другое приложение с графическим интерфейсом, используя WSL?
Microsoft объявила 21 апреля что WSL, начиная с Windows 10 Insider Preview Build 21364, теперь поддерживает запуск графических приложений Linux. Таким образом, используя сборку 21364 и выше, разработчики могут запускать свои предпочтительные редакторы графического интерфейса и инструменты для тестирования и создания приложений Linux без необходимости в установке дополнительных программ и установки X-сервера. В этой статье мы опишем, как обновить WSL для поддержки приложений с графическим интерфейсом, как установить приложение с графическим интерфейсом в Ubuntu и, наконец, посмотреть, как приложения Linux с графическим интерфейсом интегрируются с пользовательским интерфейсом Windows 10.
Windows 10, версия 21H2 и поддержка графического интерфейса Linux приложений
Windows 10, версия 21H2 появится не раньше второй половины 2021 года, но Microsoft занята разработкой предварительных версий для инсайдеров. До недавнего времени WSL официально поддерживал только терминальные приложения Linux. Но компания Microsoft недавно выполнила обещание, данное в прошлом году, по обеспечению поддержки приложений с графическим интерфейсом для подсистемы Windows для Linux (WSL). Если вы не знаете, WSL 2 – это функция в Windows 10, которая позволяет разработчикам добавлять ядро Linux в Windows, а затем загружать поддержку терминала для нескольких дистрибутивов Linux, включая Ubuntu и SUSE.
Для чего нужна поддержка графического интерфейса Linux приложений в WSL?
Основным вариантом использования поддержки приложений Linux с графическим интерфейсом является запуск IDE (интегрированная среда разработки), которые поддерживаются только в Linux. Хотя многие разработчики используют Visual Studio Code в Windows для подключения к своим экземплярам Linux в WSL, некоторые разработчики предпочитают использовать такие инструменты Linux, как gedit, JetBrains и gvim.
Есть и другие приложения, которые работают только в Linux. WSL теперь позволяет разработчикам запускать эти приложения без необходимости в виртуальной машине Linux. Поддержка нового приложения с графическим интерфейсом пользователя в WSL, иногда называемого WSLg, также позволяет разработчикам тестировать кроссплатформенные приложения с графическим интерфейсом. Присутствует даже поддержка звука и микрофона.
Для ресурсоемких графических приложений WSLg поддерживает 3D-ускорение через OpenGL. Аппаратное ускорение GPU может принести пользу разработчикам, запускающим сложные приложения, использующие преимущества виртуального GPU WSL. Microsoft заявляет, что если вы хотите поэкспериментировать с 3D-ускоренной графикой в WSL, вам необходимо вручную загрузить драйвер WDDMv3.0 для графических процессоров AMD, Intel и NVIDIA соответственно. В конечном итоге эти драйвера будут автоматически развернуты с помощью Центра обновления Windows.
Как обеспечивается поддержка графических приложений в WSL?
Когда вы запускаете приложение Linux с графическим интерфейсом, Windows автоматически запускает сопутствующий дистрибутив Linux, который включает XWayland, звуковой сервер PulseAudio и всё необходимое для работы приложений с графическим интерфейсом Linux в Windows. Linux приложения с графическим интерфейсом интегрированы с пользовательским интерфейсом Windows, и когда вы завершаете приложение, сеанс сопутствующего дистрибутива Linux также завершается, чтобы уменьшить использование системных ресурсов.
WSLg поддерживает графические приложения в Wayland и X11. Microsoft разработала WSLg как приложение с открытым исходным кодом. WSLg изолирован от пользовательского дистрибутива Linux, поэтому WSLg можно использовать независимо. Дистрибутив-компаньон WSLg использует CBL-Mariner, легкий и настраиваемый дистрибутив Linux, поддерживаемый Microsoft Linux System Group. CBL-Mariner изначально был разработан для автономных контейнерных рабочих нагрузок, выполняемых в Azure и других сервисах Microsoft.
Как обновить WSL для поддержки приложений Linux с графическим интерфейсом
Если у вас уже установлен WSL в Windows и вы используете инсайдерскую сборку Windows 10 не ниже версии 21364 Insider Preview, то вам необходимо так же обновить существующую установку WSL для поддержки WSLg.
Обновление установленного WSL
Есть два простых шага для обновления WSL. Сначала выключите все запущенные дистрибутивы, а затем обновите WSL с помощью инструмента командной строки wsl.exe.
Затем перезапустите WSL, чтобы завершить процесс:
Установка WSL с поддержкой приложений Linux с графическим интерфейсом
Если вы хотите установить WSL в первый раз в Windows 10 Build 21364 или выше, вам просто нужно установить WSL с помощью командной строки. Поддержка WSLg встроена. Приведенная ниже команда устанавливает WSL, а затем устанавливает дистрибутив Ubuntu. Вам будет предложено перезагрузить компьютер.
Для установки WSL с поддержкой графического интерфейса Linux приложений выполните следующую команду в командной строке (cmd.exe) от имени Администратора:
После перезагрузки системы вас встретит открытое окно командной строки WSL, в котором нужно будет создать имя пользователя и задать пароль root.
Установка Linux приложений с графическим интерфейсом в Ubuntu WSL
Теперь запустите свой дистрибутив Linux из меню «Пуск» Windows. В этом примере я использую Ubuntu, поэтому я найду значок Ubuntu в списке приложений в меню «Пуск». Щелчок по значку Ubuntu запускает окно терминала Ubuntu. Теперь установите приложения Linux с графическим интерфейсом так же, как и в любом другом дистрибутиве Ubuntu.
Например, поскольку Ubuntu основан на Debian, используйте команду apt для установки приложений. Вам нужно будет выполнить команду sudo, чтобы запустить ее с повышенными привилегиями в Linux. Первый шаг – обновить все существующие пакеты в Ubuntu:
Здесь я использую apt для установки Nautilus, файлового менеджера с графическим интерфейсом для Linux:
Другой пример – установка предварительной версии Microsoft Edge для Linux. Здесь мне нужно загрузить пакет с веб-сайта Microsoft, а затем установить его с помощью apt.
Запуск приложений Linux с графическим интерфейсом и интеграция с пользовательским интерфейсом Windows 10
После того, как выбранные вами приложения будут установлены, вы найдете их в списке приложений в меню «Пуск» Windows. Запускайте приложения с графическим интерфейсом для Linux, как любое приложение для Windows.
Кроме того, вы можете запускать приложения с графическим интерфейсом из окна терминала Linux. Например, чтобы запустить Nautilus из терминала, я бы просто набрал nautilus и нажал ENTER. Или microsoft-edge и нажмите ENTER, чтобы запустить Microsoft Edge.
Браузер Edge даже идентифицируется как отличная от версии, установленной в Windows, по пингвину в правом нижнем углу значка приложения.
Приложения Linux с графическим интерфейсом в Windows 10
WSLg все еще находится в стадии разработки, но, похоже, на этом этапе они далеко продвинулись. Microsoft будет настраивать его в следующих сборках Insider до того, как Windows 10 21H2 выйдет позже в 2021 году. За время тестирования, WSLg, похоже, работал так, как ожидалось. Я не устанавливал графические драйверы виртуального графического процессора, как рекомендовали Microsoft. Но и без них вроде все нормально работало.
Если вам не терпится получить официальную поддержку графических приложений Linux GUI в WSL, вы можете переключиться на канал предварительной оценки. Имейте ввиду, эти обновления для WSL в настоящее время доступны только инсайдерам на канале Dev, который считается наиболее нестабильным. Итак, вы можете подождать либо до официального релиза 21H2, либо, по крайней мере, до тех пор, пока WSLg не перейдет на бета-версию или канал Release Preview.