Windows 10 уже как несколько лет умеет использовать GNU/Linux-среду и запускать терминальные программы благодаря Windows Subsystem for Linux (WSL). В свежей инсайдерской сборке Windows 10 WSL расширила свои возможности — теперь пользователи могут запускать Linux-приложения с графическим интерфейсом (GUI). Раньше это можно было делать только при помощи сторонних инструментов. Смотрим, насколько хорошо работает новая фича и как её попробовать уже сейчас.
- В тему: Как выполнять Linux-команды внутри Windows — официальный и сторонние способы
Как работают Linux-программы внутри Windows
По словам разработчиков, X-сервер теперь не приходится запускать вручную. Вместо этого автоматически стартует дистрибутив-компаньон WSLGd, содержащий Wayland, X-сервер и PulseAudio-сервер. С его помощью происходит коммуникация приложений с Windows. Примечательно, что за основу взят дистрибутив CBL-Mariner, разработанный изначально для облачной инфраструктуры Microsoft. После закрытия сессии этот компаньон закрывается.
Возможность расширить Windows Subsystem for Linux таким образом появилась за счёт полного внедрения ядра Linux в ОС от Microsoft. Приложения полноценно интегрированы: они отображаются на панели задач и в «Пуске», между ними можно переключаться сочетанием Alt+Tab, буфер обмена общий.
Одно из преимуществ нативной поддержки GUI-приложений — полноценная работа со звуком. Программы, запущенные в WSL, могут принимать данные с микрофона и выводить аудио. Более того, есть поддержка 3D-графики с ускорением за счёт GPU. Это будет полезно в программах для работы с трёхмерной графикой.
Как запустить Linux-программы в Windows 10
Чтобы запускать GUI-приложения для Linux в Windows 10, надо установить инсайдерскую сборку из Dev-ветки под номером 21364 или выше. После этого потребуется активировать WSL 2 и скачать из Microsoft Store нужный дистрибутив.
Шаг 1. Запустите PowerShell от имени администратора и включите компонент WSL:
dism.exe /online /enable-feature /featurename:Microsoft-Windows-Subsystem-Linux /all /norestart
Шаг 2. Включите компонент для WSL 2:
dism.exe /online /enable-feature /featurename:VirtualMachinePlatform /all /norestart
После этого скачайте и установите пакет обновления с официального сайта.
Шаг 3. Перезагрузите компьютер и введите следующую команду:
wsl —set-default-version 2
Шаг 4. После перезагрузки откройте фирменный магазин приложений Microsoft Store и найдите GNU/Linux-дистрибутив, например, Ubuntu.
Шаг 5. Как только установка завершится, найдите дистрибутив в меню «Пуск» и запустите его.
Шаг 6. Пройдите этап первоначальной настройки, введя имя нового пользователя и придумав пароль.
Шаг 7. Теперь можно устанавливать и запускать Linux-приложения. Для запуска GNU/Linux-окружения открывайте дистрибутив из меню «Пуск» или пишите wsl в PowerShell или командной строке.
Какие приложения я протестировал и как они работают
Я запустил несколько программ: клиент Spotify, браузер Firefox, редактор текста gedit и даже Steam. Все, за исключением последнего, работают отлично. Если ранее с использованием неофициального метода я встречал регулярные вылеты и ошибки, то сейчас могу спокойно пользоваться программами так, как будто они запущены нативно.
Spotify воспроизводит звук так, как и задумано, мне не пришлось дополнительно настраивать что-либо. Firefox работает быстро и плавно, правда, есть проблема в виде медленного скролла — она встречается и под нативным Линуксом. gedit не только правильно работает с файлами, но и отображает всю файловую систему подсистемы при нажатии кнопки Open.
Steam обрадовал и разочаровал одновременно. Мне удалось открыть свою библиотеку игр и даже скачать одну из них. Но остальные вкладки остались недоступны: магазин, страница и настройки просто не открывались. Игра art of rally, которую я скачал для проверки, запустилась, но её фреймрейт ограничивался парой FPS. Впрочем, в реальной жизни такой юзкейс не встретится — это было по большей части испытание возможностей WSL.
Бенчмарк Geekbench 5.4.0 выдал приблизительные результаты как на Windows и нативной Ubuntu, так и на Ubuntu через WSL 2.
А вот в тесте Compute, использующем GPU, WSL 2 выдал ошибку, несмотря на установленный специальный драйвер.
Вывод
Возможность запускать GUI-приложения прямо в Windows — огромный шаг для системы. Пользователям теперь будет куда проще работать с различными программами, часть из которых эксклюзивна для той или иной системы. А бесшовная интеграция Linux-программ в ОС от Microsoft снижает порог входа и позволяет использовать новую фичу даже не самым опытным юзерам.
- 10 приложений, которые нужно сразу установить на новый компьютер
- 5 альтернатив «Проводника» в Windows: они лучше и по функциям, и по дизайну
- 15 тем для Windows 10, меняющих систему до неузнаваемости. Долго искал четвёртую!
- 3 программы, которые прокачают Пуск в Windows 10. Он станет удобнее и функциональнее
- Как выполнять Linux-команды внутри Windows: официальный и сторонние способы
К написанию данной статьи меня побудил вопрос на Тостере, связанный с WSL. Я, после нескольких лет использования систем на ядре Linux, около полугода назад перешел к использованию Windows 10 на домашнем ПК. Зависимость от терминала и Linux окружения в моей работе практически сразу привели меня к вопросу: или ставить виртуалку или попробовать WSL. Я выбрал второе, и остался вполне доволен.
Под катом я расскажу как установить и настроить WSL, на какие я наткнулся проблемы и ограничения, как запускать Linux приложения из Windows и наоборот, а так же как интегрировать элементы окружения Xfce в окружение рабочего стола Windows.
Никогда не думал, что однажды вернусь на Windows, но повод попробовать мне дали стечения обстоятельств: жена, далекая от IT, дергала почти каждый раз, когда у нее возникала необходимость воспользоваться компом; проснулась ностальгия по одной игре, но она никак не хотела адекватно работать под wine; а тут еще мне подарили коробочную Windows 10 Pro. WSL я поставил чуть ли не сразу после установки системы, поигрался несколько вечеров, понял, что продукт для моих задач годный, но хочется более привычный терминал и вообще некоторых удобств.
Установка WSL и дистрибутива
Сразу оговорюсь, в интернете можно найти описание установки с помощью выполнения команды lxrun /install
в командной строке или консоли PowerShell. Данный способ больше не работает (после выхода WSL в стабильный релиз). Насколько мне известно, сейчас WSL можно установить только из Microsoft Store вместе с предпочитаемым дистрибутивом.
Так же отмечу, что когда установку производил я, на выбор были доступны дистрибутивы OpenSUSE, SUSE Linux Enterprise и Ubuntu 16.04 — последний я и установил. Сейчас также доступны Ubuntu 18.04, Debian 9 и Kali Linux, возможно появятся и другие дистрибутивы. Действия по установке могут отличаться. Так же, часть проблем описанных в статье может быть уже исправлена.
Находим в магазине желаемый дистрибутив и устанавливаем. Установка пройдет быстро, так как скачает только эмулятор ядра Linux и утилиту для запуска подсистемы, которая окажется в системной папке в трех экземплярах: wsl.exe, bash.exe и ubuntu.exe (вместо ubuntu будет имя Вашего дистрибутива). Все они равнозначны и делают одно и то же — запускают собственный эмулятор терминала, в нем linux’овый bash работающий под эмулятором ядра. При первом же запуске нас попросят придумать логин и пароль для пользователя по умолчанию, а после произойдет непосредственно установка дистрибутива. В качестве пользователя по умолчанию указываем root без пароля — это потребуется для дальнейших шагов. Безопасность не пострадает, кроме того при подготовке материалов к статье, в англоязычном туториале, я наткнулся на информацию, что новые версии WSL теперь делают пользователем по умолчанию root без пароля без лишних вопросов.
Дожидаемся установки. Далее первым делом стоит обновить зеркала apt на ближайшие. Для этого понадобится CLI текстовый редактор. В комплекте только vi, я же больше предпочитаю nano, поэтому ставлю его:
apt install nano
sudo вводить не требуется, так как мы уже под root’ом. Отредактируем файл /etc/apt/sources.list:
nano /etc/apt/sources.list
У меня лучше всего работают зеркала Яндекса, поэтому мой файл выглядит так:
deb http://mirror.yandex.ru/ubuntu/ xenial main universe restricted
deb-src http://mirror.yandex.ru/ubuntu/ xenial main universe restricted
deb http://mirror.yandex.ru/ubuntu/ xenial-security main universe restricted
deb-src http://mirror.yandex.ru/ubuntu/ xenial-security main universe restricted
deb http://mirror.yandex.ru/ubuntu/ xenial-updates main universe restricted
deb-src http://mirror.yandex.ru/ubuntu/ xenial-updates main universe restricted
Нажимаем Ctrl+O для сохранения и Ctrl+X для выхода. Теперь можно обновить систему до актуального состояния:
apt update && apt upgrade
После обновления можно создать нашего основного пользователя. В данной статье я назову его user1, Вы же можете задать привычное имя:
addgroup --gid 1000 user1
adduser --home /home/user1 --shell /bin/bash --uid 1000 -G user1,sudo user1
Далее переходим в папку юзера, зайдем под ним, установим пароль и отредактируем файл ~/.bashrc:
cd /home/user1
su user1
passwd
nano .bashrc
Мой базовый .bashrc выглядит так
# If not running interactively, don't do anything
case $- in
*i*) ;;
*) return;;
esac
# don't put duplicate lines or lines starting with space in the history.
# See bash(1) for more options
HISTCONTROL=ignoreboth
# append to the history file, don't overwrite it
shopt -s histappend
# for setting history length see HISTSIZE and HISTFILESIZE in bash(1)
HISTSIZE=1000
HISTFILESIZE=2000
# check the window size after each command and, if necessary,
# update the values of LINES and COLUMNS.
shopt -s checkwinsize
# If set, the pattern "**" used in a pathname expansion context will
# match all files and zero or more directories and subdirectories.
#shopt -s globstar
# make less more friendly for non-text input files, see lesspipe(1)
[ -x /usr/bin/lesspipe ] && eval "$(SHELL=/bin/sh lesspipe)"
# set variable identifying the chroot you work in (used in the prompt below)
if [ -z "${debian_chroot:-}" ] && [ -r /etc/debian_chroot ]; then
debian_chroot=$(cat /etc/debian_chroot)
fi
# set a fancy prompt (non-color, unless we know we "want" color)
case "$TERM" in
xterm|xterm-color|*-256color) color_prompt=yes;;
esac
# uncomment for a colored prompt, if the terminal has the capability; turned
# off by default to not distract the user: the focus in a terminal window
# should be on the output of commands, not on the prompt
#force_color_prompt=yes
if [ -n "$force_color_prompt" ]; then
if [ -x /usr/bin/tput ] && tput setaf 1 >&/dev/null; then
# We have color support; assume it's compliant with Ecma-48
# (ISO/IEC-6429). (Lack of such support is extremely rare, and such
# a case would tend to support setf rather than setaf.)
color_prompt=yes
else
color_prompt=
fi
fi
if [ "$color_prompt" = yes ]; then
if [[ ${EUID} == 0 ]] ; then
PS1='${debian_chroot:+($debian_chroot)}[33[01;31m]h[33[01;34m] W $[33[00m] '
else
PS1='${debian_chroot:+($debian_chroot)}[33[01;32m]u@h[33[00m] [33[01;34m]w $[33[00m] '
fi
else
PS1='${debian_chroot:+($debian_chroot)}u@h w $ '
fi
unset color_prompt force_color_prompt
# If this is an xterm set the title to user@host:dir
case "$TERM" in
xterm*|rxvt*)
PS1="[e]0;${debian_chroot:+($debian_chroot)}u@h wa]$PS1"
;;
*)
;;
esac
# enable color support of ls and also add handy aliases
if [ -x /usr/bin/dircolors ]; then
test -r ~/.dircolors && eval "$(dircolors -b ~/.dircolors)" || eval "$(dircolors -b)"
alias ls='ls --color=auto'
#alias dir='dir --color=auto'
#alias vdir='vdir --color=auto'
alias grep='grep --color=auto'
alias fgrep='fgrep --color=auto'
alias egrep='egrep --color=auto'
fi
# colored GCC warnings and errors
#export GCC_COLORS='error=01;31:warning=01;35:note=01;36:caret=01;32:locus=01:quote=01'
# some more ls aliases
alias ll='ls -alF'
alias la='ls -A'
alias l='ls -CF'
# Add an "alert" alias for long running commands. Use like so:
# sleep 10; alert
alias alert='notify-send --urgency=low -i "$([ $? = 0 ] && echo terminal || echo error)" "$(history|tail -n1|sed -e '''s/^s*[0-9]+s*//;s/[;&|]s*alert$//''')"'
# Alias definitions.
# You may want to put all your additions into a separate file like
# ~/.bash_aliases, instead of adding them here directly.
# See /usr/share/doc/bash-doc/examples in the bash-doc package.
if [ -f ~/.bash_aliases ]; then
. ~/.bash_aliases
fi
# enable programmable completion features (you don't need to enable
# this, if it's already enabled in /etc/bash.bashrc and /etc/profile
# sources /etc/bash.bashrc).
if ! shopt -oq posix; then
if [ -f /usr/share/bash-completion/bash_completion ]; then
. /usr/share/bash-completion/bash_completion
elif [ -f /etc/bash_completion ]; then
. /etc/bash_completion
fi
fi
Все, подсистема готова к использованию… почти…
Установка X-сервера, Xfce и прочих GUI’шных приложений
Первая же проблема, на которую я натолкнулся — bash-completion в предлагаемом эмуляторе терминала работал, мягко говоря, некорректно. Кроме того, данный эмулятор не умеет вкладки, а каждый его экземпляр запускает все в новом пространстве процессов, с отдельным init’ом (который кстати не заменить). Мне захотелось нормальный эмулятор терминала, некоторых других GUI приложений, а так же панельку, чтоб это все быстро запускать.
Когда я гуглил этот вопрос, я наткнулся на множество проблем, вроде необходимости перевода dbus на tcp протокол. На данный момент всех этих проблем нет. В подсистеме нормально работают unix-domain-socket’ы и все спокойно общается через них.
Первым делом нам понадобится X-сервер, притом установленный в основную систему (в Windows). Лично я использую для этих целей VcXsrv — порт X11 на Windows. Официальный сайт указанный в about самой утилиты его сейчас не предоставляет, поэтому гуглим установщик и устанавливаем все по умолчанию.
Пока идет установка возвращаемся в терминал WSL, командой exit выходим обратно в root’а. Первым делом настроим русские локали:
locale-gen ru_RU
locale-gen ru_RU.UTF-8
update-locale
Далее установим некоторые компоненты Xfce. Можно конечно установить его целиком из мета-пакета, но большинство компонентов нам не понадобится, а модульная архитектура Xfce позволяет нам поставить только необходимое:
apt install -y xfce4-session xfce4-notifyd xfce4-appfinder xfce4-panel xfce4-quicklauncher-plugin xfce4-whiskermenu-plugin xfce4-xkb-plugin xfce4-settings xfce4-terminal xfce4-taskmanager mousepad
Запускать каждый раз окружение руками не очень удобно, поэтому я автоматизировал данный процесс. Для этого в основной системе создадим в удобном для нас месте папку, а в ней 3 файла для запуска:
- config.xlaunch — файл настроек для VcXsrv
<?xml version="1.0" encoding="UTF-8"?> <XLaunch WindowMode="MultiWindow" ClientMode="NoClient" LocalClient="False" Display="0" LocalProgram="xcalc" RemoteProgram="xterm" RemotePassword="" PrivateKey="" RemoteHost="" RemoteUser="" XDMCPHost="" XDMCPBroadcast="False" XDMCPIndirect="False" Clipboard="True" ClipboardPrimary="True" ExtraParams="" Wgl="True" DisableAC="False" XDMCPTerminate="False" />
-
x-run.vbs — WSL всегда запускается со своим эмулятором терминала, если его закрыть — завершатся все его дочерние процессы. Чтоб данное окно не мозолило глаза, неплохо его запускать скрытым. К счастью в Windows встроен интерпретатор VBScript, который позволяет это сделать в одну строчку:
WScript.CreateObject("Shell.Application").ShellExecute "wsl", "cd /home/user1; DISPLAY=:0 LANG=ru_RU.UTF-8 su user1 -c xfce4-session", "", "open", 0
Поясню, что здесь происходит. Мы говорим VBscript выполнить приложение wsl с параметром
cd /home/user1; DISPLAY=:0 LANG=ru_RU.UTF-8 su user1 -c xfce4-session
, папка запуска нам не важна, поэтому пустая строка, действие open — запуск, 0 — скрытый режим. Самому wsl мы отдаем команду на выполнение: переход в папку пользователя, затем с установкой переменных окружения DISPLAY (дисплей X-сервера) и LANG (используемая локаль) мы запускаем xfce4-session от имени нашего пользователя user1 (благодаря команде su) - start.bat — batch файл для запуска, по желанию его можно засунуть в автозагрузку
start config.xlaunch wscript x-run.vbs
Далее можем запустить наш start.bat и настроить панель Xfce под себя. Замечу, что здесь я наткнулся на еще одну проблему — панель прекрасно отображается поверх всех окон, но вот выделить себе место, как панель на рабочем столе Windows она не может. Если кто знает решение данной проблемы, поделитесь в комментариях.
Ну и под конец данной части, скриншот моего рабочего стола:
Взаимодействие окружения Windows и окружения подсистемы Linux
Запускать Linux приложения напрямую из Windows можно через те же 3 команды — bash, wsl или ubuntu. Не забываем, что по умолчанию запуск идет от root, поэтому стоит понижать привилегии через su
, так же нужно не забывать передавать переменную окружения DISPLAY=:0 если приложению требуется X-сервер. Так же нужно менять папку, из которой должно работать приложение, через cd внутри WSL. Пример, посчитаем md5 для file.txt на диске D средствами Linux’овой md5sum:
wsl md5sum < d:file.txt
Доступ к файловой системе Linux так же имеется, лежит она в %localappdata%PackagesCanonicalGroupLimited.UbuntuonWindows_79rhkp1fndgscLocalStaterootfs
. Читать таким образом файлы можно, а вот писать — не желательно, можно поломать файловую систему. Думаю проблема в том, что Windows не умеет работать с правами и владельцами файловой системы Linux.
Из Linux так же можно запускать Windows приложения. Просто запускаем exe-шник и он выполнится в основной системе.
Диски Windows монтируются в /mnt
в соответствии со своими буквами в нижнем регистре. Например диск D будет смонтирован в /mnt/d
. Из Linux можно свободно читать и писать файлы Windows. Можно делать на них симлинки. Права у таких файлов всегда будут 0777, а владельцем будет root.
Сетевой стек у подсистемы общий с Windows. Сервер поднятый в Linux будет доступен на localhost в Windows и наоборот. Однако unix-domain-socket для Windows будет просто пустым файлом, работать с этим можно только внутри Linux. Выход во внешнюю сеть у Linux так же есть, в том числе можно слушать порты, если этого не запрещает фаервол.
ifconfig в Linux и ipconfig в Windows выдают одинаковую информацию о сетевых интерфейсах.
Из диспетчера задач Windows можно спокойно прибить процесс внутри подсистемы Linux. Однако Linux увидит только свои процессы.
Особенности, ограничения и подводные камни
Ядро Linux в WSL не настоящее. Это всего лишь прослойка-эмулятор, которая часть Linux-специфичных задач выполняет сама, а часть проксирует напрямую в ядро winNT. Большая часть api в нем реализована, но не все. Свое ядро собрать не получится, как и не получится подключить модули ядра (.ko, Kernel Object).
Init процесс у WSL тоже свой и заменить его, например, на system.d не выйдет. У меня давно есть желание написать менеджер демонов на go, который бы работал с файлами юнитов system.d и предоставлял бы схожий интерфейс, да все руки не доходят.
Нет поддержки openFUSE, соответственно примонтировать виртуальную или удаленную файловую систему не получится. Так же нельзя сделать mount из файла, mount вообще ничего кроме bind здесь, похоже, не умеет.
Так же нет никакой возможности разбить файловую систему Linux на несколько разделов/дисков.
Прямой доступ к железу практически отсутствует. Все таки мы находимся в песочнице Windows, а не в полноценном Linux. /dev и /sys заметно пустуют, в них лишь проц да виртуальные устройства. Доступ к GPU — только через X-сервер, напрямую — никак, так что нейросети обучать придется в Windows.
В JS разработке столкнулся с тем, что electron.js отказался запускаться в WSL, пришлось дублировать окружение node.js в Windows.
Итоги
Статья получилась довольно длинной, надеюсь, что она окажется еще и полезной.
WSL для меня лично оказался инструментом вполне юзабельным, решающим мои задачи fullstack backend разработчика. Виртуалка с Linux за полгода так и не понадобилась. По общим ощущениям Windows+WSL намного функциональнее, чем Linux+Wine.
Пока писал статью, обнаружил, что в Microsoft Store появилась сборка WSL с Debian 9.3, данный дистрибутив мне более симпатичен, чем Ubuntu, поэтому буду пробовать ставить.
Рекомендуем: Как запустить OpenSUSE 42.2 Leap или SUSE Linux Enterprise Server 12 в Windows 10
В Windows 10, теперь вы можете устанавливать и запускать приложения Linux с графическим интерфейсом с помощью подсистемы Windows для Linux (WSL) , и эта инструкция покажет вам, как это сделать.
В Windows 10 начиная со сборки 21364 и более поздних версиях, Microsoft наконец-то добавила поддержку графического интерфейса пользователя (GUI). Теперь вы можете запускать ваши любимые приложения Linux с помощью мыши и клавиатуры.
Новая функция предназначена для разработки и тестирования ваших приложений Linux без использования виртуальной машины, но вы можете использовать ее для всего, что вам нужно. Реализация включает поддержку переферии, например — динамиков и микрофона, поэтому, если вы установите мультимедийное приложение, периферийные устройства будут работать. 3D графика также поддерживаются для запуска любого приложения, которое должно выполнять сложный 3D-рендеринг с использованием OpenGL.
Не обязательно: Если у вас хороший графический процессор, вы можете запускать WSLg в системе с виртуальным графическим процессором (vGPU), включенным для WSL, чтобы воспользоваться преимуществами аппаратного ускорения рендеринга OpenGL. Вы можете найти нужный драйвер, поддерживающий WSL, по ссылкам ниже.
-
Драйвер AMD GPU для WSL
-
Драйвер Intel GPU для WSL
-
Драйвер NVIDIA GPU для WSL
При использовании этой функции нет необходимости запускать X-сервер вручную, поскольку WSL автоматически запускает «сопутствующий системный дистрибутив», который включает Wayland, X-сервер, аудио сервер и все необходимые компоненты. После того, как вы закроете приложение и сеанс WSL, системный дистрибутив завершится автоматически.
В этом руководстве вы узнаете, как в Windows 10 установить приложения Linux с графическим интерфейсом с помощью WSL.
Выполните следующие действия, чтобы установить и запустить приложение Linux GUI в Windows 10:
Шаг 1: Откройте «Пуск» в Windows 10.
Шаг 2: Найдите Ubuntu (или другой дистрибутив) и кликните верхний результат, чтобы открыть дистрибутив Linux.
Если Вы ранее не установили WSL, ознакомьтесь с нашей инструкцией: Как установить WSL 2 подсистему Windows для Linux 2 в Windows 10
Шаг 3: Желательно обновить список доступных пакетов Linux, вы должны использовать команду:
sudo apt-get update
Шаг 4: Введите следующую команду, чтобы установить приложение Linux с графический интерфейсом и нажмите Enter:
sudo apt-get install APP-NAME
В данной команде замените APP-NAME названием приложения, которое вы хотите установить.
Установка и запуск графического редактора Gimp в Windows 10
GIMP («Гимп») — свободно распространяемый растровый графический редактор, программа для создания и обработки растровой графики и частичной поддержкой работы с векторной графикой.
Шаг 5: В командной строке введите sudo apt-get install gimp
— это установит программу GIMP.
Шаг 6: Подтвердите пароль своей учетной записи Linux и нажмите Enter (если применимо).
После выполнения этих шагов приложение установится и зарегистрируется в меню «Пуск», что означает, что вы можете запустить приложение, запустив имя приложения в консоли подсистемы Windows для Linux (WSL) или из меню «Пуск».
В приведенных выше инструкциях описаны шаги по установке простого приложения из известных репозиториев, но в зависимости от нужного приложения шаги могут отличатся. Хорошей новостью является то, что процесс установки такой же, как и для любого другого приложения Linux, поэтому вы можете следовать инструкциям разработчика, чтобы установить практически любое приложение, такое как gedit, VLC, Audacity, web admin и т. Д.
Шаг 7: Если вы хотите запустить приложение Linux GUI из меню «Пуск» Windows 10, вы найдете записи в списке «Недавно добавленные», или вы также можете найти их в папке (имя дистрибутива) под записью дистрибутива Linux.
Когда вы запускаете приложение, виртуальная машина запускается (через несколько секунд) без необходимости открывать консоль WSL. Вы также заметите, что на панели задач будет отображаться значок с логотипом Linux, указывающий, что вы не запускаете приложение Windows 10.
Опыт использования графического приложения Linux в Windows 10 кажется естественным, но это не так. Приложение выполняет рендеринг со всеми визуальными стилями Linux для фрейма, меню и других элементов, и есть даже тень вокруг фрейма, и каждое окно работает независимо.
Однако это подключение к удаленному рабочему столу, которое Microsoft, вероятно, использует с функцией RemoteApp, встроенной в операционную систему.
Ниже представлен небольшой список приложений и команд для установки и запуска программ linux в Windows 10.
Gedit
Gedit это текстовый редактор для среды GNOME. Редактор поддерживает подсветку синтаксиса, автоматическую проверку орфографии, вкладки с разными документами, есть инструмент поиска и замены текста, подсветку текущей строки и их нумерацию, удобную навигацию, и многие другие функции.
Установка:
sudo apt-get install gedit
Матрица — cmatrix
Установка:
sudo apt-get install cmatrix
Firefox
Установка:
sudo apt-get install firefox
Как удалить приложение Linux GUI в Windows 10
Если вам необходимо удалить одно из установленных приложений, вы должны использовать команду:
sudo apt remove APP-NAME
В данной команде замените APP-NAME названием приложения, которое вы хотите удалить. Для удаления текстового редактора Gedit используйте команду
sudo apt remove gedit
На запрос — Do you want to continue? [Y/n] ответьте Y и нажмите клавишу Enter
Приложение будет удалено с вашего устройства и больше не будет отображаться в меню «Пуск»
Все!
Какие приложения или игры Linux запустили вы в операционной системе Windows 10, поделитесь пожалуйста в комментариях ниже.
Вам может быть интересно: Как запустить Linux с графической оболочкой рабочего стола используя WSL 2 в Windows 10
title | description | ms.date | ms.topic |
---|---|---|---|
Run Linux GUI apps with WSL |
Learn how WSL support running Linux GUI apps. |
11/28/2022 |
article |
Run Linux GUI apps on the Windows Subsystem for Linux
Windows Subsystem for Linux (WSL) now supports running Linux GUI applications (X11 and Wayland) on Windows in a fully integrated desktop experience.
WSL 2 enables Linux GUI applications to feel native and natural to use on Windows.
- Launch Linux apps from the Windows Start menu
- Pin Linux apps to the Windows task bar
- Use alt-tab to switch between Linux and Windows apps
- Cut + Paste across Windows and Linux apps
You can now integrate both Windows and Linux applications into your workflow for a seamless desktop experience.
Install support for Linux GUI apps
Prerequisites
-
You will need to be on Windows 10 Build 19044+ or Windows 11 to access this feature.
-
Installed driver for vGPU
To run Linux GUI apps, you should first install the driver matching your system below. This will enable you to use a virtual GPU (vGPU) so you can benefit from hardware accelerated OpenGL rendering.
- Intel GPU driver for WSL
- AMD GPU driver for WSL
- NVIDIA GPU driver for WSL
Fresh install — No prior WSL installation
You can now install everything you need to run Windows Subsystem for Linux (WSL) by entering this command in an administrator PowerShell or Windows Command Prompt and then restarting your machine.
Once your machine has finished rebooting, installation will continue and you will be asked to enter a username and password. This will be your Linux credential for the Ubuntu distribution.
You’re now ready to begin using Linux GUI apps on WSL!
For more info check install WSL.
Existing WSL install
If you already have WSL installed on your machine, you can update to the latest version that includes Linux GUI support by running the update command from an elevated command prompt.
-
Select Start, type PowerShell, right-click Windows PowerShell, and then select Run as administrator.
-
Enter the WSL update command:
-
You will need to restart WSL for the update to take effect. You can restart WSL by running the shutdown command in PowerShell.
[!NOTE]
Linux GUI apps are only supported with WSL 2 and will not work with a Linux distribution configured for WSL 1. Read about how to change your distribution from WSL 1 to WSL 2.
Run Linux GUI apps
You can run the following commands from your Linux terminal to download and install these popular Linux applications. If you are using a different distribution than Ubuntu, it may use a different package manager than apt. Once the Linux application is installed, you can find it in your Start menu under the distribution name. For example: Ubuntu -> Microsoft Edge
.
[!NOTE]
Support for GUI apps on WSL does not provide a full desktop experience. It relies on Windows desktop, so installing desktop-focused tools or apps may not be supported. To request additional support, you can file an issue in the WSLg repo on GitHub.
Update the packages in your distribution
Install Gedit
Gedit is the default text editor of the GNOME desktop environment.
sudo apt install gedit -y
To launch your bashrc file in the editor, enter: gedit ~/.bashrc
Install GIMP
GIMP is a free and open-source raster graphics editor used for image manipulation and image editing, free-form drawing, transcoding between different image file formats, and more specialized tasks.
To launch, enter: gimp
Install Nautilus
Nautilus, also known as GNOME Files, is the file manager for the GNOME desktop. (Similar to Windows File Explorer).
sudo apt install nautilus -y
To launch, enter: nautilus
Install VLC
VLC is a free and open source cross-platform multimedia player and framework that plays most multimedia files.
To launch, enter: vlc
Install X11 apps
X11 is the Linux windowing system and this is a miscellaneous collection of apps and tools that ship with it, such as the xclock, xcalc calculator, xclipboard for cut and paste, xev for event testing, etc. See the x.org docs for more info.
sudo apt install x11-apps -y
To launch, enter the name of the tool you would like to use. For example:
xcalc
,xclock
,xeyes
Install Google Chrome for Linux
To install the Google Chrome for Linux:
- Change directories into the temp folder:
cd /tmp
- Use wget to download it:
sudo wget https://dl.google.com/linux/direct/google-chrome-stable_current_amd64.deb
- Get the current stable version:
sudo dpkg -i google-chrome-stable_current_amd64.deb
- Fix the package:
sudo apt install --fix-broken -y
- Configure the package:
sudo dpkg -i google-chrome-stable_current_amd64.deb
To launch, enter: google-chrome
Install Microsoft Teams for Linux
To install Microsoft Teams for Linux:
- Change directories into the temp folder:
cd /tmp
- Use curl to download the package:
sudo curl -L -o "./teams.deb" "https://teams.microsoft.com/downloads/desktopurl?env=production&plat=linux&arch=x64&download=true&linuxArchiveType=deb"
- Use apt to install it:
sudo apt install ./teams.deb -y
To launch, enter: teams
Install Microsoft Edge browser for Linux
Find information on how to install the Microsoft Edge browser for Linux using the command line on the Edge Insider site. Select Get instructions under the Command line installation section of the page.
To launch, enter: microsoft-edge
Troubleshooting
If you have any problem starting GUI applications please check this guide first: Diagnosing «cannot open display» type issues with WSLg
title | description | ms.date | ms.topic |
---|---|---|---|
Run Linux GUI apps with WSL |
Learn how WSL support running Linux GUI apps. |
11/28/2022 |
article |
Run Linux GUI apps on the Windows Subsystem for Linux
Windows Subsystem for Linux (WSL) now supports running Linux GUI applications (X11 and Wayland) on Windows in a fully integrated desktop experience.
WSL 2 enables Linux GUI applications to feel native and natural to use on Windows.
- Launch Linux apps from the Windows Start menu
- Pin Linux apps to the Windows task bar
- Use alt-tab to switch between Linux and Windows apps
- Cut + Paste across Windows and Linux apps
You can now integrate both Windows and Linux applications into your workflow for a seamless desktop experience.
Install support for Linux GUI apps
Prerequisites
-
You will need to be on Windows 10 Build 19044+ or Windows 11 to access this feature.
-
Installed driver for vGPU
To run Linux GUI apps, you should first install the driver matching your system below. This will enable you to use a virtual GPU (vGPU) so you can benefit from hardware accelerated OpenGL rendering.
- Intel GPU driver for WSL
- AMD GPU driver for WSL
- NVIDIA GPU driver for WSL
Fresh install — No prior WSL installation
You can now install everything you need to run Windows Subsystem for Linux (WSL) by entering this command in an administrator PowerShell or Windows Command Prompt and then restarting your machine.
Once your machine has finished rebooting, installation will continue and you will be asked to enter a username and password. This will be your Linux credential for the Ubuntu distribution.
You’re now ready to begin using Linux GUI apps on WSL!
For more info check install WSL.
Existing WSL install
If you already have WSL installed on your machine, you can update to the latest version that includes Linux GUI support by running the update command from an elevated command prompt.
-
Select Start, type PowerShell, right-click Windows PowerShell, and then select Run as administrator.
-
Enter the WSL update command:
-
You will need to restart WSL for the update to take effect. You can restart WSL by running the shutdown command in PowerShell.
[!NOTE]
Linux GUI apps are only supported with WSL 2 and will not work with a Linux distribution configured for WSL 1. Read about how to change your distribution from WSL 1 to WSL 2.
Run Linux GUI apps
You can run the following commands from your Linux terminal to download and install these popular Linux applications. If you are using a different distribution than Ubuntu, it may use a different package manager than apt. Once the Linux application is installed, you can find it in your Start menu under the distribution name. For example: Ubuntu -> Microsoft Edge
.
[!NOTE]
Support for GUI apps on WSL does not provide a full desktop experience. It relies on Windows desktop, so installing desktop-focused tools or apps may not be supported. To request additional support, you can file an issue in the WSLg repo on GitHub.
Update the packages in your distribution
Install Gedit
Gedit is the default text editor of the GNOME desktop environment.
sudo apt install gedit -y
To launch your bashrc file in the editor, enter: gedit ~/.bashrc
Install GIMP
GIMP is a free and open-source raster graphics editor used for image manipulation and image editing, free-form drawing, transcoding between different image file formats, and more specialized tasks.
To launch, enter: gimp
Install Nautilus
Nautilus, also known as GNOME Files, is the file manager for the GNOME desktop. (Similar to Windows File Explorer).
sudo apt install nautilus -y
To launch, enter: nautilus
Install VLC
VLC is a free and open source cross-platform multimedia player and framework that plays most multimedia files.
To launch, enter: vlc
Install X11 apps
X11 is the Linux windowing system and this is a miscellaneous collection of apps and tools that ship with it, such as the xclock, xcalc calculator, xclipboard for cut and paste, xev for event testing, etc. See the x.org docs for more info.
sudo apt install x11-apps -y
To launch, enter the name of the tool you would like to use. For example:
xcalc
,xclock
,xeyes
Install Google Chrome for Linux
To install the Google Chrome for Linux:
- Change directories into the temp folder:
cd /tmp
- Use wget to download it:
sudo wget https://dl.google.com/linux/direct/google-chrome-stable_current_amd64.deb
- Get the current stable version:
sudo dpkg -i google-chrome-stable_current_amd64.deb
- Fix the package:
sudo apt install --fix-broken -y
- Configure the package:
sudo dpkg -i google-chrome-stable_current_amd64.deb
To launch, enter: google-chrome
Install Microsoft Teams for Linux
To install Microsoft Teams for Linux:
- Change directories into the temp folder:
cd /tmp
- Use curl to download the package:
sudo curl -L -o "./teams.deb" "https://teams.microsoft.com/downloads/desktopurl?env=production&plat=linux&arch=x64&download=true&linuxArchiveType=deb"
- Use apt to install it:
sudo apt install ./teams.deb -y
To launch, enter: teams
Install Microsoft Edge browser for Linux
Find information on how to install the Microsoft Edge browser for Linux using the command line on the Edge Insider site. Select Get instructions under the Command line installation section of the page.
To launch, enter: microsoft-edge
Troubleshooting
If you have any problem starting GUI applications please check this guide first: Diagnosing «cannot open display» type issues with WSLg
23 Апреля 2021 09:20
23 Апр 2021 09:20
|
Тестировщики-добровольцы впервые получили доступ к сборке Windows 10, в которой реализован запуск приложений для Linux с графическим интерфейсом. Заявлены поддержка звука «из коробки», GPU-ускорения и «бесшовная» интеграция в Windows-окружение.
Linux-приложения в Windows
Microsoft начала тестирование новой функции операционной системы Windows 10, которая позволяет запускать приложения с графическим интерфейсом (GUI). Об этом сообщается в официальном блоге разработчиков Windows 10.
С появлением данной функции в Windows 10 пользователь получает возможность запускать практически любые Linux-программы, в том числе и «тяжелые» – к примеру, мощный симулятор роботов Gazebo. Как отмечает Microsoft, это, в первую очередь, будет полезно разработчикам кроссплатформенного ПО – сборка и тестирования программ станут для них гораздо проще.
Ранее для запуска GUI-приложений для Linux в Windows 10 было необходимо либо развертывать отдельную виртуальную машину, либо устанавливать специальный X-сервер для Windows 10 и настраивать его взаимодействие с подсистемой WSL.
Приложения для Windows и Linux вперемежку
Разработчики из Microsoft ставят своей целью сделать так, чтобы Linux-приложения «бесшовно» вписывались в окружение Windows. В частности, как утверждается в блоге, окна таких программ корректно отображаются в карусели, которая вызывается по нажатию клавиш Alt+Tab, а также на панели задач и могут сворачиваться в нее. Установленные Linux-приложения наравне с Windows-программами попадают в меню «Пуск». Обмен информацией через буфер обмена работает для программ под Linux и Windows одинаково и в обе стороны.
Стоит отметить, что, судя по опубликованным скриншотам, единообразия в стиле оформления окон разработчикам пока достичь не удалось – Linux-приложение легко отличить по стилю заголовка окна и кнопок управления его состоянием.
Заявлены поддержка воспроизведения звука и записи с микрофона «из коробки» в Linux-приложения. Кроме того, поддерживается аппаратное ускорение с помощью GPU, которое позволяет системе отрисовывать элементы интерфейса плавно и быстро, не нагружая центральный процессор.
Как это работает
Выполнение Linux-приложений c GUI обеспечивает компонент Windows 10, который разработчики называют WSLg – часть подсистемы Windows для Linux (Windows Subsystem for Linux, WSL).
Подсистема впервые появилась в Windows 10 в 2016 г., но позволяла запускать исключительно инструменты, взаимодействие с которыми осуществляется через консоль.
О разработке второй версии WSL Microsoft сообщила в мае 2019 г. Новое поколение подсистемы, в которую было включено уже полноценное ядро Linux, стало важной частью релиза Windows 10 2004, который состоялся в конце мая 2020 г. Тогда же Microsoft анонсировала будущую поддержку запуска Linux-приложений с графическим интерфейсом.
При запуске WSL автоматически стартует виртуальная машина, в которой развернуты дистрибутив по выбору пользователя и специально подготовленное Microsoft ядро Linux. Когда в дело вступает WSLg на арене появляется еще один дистрибутив – системный.
Курьерская доставка и искусственный интеллект: финтех-тренды карточного бизнеса-2022
ИТ в банках
Системный дистрибутив основан на CBL-Mariner Linux, внутренней разработке Microsoft, которая также обеспечивает работу облачных сервисов Azure. Это минимальная среда Linux, упакованная в контейнер и достаточная для запуска различных компонентов WSLg, таких как Pulse Audio-, Wayland-, X- и RDP-серверы. Эти компоненты могут взаимодействовать с клиентской частью (GUI-приложение в пользовательском дистрибутиве) через специальные каналы обмена данными (сокеты).
При запуске GUI-приложения Linux автоматически стартует встроенный в Windows 10 RDP-клиент mstsc.exe, который предназначен для подключения к удаленным рабочим столам, и устанавливает соединение с модифицированным RDP-бэкендом композитного менеджера Weston. Через RDP-клиент пользователю и видны запущенные в виртуальной машине GUI-приложения.
Кому доступно и как установить
Первыми оценить новую функцию смогут участники программы предварительного тестирования Windows Insiders. Для этого понадобится загрузить сборку Windows Insider build 21364 и установить WSL c помощью единственной консольной команды: “wsl —install -d Ubuntu”. В данном примере в качестве пользовательского дистрибутива будет установлен Ubuntu. После завершения первого этапа установки WSL потребуется перезагрузка Windows, по завершении которой будет предложено задать имя пользователя и пароль в Linux.
После этого в консоли WSL можно использовать подходящий пакетный менеджер для установки приложений. К, примеру, чтобы инсталлировать популярный медиаплеер Vlc, в Ubuntu понадобится следующая команда: “sudo apt install vlc”. Запуск программы осуществляется простым вводом названия ее исполняемого файла, в данном случае “vlc”.
Александр Грицай, Forecast NOW: Как сделать продукт для управления запасами лучше, чем у многомиллиардных ИТ-корпораций?
Импортозамещение
Если планируется использовать GPU-ускорение, также понадобится драйвер видеокарты. Специальные сборки драйверов, обеспечивающие поддержку DirectX 12 в WSL-окружении, подготовлены AMD, Nvidia и Intel и доступны для загрузки на официальных сайтах этих компаний.
- 10 функций Telegram, о которых вы не знали: наводим порядок в чатах
Windows Subsystem for Linux (WSL) — подсистема ОС Windows 10, позволяющая разработчикам, тестировщикам запускать нативные приложения Linux, писать скрипты, выполнять команды непосредственно из Windows. В обновлённой Windows 10 (2004) появилась 2я версия WSL, в которой используется полноценное ядро Linux с возможностью запуска приложений и контейнеров Docker, реализована высокая скорость загрузки, небольшой объем потребляемых ресурсов, управление в фоновом режиме, обновление ядра. Таким образом вы сможете запускать ELF64 программы, которые могут получать доступ к файловой системе Windows без использования сторонних порто (таких как Cygwin).
Образ ядра Linux (версия ядра 4.19) в Windows 10 представляет собой легкую виртуальную машину, для запуска которой не нужно ставить полноценную роль Hyper-V. Системные вызовы Linux транслируются на лету в вызовы Windows без использования эмулятора (в отличии от WSL1).
Изначально компонент WSL отключен. Чтобы его включить, вам необходимо зайти в Пуск -> Панель управления -> Программы и компоненты -> Включение и отключение компонентов Windows (Control PanelAll Control Panel ItemsPrograms and FeaturesTurn Windows features on or off), активировать галочку Подсистема Windows для Linux (Windows Subsystem for Linux), нажать кнопку ОК, и перезагрузить компьютер.
Вы можете включить компоненты WSL в Windows 10 с помощью dism:
dism.exe /online /enable-feature /featurename:VirtualMachinePlatform /all /norestart
dism.exe /online /enable-feature /featurename:Microsoft-Windows-Subsystem-Linux /all /norestart
или PowerShell
Enable-WindowsOptionalFeature -Online -FeatureName Microsoft-Windows-Subsystem-Linux
Enable-WindowsOptionalFeature -Online -FeatureName VirtualMachinePlatform
В Windows Server 2004 Semi-Annual Channel (SAC) для установки компонента WSL используется командлет Install-WindowsFeature:
Install-WindowsFeature -Name Microsoft-Windows-Subsystem-Linux
После этого также необходимо перезагрузить компьютер.
В настройка BIOS/UEFI компьютера должна быть включена поддержка аппаратной виртуализации: Intel VT (Intel Virtualization Technology) или AMD-V.
Теперь вам нужно выполнить обновление WSL до версии 2. Для этого требуется зайти на сайт https://docs.microsoft.com/ru-ru/windows/wsl/wsl2-kernel, скачать файл wsl_update_x64.msi, установить его. По завершении увидите картинку
Чтобы сделать WSL2 архитектурой по умолчанию для новых дистрибутивов, в PowerShell выполните команду:
wsl --set-default-version 2
Далее вам необходимо открыть Microsoft Store, в поиске ввести слово “Linux”. В появившемся списке выберите нужный дистрибутив. Доступные Ubuntu, Debian, Kali Linux, Linux Cheatsheet, SUSE Linux Enterprise Server15, openSUSE Leap 15-1, Pengwin Enterprise, Fedora Remix for WSL или другие. В нашем примере мы будем использовать Ubuntu 20.04 LTS, нажмите кнопку Получить.
Если у вас отключен Windows Store или вы хотите установить дистрибутив WSL в Core редакции Windows Server, вы можете скачать дистрибутив Ubuntu с помощью PowerShell командлета Invoke-WebRequest:
Invoke-WebRequest https://aka.ms/wslubuntu2004 -OutFile ubuntu-2004.zip –UseBasicParsing
Распакуйте архив:
Expand-Archive -Path .ubuntu-2004.zip
Запустите установку образа Linux с помощью файла Ubuntu.exe.
Также вы можете скачать образ в виде appx файла и установить его с помощью командлета Add-AppxPackage.
После установки можно проверить используемую версию WSL с помощью команды
wsl --list –-verbose
Если у вашей среды Linux указана версия 1, нужно изменить ее на WSL2 командой:
wsl --set-version Ubuntu-20.04 2
Файл жёсткого диска с образом виртуальной машины ОС Linux Ubuntu 20.04 будет располагаться в профиле пользователя: C:Users234AppDataLocalPackagesCanonicalGroupLimited.Ubuntu20.04onWindows_79rhkp1fndgscLocalState.
После установки дистрибутива в стартовом меню появляется ярлык на него. Для запуска Ubuntu зайдите в меню Пуск, нажмите на соответствующем ярлыке и получите в отдельном окне полноценную командную оболочку Bash. Запускать WSL можно и с помощью команды wsl. При первом запуске образа в командной строке Bash вам будет предложено создать пользователя и пароль (которые не должны совпадать с учётной записью Windows). Чтобы выполнять команды с правами root, необходимо использовать дополнительный ключ (префикс) sudo. В WSL есть общие команды для Bash и CMD, и тут нужно не забывать, что система Linux чувствительна к регистру.
Вы можете выполнить Linux-команды из CMD. Для этого необходимо вначале указать “WSL”. Например, для просмотра списка файлов и папок в каталоге Windows, выполните:
wsl
ls /mnt
ls/mnt/c
dir | wsl grep Sa
wsl ls ‑la > 123.txt
wsl ls ‑la /proc/cpuinfo
wsl ls ‑la “/mnt/c/Program Files”
Также вы можете открыть проводник командой explorer.exe, калькулятор – calc.exe, блокнот – notepad.exe, paint – mspaint.exe, календарь – cal, погоду – curl wttr.in
Ещё один пример взаимосвязи 2х систем – вы можете открыть в Windows файл из WSL-дистрибутива по сетевому пути. Для этого в CMD наберите путь к файлу:
notepad \wsl$Ubuntu-20.04home1122.txt
Из окна консоли вы можете обновить список пакетов в Ubuntu с помощью команд:
sudo apt-get update
sudo apt-get upgrade
После обновления Ubuntu папка …/LocalState будет занимать 1.5 Гб.
Из командной строки Linux можно не только просмотреть Windows-файлы и каталоги, но и получить к ним доступ. Чтобы удобнее копировать файлы, просматривать директории и их содержимое, установите файловый менеджер Midnight Commander с помощью команды
sudo apt-get install mc
Вы можете запустить Midnight Commander как в командной оболочке Bash, так и внутри CMD. На скриншоте ниже показано, что в двух панелях MC показывается список файлов с обеих ОС.
Можно отобрахить сетевые настройки (IP адрес) IP-адрес Linux-системы:
ip addr | grep eth0
В WSL не предусмотрена работа приложений с графическим интерфейсом. Тем не менее вы можете попробовать их установить и использовать. Чтобы запускать графические приложения в Linux, нужно скачать и установить в Windows программу VcXsrv Windows X Server (https://sourceforge.net/projects/vcxsrv/).
С помощью пакетного менеджера apt-get установим несколько графических программ: например, браузер, текстовый редактор или что-то ещё:
sudo apt-get install gedit
sudo apt-get install firefox
sudo apt-get install x11-app
Затем создайте файл в директории root:
cd /~
vim .bash_login
впишите строку
export DISPLAY=$(cat /etc/resolv.conf | grep nameserver | awk '{print $2}'):0
сохраните запись
Esc -> :wr -> :q
Теперь можете запустить графические программы Linux через WSL командами:
firefox
или
gedit
Вы можете установить в Windows 10 несколько дистрибутивов Linux и запускать одновременно в разных окнах WSL. Вывести весь перечень установленных дистрибутивов можете с помощью команды:
wsl --list –all
чтобы завершить работу всех запущенных дистрибутивов и ядра WSL 2, выполните команду:
wsl --shutdown
Windows Subsystem для Linux поставляется без рабочего стола. Давайте посмотрим как установить среду рабочего стола WSL, например GNOME, Xfce, KDE или LXDE, в Windows.
Запуск Linux наряду с Windows с годами становится все более полезным. Но двойной загрузкой может быть сложно управлять, а при настройке виртуальной машины возникают некоторые проблемы со стабильностью.
Одним из решений является использование подсистемы Windows для Linux. Как же запустить рабочий стол Linux в Windows с помощью подсистемы Windows для Linux?
Подсистема Windows для Linux (WSL) – это дополнительная функция для Windows 10 и 11, которая поддерживает установку операционных систем Linux, доступных в Магазине Windows.
По сути это означает, что вы можете открыть терминал Linux в Windows, установить и запустить программное обеспечение Linux.
Нет необходимости устанавливать какие-либо приложения для виртуализации и нет двойной загрузки.
Проблема с Windows Subsystem for Linux, однако, заключается в том, что по умолчанию это чисто командная строка. Рабочий стол отсутствует. Для опытных пользователей это, вероятно, не будет проблемой, но поскольку Linux имеет широкий выбор окружений рабочего стола, это кажется небольшим упущением.
К счастью, вы можете установить рабочий стол Linux в Windows с помощью WSL.
Убедитесь в совместимости с Windows 10
Прежде чем продолжить, вот важный момент: вы должны использовать 64-битную версию Windows.
Вы можете проверить это в Настройки > Система > О системе, где вы найдете запись Тип системы. Чтобы продолжить, там должно быть написано “64-битная операционная система”. Если это не так, и вы используете 64-разрядное оборудование, вам нужно обновить Windows 10 с 32-разрядной версии до 64-разрядной.
Еще одним обязательным условием является то, что вы должны использовать Windows 10 build 14393 или более позднюю версию. Вы можете проверить это на том же экране “О программе”, в разделе “Характеристики Windows”. Посмотрите на сборку ОС – если она выше, чем 14393, вы можете использовать подсистему Windows для Linux. Если нет, просто запустите обновление Windows.
После того как Windows 10 будет совместима, настанет время следовать нашему руководству по установке подсистемы Windows для Linux.
Как запустить Linux в Windows
Когда все готово, пора добавить рабочий стол.
Установка рабочего стола Linux в WSL
Если вы уже установили подсистему Windows для Linux, нажмите кнопку Пуск и введите bash. Щелкните первый вариант (команда bash run), чтобы начать использовать Linux. Следующие шаги предполагают, что вы установили Ubuntu в качестве предпочитаемой операционной системы Linux.
Начните с запуска обновления и обновления Ubuntu:
sudo apt update
sudo apt upgrade
Пока идет обновление, зайдите на Sourceforge, чтобы загрузить и установить утилиту VcXsrv Windows X Server. (Для Windows доступны и другие X-серверы, включая Xming и MobaXterm. В оставшейся части этого руководства мы будем использовать VcXsrv.)
Сервер X позволяет получить доступ к графическому пользовательскому интерфейсу (GUI) приложения Linux или среды рабочего стола. Системы Linux полагаются на X для отображения рабочего стола, но его можно использовать и в сети.
Прежде чем продолжить, убедитесь, что сервер окон X установлен. Следующим шагом будет установка среды рабочего стола Linux (LDE).
Для WSL доступно множество окружений рабочего стола Linux. Для начала, мы будем действовать проще и установим легкую среду под названием LXDE. Чтобы установить, введите:
sudo apt install lxde
После установки LXDE введите следующую команду
export DISPLAY=:0
export LIBGL_ALWAYS_INDIRECT=1
Это указывает Linux отображать рабочий стол через X-сервер. Таким образом, когда вы запустите программу X Server, которую вы скачали выше, вы увидите окружение рабочего стола Linux.
Мы использовали VcXsrv, который содержит инструмент XLaunch. Пришло время его запустить, На рабочем столе щелкните на иконку “XLaunch”
И выберите One large window или One large window without titlebar.
Нажмите Далее, затем выберите Запустить без клиента, чтобы XLaunch запустил только сервер, что позволит вам позже запустить рабочий стол Linux. Снова нажмите Далее, затем Готово. Также, вы можете нажать Сохранить конфигурацию, чтобы сохранить ее.
Готовы запустить рабочий стол Linux? Введите команду для запуска предпочитаемого вами LDE. Для LXDE, например, используйте:
startlxde
После этого должно появиться окружение рабочего стола Linux!
Теперь вы можете запускать любое предустановленное программное обеспечение Linux и даже устанавливать новые приложения и утилиты. Другие совместимые с WSL среды рабочего стола включают KDE. Вы даже можете установить GNOME на Windows, чтобы получить полноценный рабочий стол Ubuntu.
Установите рабочее окружение Xfce или KDE в Windows
Для установки рабочего стола Xfce, используйте команду
sudo apt install xfce4
После установки, запустите рабочий стол командой
startxfce4
Если рабочий стол XFCE не запускается, смотрите чуть ниже про установку kde plasma
Хотите использовать рабочее окружение KDE Plasma в Windows, введите следующую команду
sudo apt install kubuntu-desktop
Далее запустите рабочий стол Plasma
startplasma-x11
Важное замечание
У меня не получилось запустить этот рабочий стол ввиду ошибки
error while loading shared libraries: libQt5Core.so.5: cannot open shared object file: No such file or directory
Это известная ошибка, но ее можно обойти
Для начала узнайте ваш IP-адрес введя в терминале Windows команду
ipconfig
Мой ip-адрес – 192.168.0.111
Далее перейдите в терминал Ubuntu, где вам нужно отредактировать файл .bashrc
nano ~/.bashrc
В конце этого файла, добавьте следующую строку
export DISPLAY=192.168.0.111:0
Не забудьте поменять на ваш IP-адрес
Чтобы сохранить файл нажмите “Ctrl+O” и закройте с помощью “Ctrl+X”
Введите команду
source ~/.bashrc
Чтобы изменения вступили в силу немедленно
Далее вам нужно установить дополнительные инструменты, введя команду
sudo apt install binutils
И наконец, чтобы исправить ошибку выше, введите команду
sudo strip --remove-section=.note.ABI-tag /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
Запустите рабочий стол Plasma
startplasma-x11
Вы должны увидеть знакомое рабочее окружение
Не хотите использовать среду рабочего стола WSL? Просто установите приложение Linux
Помимо установки рабочего стола Linux, вы можете просто установить приложение для рабочего стола Linux в Windows 10. Это полезно, если вы считаете, что установка полноценного рабочего стола для одного из них – это излишество.
Например, чтобы установить медиаплеер Rhythmbox и запустить его в Linux на Windows, используйте:
sudo apt install rhythmbox
Убедитесь, что вы задали команду export:
export DISPLAY=:0
Затем просто запустите приложение из интерпретатора bash:
rhythmbox
Запустится медиаплеер, готовый к поиску библиотеки.
Теперь, в этом случае, вам, очевидно, нужно добавить некоторые медиафайлы в среду Linux на вашем компьютере. Вы можете сделать это, установив браузер и загрузив файлы, или просто подключив USB-накопитель с медиафайлами.
После подключения USB-накопителя не забудьте смонтировать его (в данном примере в качестве буквы диска используется D:):
sudo mount -t drvfs D: /mnt/d
Когда вы закончите, вам нужно будет размонтировать диск перед извлечением. Это обеспечит целостность данных на диске.
sudo umount /mnt/d
Хотя из приложений Linux можно просматривать папки Windows, реальные файлы открывать нельзя. Это недостаток подсистемы Windows для Linux, хотя и защищающий среду Windows и Linux от повреждений.
Запустите рабочий стол Linux в Windows: Предельная конвергенция!
Подсистема Windows для Linux позволяет легко запускать программное обеспечение Linux на ПК под управлением Windows. Нет необходимости беспокоиться о виртуальных машинах или мучиться с двойной загрузкой.
С установленным рабочим столом Linux конвергенция практически завершена. Это отличный способ освоить Linux, не выходя за пределы рабочего стола Windows.
Хотите узнать больше? Сейчас самое время начать работать с Linux.