Green-sell.info

Новые технологии
2 просмотров
Рейтинг статьи
1 звезда2 звезды3 звезды4 звезды5 звезд
Загрузка...

Subsystem for linux

Windows Subsystem for Linux (WSL): установка Ubutnu в Windows 10

Дата добавления: 30 октября 2018

Введение. Запуск linux приложений в Windows 10.
Windows Subsystem for Linux (сокращённо WSL) представляет собой слой совместимости для выполнения бинарных файлов Lunux (ELF) в среде операционной системы Windows 10 и Windows Server 2019.
WSL позволяет использовать множество программ, собранных под Linux и доступных в репозиториях дистрибутивов без пуска каких-либо виртуальных машин, что ускоряет процесс, имеет высокий уровень интеграции с основной системой, и требует намного меньше системных ресурсов по сравнению с виртуализацией.
Однако важно понимать, что это всего лишь слой совместимости для запуска Linux программ, а не полноценное Linux ядро, поэтому ожидать полноценной Linux системы без виртуальный машины, и поддержки всех программ и файлов конфигурации (особенно требующий низкоуровневый доступ) не следует.
WHL пока эффективнее всего применять для небольших высокоуровневых консольных утилит и для получения привычного консольного bash-окружения.

Для начала нам надо активировать компонент Windows Subsystem for Linux так как по умолчанию он выключен. Есть два способа:
1. Включение Windows Subsystem for Linux через Windows Power Shell
Необходимо запустить Windows Power Shell с правами администратора и выполнить команду:

После этого может потребуется перезагрузка компьютера (если компонент уже не был включён).
2. Включение Windows Subsystem for Linux через «компоненты Windows»
Заходим в классическую панель управления => Программы и компоненты => Слева «Включение или отключение компонентов Windows».
Выбираем «Подсистема Windows для Linux, и нажимаем OK. Потребуется перезагрузка компьютера.

Установка дистрибутива Linux
Проще всего выбрать и установить необходимый вам дистрибутив, как бы это странно не звучало, в магазине Microsoft (находим и заходим в приложение Microsoft Store).
По запросу «Linux» в поиске можно найти одни из наиболее популярных дистрибутивов:

Для примера выберем и установим «свежий» Ubuntu 18.04 LTS:

Теперь в меню приложений мы увидим установленный дистрибутив Ubuntu 18.04.

Запустим приложение и проведём начальную настройку:
При первом запуске нас просят ввести свой имя пользователя (которое будет использоваться в Linux системе), а создать пароль к создаваемой учётной записи:

В версии 18.04 при открытии приложения по умолчанию открывается терминал от имени root. Для входа под созданным пользователем можно использовать команду:

, где «Subsanek» — ваше имя пользователя В Windows.

А для перехода к файлам Windows нам нужно заглянуть в каталог mnt, где найдём все подключенные диски и сможем в них перейти:

Вы можете без проблем доустановить необходимые пакеты из репозитория Ubuntu с помощью привычного apt, и пользоваться ими, как если бы вы находились в реальном Linux.
С «лёгкими» и консольными приложениями, как правило, проблем никаких нет:

Запуск графических приложения с помощью Windows X-сервера Xming
С помощью Windows Subsystem for Linux можно запускать не только консольные, но и графические приложения, используя X-сервер на Windows.
Для начала нам нужно скачать и установить X-сервер Xming на Windows машину (Xming является по сути портом X-сервера для Windows). Скачать сервер Xming можно c официальной страницы.
После установки мы получаем утилиты XLaunch для запуск задаём конфигурацию сервера:



Запускаем XLaunch и задаём следующие настройки:
Теперь прописываем в терминале (Ubutntu) переменную окружения DISPLAY:

Wine наоборот: потрошим Windows Subsystem for Linux

Содержание статьи

Никогда прежде корпорация Microsoft не обращала столь пристального внимания на Linux, как в последние полгода. Конкретно сборка Microsoft Windows 10 Build 14316 для разработчиков (developer release) совместно с Canonical (!) включает подсистему Linux. Это не эмулятор и не виртуальная машина, а полноценный терминал Linux, работающий внутри Windows 10!

Как это понимать?

30 марта 2016 года на конференции Build для разработчиков Microsoft объявила о начале поддержки командного интерпретатора bash в Windows 10. Дастин Киркленд (Dustin Kirkland) из команды разработчиков Ubuntu в своем блоге раскрыл некоторые подробности этого знакового события. Вкратце работа линуксовых приложений организуется без использования контейнеров виртуализации, отдельной пересборки утилит и даже без использования ядра Linux — родные исполняемые файлы Linux запускаются благодаря специальной прослойке, на лету транслирующей системные вызовы Linux в системные вызовы Windows. По сути, реализован обратный аналог системы Wine, получивший название Windows Subsystem for Linux (далее — WSL) и якобы практически не влияющий на производительность выполняемых приложений Linux.

Установка этого чуда — не самая тривиальная задача. Для начала нужно установить сборку Windows 10 14316 — экспериментальную версию Windows 10 для разработчиков и участников программы Windows Insider. Установить сборку можно, обновившись до нее из самой Windows. При этом нужно быть участником программы Windows Insider и не забыть включить в настройках «десятки» получение экспериментальных сборок. Также есть вариант скачать готовый ISO-образ c торрентов. Этот вариант на первый взгляд выглядит незаконным, однако это не так. Экспериментальные сборки Windows 10 распространяются бесплатно для всех (прямо как Linux!).

Летом Microsoft обещает выпустить большое обновление для Windows 10 всех версий, которое по умолчанию будет включать WSL. После установки Windows 10 Build 14316 необходимо установить специальный образ Ubuntu, доступный из Microsoft Store. Установив данный пакет, пользователь Windows 10 сможет через меню «Пуск» вызвать командную оболочку cmd.exe, запустить в ней bash и получить штатный интерфейс командной строки Ubuntu. Пользователю доступны apt, ssh, rsync, find, grep, awk, sed, sort, xargs, md5sum, gpg, curl, wget, apache, mysql, redis, python, perl, ruby, php, gcc, tar, vim, emacs, diff, patch и большинство бинарных пакетов из архива Ubuntu, содержащих консольные и серверные приложения. При этом некоторые приложения пока остаются неработоспособными, например из-за неполной эмуляции терминала VT100 невозможно использовать byobu , screen и tmux.

Приложения Ubuntu выполняются в отдельном представлении файловой системы, повторяющей организацию файловой иерархии в Linux. Файловые системы Windows доступны на запись в форме разделов, примонтированных в папке /mnt. Например, папка C:UsersKirklandDownloads доступна как /mnt/c/Users/Kirkland/Downloads .

Для Windows-приложений корневая файловая система Ubuntu видна как C:UsersKirklandAppDataLocalLxssrootfs . Для установки дополнительных пакетов и обновления системы применяется инструментарий apt с загрузкой штатных пакетов и обновлений из репозиториев Ubuntu. Код прослойки пока остается закрытым (имеется в виду именно код прослойки, а не код Ubuntu, конечно).

WSL создавалась как проект, независимый от конкретных дистрибутивов Linux. Ubuntu выбран для поставки в первой версии как наиболее популярный дистрибутив в среде разработчиков, и нет существенных технических причин (кроме полной и точной реализации системных вызовов), которые помешали бы поддержке пользовательских окружений других дистрибутивов в будущем, утверждают в Microsoft. Для WSL в ядре Windows была специально реализована поддержка fork() и некоторых других специфичных системных вызовов POSIX и Linux, что позволило добиться реализации более эффективной, чем при использовании эмуляции. Также в WSL удалось полностью избавиться от использования ядра Linux: по сути, пользовательское окружение Ubuntu работает поверх ядра Windows, так же как в Nexenta OS пользовательское окружение Ubuntu работает поверх ядра OpenSolaris.

WSL не базируются на ранее доступной подсистеме POSIX (SUA), которая в NT 3.5.1 содержала лишь минимальный набор системных вызовов и позднее была заменена на систему Services for UNIX (SFU), основанную на наработках Interix. WSL является полностью новой реализацией, не требующей перекомпиляции программ или сборки специальных дистрибутивов. В WSL подготовлена новая инфраструктура ядра Windows, которая предоставляет слой совместимости с Linux syscall API и специальный загрузчик, что позволяет напрямую запускать уже поставляемые в Ubuntu немодифицированные исполняемые файлы, так же как запускаются обычные программы для Windows. По сути, речь идет о новом поколении интеграции различных ОС друг с другом.

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

Ubuntu Bash в Windows 10 во всей красе

Немного об установке

Автор статьи устанавливал WSL в несколько этапов: вначале установленная на его ноутбуке Dell Inspiron «семерка» была обновлена до Windows 10. Это заняло около семи часов (не считая времени на загрузку образа с сервера Microsoft). После чего начался увлекательный процесс установки последней тестовой сборки Windows 10 Build 14316.

Читать еще:  Write linux c

Дело в том, что автор никогда не был бета-тестером Windows 10 и из-за этого не мог участвовать в программе Windows Insider. Недолго думая, зарегистрировавшись на сайте для бета-тестеров, он попробовал обновиться. Не тут-то было! Система просто не видела того, что он участвует в тестировании. К тому же ни одно обновление Windows 10 не устанавливалось. После целого дня мучений было принято решение скачать и установить образ тестовой версии «десятки» с нуля. Но и тут ждал неприятный сюрприз: корпорация Microsoft распространяет образы своих экспериментальных сборок в виде не обычных ISO-файлов, а файлов нового формата, созданного самой же Microsoft, — ESD (Electronic Software Distribution). Название говорит само за себя. После скачивания файлов данного типа их необходимо конвертировать в более привычный формат ISO. Для этого Microsoft выпустила специальную утилиту, которая называется ESD Decrypter. Подробнее об этом интересном процессе можешь почитать тут.

Спустя два часа после начала конвертирования ESD-файла ISO-образ был успешно создан и записан с помощью утилиты WinSetupFromUSB на флешку. Установка прошла без проблем, и наконец у автора была Windows 10 Build 14316.

Далее активируешь доступную для участников Windows Insider функцию установки расширенных обновлений System Settings → Advanced Windows Update .

Включение Windows Insider

Переводишь систему на максимальный уровень оперативности доставки новых обновлений (the fast ring), переместив ползунок в крайне правое положение.

Нам нужна только свежатинка!

Включаешь режим разработчика (developer mode).

Теперь мы разработчики

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

Установка обновлений займет много времени

Продолжение доступно только участникам

Вариант 1. Присоединись к сообществу «Xakep.ru», чтобы читать все материалы на сайте

Членство в сообществе в течение указанного срока откроет тебе доступ ко ВСЕМ материалам «Хакера», увеличит личную накопительную скидку и позволит накапливать профессиональный рейтинг Xakep Score! Подробнее

How to run graphical Linux applications on Windows 10 using the Windows Subsystem for Linux (WSL)

The Windows Subsystem for Linux (WSL) was introduced by Microsoft in the Windows 10 Anniversary Update. It allows users to run a full Linux user space in Windows. It is a much nicer approach for most applications than Cygwin, or using a Linux VM. It is not an emulator either. Think of it as GNU/Linux/Windows (apologies to Richard Stallman). This guide starts off with Microsoft’s instructions for installing the WSL, and then goes a few steps further by describing how to run graphical Linux applications.

Prerequisites

Your PC must be running (at a minimum) a 64-bit version of Windows 10 with the Anniversary Update. The Creator’s Update is recommended.

To find your PC’s CPU architecture and Windows version/build number, open Settings>System>About. Look for the System Type and Version fields respectively, as shown in the screenshot below.

If your build is below 14393, try checking for updates.

Enable the Windows Subsystem for Linux feature

You can enable the feature using a GUI or command-line interface.

GUI Method

  1. From the Start Menu, search for “Turn Windows features on or off” (type ‘turn’)
  2. Select Windows Subsystem for Linux
  3. Click OK

Command-line Method

Open a PowerShell prompt as administrator and run:

After enabling Windows Subsystem for Linux

Restart your computer when prompted.

It is important that you DO restart when prompted as some of the infrastructure which the Windows Subsystem for Linux requires can only be loaded during Windows’ boot-up sequence.

Install your Linux distribution of choice

Linux distributions can be installed using a script, or by using the Microsoft Store links below:

After installation your Linux distribution will be located at: %localappdata%lxss This directory is marked as a hidden system folder for a very good reason:

Avoid creating and/or modifying files in this location using Windows tools and apps! If you do, it is likely that your Linux files will be corrupted and data loss may occur. Please read this blog post for more information.

Create a UNIX user

The first time you launch a Linux distribution in Windows, you will be prompted to create a UNIX username and password.

This UNIX username and password has no relationship to your Windows username and password, and it can be different.

Use the same username that you use on remote Linux/UNIX systems, so you won’t need to specify it in individual configuration files, or every time you run commands like ssh . Read more.

Update the Linux distribution

After you have set up your user, update the OS.

To do this on Debian/Ubuntu based distributions, run:

Install common tools

The Debian distribution for WSL is minimal, so many packages that you might expect to be installed, such as ca-certificates, are not installed. To fix this, run:

sudo apt install -y ca-certificates findutils command-not-found vim nano curl openssh-client less screen apt-utils top htop whois git python3-pip

Accessing the Windows filesystem from WSL

Windows drives are mounted by their drive letters under /mnt . For example, your Windows C: drive is accessible via /mnt/c.

To make it easier to access your Windows user directory, consider adding a symbolic link, such as:

On Amazon WorkSpaces, this your Windows user directory is located in /mnt/d/Users .

That way, your Windows user directory is accessible from

Graphical Applications

In order to run Linux GUI applications using WSL, you must:

  1. Install a X server for Windows
  2. Configure bash to tell GUIs to use the local X server

Install VcXsrv

In order to run graphical Linux applications, you’ll need an X server.

VcXsrv is the only fully open source and up-do-date native X server for Windows. Download and run the latest installer, then locate the XLaunch shortcut in the Start Menu, and click it.

You will be greeted with a setup wizard. Accept the default options. On the last page of the wizard, click on the Save configuration button, and save the configuration file in %appdata%MicrosoftWindowsStart MenuProgramsStartup , so vcXsrv will launch at startup without asking about these options, then click on the Finish button.

You may receive a prompt to allow it through your firewall. Cancel/deny this request! Otherwise, other computers on your network could access the server.

A X icon will appear in your system tray.

Configure bash to use the local X server

  1. In bash run:
    echo «export DISPLAY=localhost:0.0» >>

/.bashrc
To have the configuration changes take effect, restart bash, or run:
.

Instructions for fish shell users

If you use fish instead of bash:

    echo «set -x DISPLAY localhost:0.0» >>

/.config/fish/config.fish
To have the configuration changes take effect, restart fish, or run:
.

Test a graphical application

  1. Install x11-apps
    sudo apt-get install x11-apps
  2. Run xeyes

A new window will open, containing a pair of eyes that will follow your mouse movements.

Running remote GUI applications over SSH

To use a GUI application from a server, simply use the -X switch with the ssh command, for example:

And run the GUI application from the shell prompt.

Using Visual Studio Code

Instead on installing the Linux version on Visual Studio Code on your WSL Linux distribution, install Visual Studio Code in Windows, and add the Remote Development extension pack.

After reloading Visual Studio Code, click on the green arrows at the bottom right corner of the window, and select Remote-WSL: New window action.

A new window will open with a Linux shell and editor. You will be able to edit files on the Linux file system.

Any Visual Studio Code extensions need to be installed in your Windows instance of Visual Studio Code first, and then on the WSL instance.

Recommended extensions for information security professionals include:

Читать еще:  Hyper v linux

References

49 thoughts on “How to run graphical Linux applications on Windows 10 using the Windows Subsystem for Linux (WSL)”

I followed all the steps, but when I start VcXsrv, it finish suddenly
A fatal error has occurred and VcXsrv will now exit

Cannot move old log file…

Please open xxxxxVCXsrv.0.log for more information

This is the content of that log

Welcome to the VcXsrv X Server
Vendor: The VcXsrv Project
Release: 1.19.2.0

OS: Windows NT 6.2 build 9200 (64-bit)
Contact: [email protected]

LoadPreferences: C:UsersSergioAppDataRoaming.XWinrc not found
LoadPreferences: Loading C:Program FilesVcXsrvsystem.XWinrc
Warning: Locale not supported by X, falling back to ‘C’ locale.
(II) AIGLX: enabled GLX_MESA_copy_sub_buffer
(II) AIGLX: enabled GLX_SGI_swap_control
(II) 103 pixel formats reported by wglGetPixelFormatAttribivARB
(II) GLX: Initialized Win32 native WGL GL provider for screen 0
winClipboardThreadProc – DISPLAY=127.0.0.1:0.0
OS maintains clipboard viewer chain: yes

Great article. I was actually looking for way to plot octave graphs in nice separate windows instead of the terminal. This solution is much more general that what I was searching for.

This worked like a charm for tkinter, thanks!

Worked great for X forwarding from a Linux machine to Windows over SSH. Thank you very much.

Worked here in surface pro 3. Thankss

i forget password, how to change?

See this post for details on how to reset the password https://askubuntu.com/a/808425

Worked here, thank you!

when I entered gedit command it’s shoes this please help to find the solution

Failed to connect to Mir: Failed to connect to server socket: No such file or directory
Unable to init server: Could not connect: Connection refused

seems to work perfectly for me

Worked like a champ!

thanks it wordked

Worked perfectly — thanks so much!

Hi I am trying to open graphical softwares over SSH. It works locally however when I try to connect to another server I get “Error: can’t open display: localhost:0.0”. Is there ant way to solve that?

When connecting to the remote server, be sure to add the -X switch to the ssh command.

What a great article.
Thanks.

Worked like a charm on my Windows 10.

Boom! It works! Windows 10 April 2018 Update!
Thanks!

Thanx. All works

Worked nicely. Thank you!

Works well ! Thank you!

Worked like a charm. Thank you!

Great post, very helpful

Hi when I am trying to open gedit it is showing Unable to init server: could not connect: Connection refused.
Gtk- Warning: can’t open display
Please give me solution for this.

This works well up to displaying X based Apps under Windows 10 Ubuntu.

But I cannot see my mouse pointer within the X Windows graphics. How do I make my Mouse visible ?

New to Windows 10 Pro and Ubuntu 18.04 LTS (but not to *nix, via MacOSX). Reinstalled Win10 and Ubuntu a couple of times trying to get a GUI working in WSL. Turns out, what one needs is this list of steps. Had Ubuntu installed, WSL set, VcXsrv installed, even the DISPLAY command added, but still no GUI. It really helps to set Developer mode. Also, the strings added by some other “how to” step-by-each guides aren’t necessary (yet). Appreciated greatly.

All went fine…now to see what we can do!

I can open and mostly use the XFCE4 desktop usin XLAUNCH.

This works great, thank you. On the newer Win 10 versions (as of Feb 2019) you download Ubantu from the Store rather than typing “bash” in at the command line. Otherwise everything else works.

Works like a charm. Thanks!

Error: Can’t open display:

i followed all the steps then i got this when i run xeyes

I followed all the steps but for installing bash it prompted the message that to visit Microsoft store that install it from there.

estoy usando VcXsrv sin problemas
https://sourceforge.net/projects/vcxsrv/
export DISPLAY=:0
echo “export DISPLAY=localhost:0.0” >> bashrc
./bashrc
apt-get install xfce4
xlaunch
carpeta linux
“C:Userstu-userAppDataLocallxss”

apt-get install x11-apps
xbiff, xcalc, xconsole, xedit y xman

when i use gedit it generate lots of error but it runs completely fine?
this are the errors.

(gedit:24): GLib-GIO-CRITICAL **: 09:32:35.375: g_dbus_proxy_new_sync: assertion ‘G_IS_DBUS_CONNECTION (connection)’ failed

(gedit:24): dconf-WARNING **: 09:32:35.448: failed to commit changes to dconf: Failed to execute child process “dbus-launch” (No such file or directory)

(gedit:24): dconf-WARNING **: 09:32:35.460: failed to commit changes to dconf: Failed to execute child process “dbus-launch” (No such file or directory)

(gedit:24): dconf-WARNING **: 09:32:35.992: failed to commit changes to dconf: Failed to execute child process “dbus-launch” (No such file or directory)

(gedit:24): dconf-WARNING **: 09:32:35.993: failed to commit changes to dconf: Failed to execute child process “dbus-launch” (No such file or directory)

(gedit:24): dconf-WARNING **: 09:32:35.994: failed to commit changes to dconf: Failed to execute child process “dbus-launch” (No such file or directory)

** (gedit:24): WARNING **: 09:32:38.623: Set document metadata failed: Setting attribute metadata::gedit-position not supported

(gedit:24): dconf-WARNING **: 09:32:38.656: failed to commit changes to dconf: Failed to execute child process “dbus-launch” (No such file or directory)

Thanks for this write-up. I was wondering if there is a way to launch Windows 10 applications from the Ubuntu bash terminal window, like starting the default Windows 10 browser. I understand it would involve some kind of bridge to launch the *.exe files from within the Linux environment. Perhaps the Windows 10 developers have integrated this “bridge”, but I haven’t been able to find any documentation for it.

Paste where? I’ve got little experience with Windows10 so I don’t understand what this is about.

Paste the shortcut in %appdata%MicrosoftWindowsStart MenuProgramsStartup

$ echo “export DISPLAY=localhost:0.0” >>

$ xterm
xterm: Xt error: Can’t open display:
xterm: DISPLAY is not set

echo “export DISPLAY=localhost:0.0” >>

Just creates the configuration file. You need to close bash and reopen it for the bashrc file to apply.

The ‘xterm’ command does not work unless it is preceded by the first line of code below:

export DISPLAY=localhost:0.0
xterm

The fancy line that begins with ‘echo’ is a convenient way to add the ‘export’ command to the configuration file named ‘bashrc’ in the user home directory. The “.” before the file name is only needed if this file is hidden.

Windows, Subsystem для Linux — Windows Subsystem for Linux

Windows , Subsystem для Linux ( WSL ) представляет собой слой совместимости для запуска Linux бинарных исполняемых файлов (в ELF формате) изначально на Windows 10 и Windows Server 2019 .

содержание

обзор

WSL предоставляет Linux -совместимого интерфейс ядра , разработанный Microsoft (не содержащего ядро Linux кода), который может затем запустить GNU пространство пользователя на нем, например , как у Ubuntu , OpenSUSE , SUSE Linux Enterprise Server , Debian и Kali Linux . Такое пространство пользователя может содержать Bash оболочку и командный язык, с носителями инструментов GNU / Linux из командной строки ( SED , AWK и т.д.), язык программирования переводчиков (Ruby, Python и т.д.) и даже графических приложений ( с помощью сервер X11 , на стороне хоста).

Введение и доступность

При введении с Update Anniversary , только Ubuntu образ был доступен. Падение Творцы Update переместил процесс установки дистрибутивов в Windows Store , и ввел Fedora и SUSE изображения.

WSL доступна только в 64-разрядных версиях Windows 10, начиная с версии 1607. Она также доступна в Windows Server 2019.

развитие

Первый набег Microsoft, в достижении Unix-подобной совместимости в Windows , началась с Microsoft POSIX Subsystem , вытесненной Windows Services для UNIX с помощью MKS / Interix , который был в конечном счете устаревшей с выпуском ОС Windows 8.1 . Технология , лежащая в ОС Windows Подсистемы для Linux возникла в неизданных проекта Astoria , что позволило несколько Android приложений для запуска на Windows 10 Mobile . Это был первый доступен в Windows 10 Insider Preview построить 14316.

Читать еще:  Аналог visual studio для linux

В то время как предыдущие проекты компании Microsoft и третьи стороны Cygwin были сосредоточены на создание своих собственные уникальные Unix-подобные сред на основе стандарта POSIX , WSL стремится к родной совместимости Linux. Вместо оберточной неродную функциональность в Win32 системных вызовы , WSL использует ядро исполнительной NT служить программы Linux в качестве специальных, изолированных минимальных процессов (известная как «пико-процессы») , присоединенных к ядру-режиму «пико-провайдерам» , как специальная система вызов и исключение обработчиков отличается от процесса ваниль NT.

Microsoft предусматривает WsL как «в первую очередь инструмент для разработчиков — особенно веб-разработчиков и тех, кто работает или с проектами с открытым исходным кодом». WSL использует меньше ресурсов, чем в полностью виртуализированной машине, самым непосредственным образом запускать программное обеспечение Linux в среде Windows, в то же время позволяя пользователям использовать приложения для Windows и инструменты Linux на том же наборе файлов.

Архитектура

LXSS менеджер Service является службой, уполномоченной взаимодействия с подсистемой (через водитель lxss.sys и lxcore.sys ), и так как Bash.exe (не следует путать с оболочками , предоставляемых дистрибутивами) запускает процессы Linux, а также обращение в Linux системных вызовов и бинарные замки во время их выполнения.

Все процессы Linux , вызываемые конкретным пользователем перейти в «Linux Instance» ( как правило, первый прибег процесс является инициализации ). После того, как все приложения закрыты, экземпляр закрыт.

Аппаратные средства и файловая система доступа

Поскольку нет аппаратной эмуляции / виртуализаций ( в отличие от других проектов , таких как CoLinux), WSL делает прямое использование файловой системы хоста (через VolFS и DrvFS ) и некоторые части аппаратных средств, такие , как сети (веб — сервера, например, может быть доступна через те же интерфейсы и IP — адресов , настроенных на хосте, и разделяет те же ограничения на использование портов , которые требуют разрешения администратора, или порты , уже занятые другими приложениями), что гарантирует совместимость.

Есть определенные места (такие как системные папки) и конфигурация , чьи доступ / модификация ограничиваются, даже под управлением Sudo из оболочки. Экземпляр с повышенными привилегиями должен быть запущен для того , чтобы получить «реальный Sudo» и разрешить такой доступ.

Ограничения

Эта подсистема не может работать все программное обеспечение Linux, такие как 32-разрядные двоичные коды, или те, которые требуют специальных служб ядра Linux не реализован в WSL. Так как нет «реального» Linux ядра в WSL, модули ядра, такие как драйверы устройств, не могут быть запущены.

Можно запустить несколько графических (GUI) приложений (таких как Mozilla Firefox ), установив сервер X11 в (хоста) среде Windows (таких как VcXsrv или Xming ), хотя и не без оговорок, таких , как отсутствие поддержки аудио или аппаратное ускорение ( что приводит к снижению производительности графики). Поддержка OpenCL и CUDA также не реализуется в настоящее время, хотя планируется в будущих выпусках.

Тем не менее, Microsoft явно указано , что WSL ориентирована на разработку приложений, а не для настольной среды или производственных серверов, рекомендуя использование виртуальных машин ( Hyper-V или Kubernetes ) и лазури для этих целей.

Ориентиры

В тестах для Windows Subsystem для Linux часто рядом с родным Linux Ubuntu, Debian, Intel Clear Linux или другими дистрибутивами Linux. I / O в некоторых тестах узкое место для WSL.

Windows, Subsystem для Linux — Windows Subsystem for Linux

Windows , Subsystem для Linux ( WSL ) представляет собой слой совместимости для запуска Linux бинарных исполняемых файлов (в ELF формате) изначально на Windows 10 и Windows Server 2019 .

содержание

обзор

WSL предоставляет Linux -совместимого интерфейс ядра , разработанный Microsoft (не содержащего ядро Linux кода), который может затем запустить GNU пространство пользователя на нем, например , как у Ubuntu , OpenSUSE , SUSE Linux Enterprise Server , Debian и Kali Linux . Такое пространство пользователя может содержать Bash оболочку и командный язык, с носителями инструментов GNU / Linux из командной строки ( SED , AWK и т.д.), язык программирования переводчиков (Ruby, Python и т.д.) и даже графических приложений ( с помощью сервер X11 , на стороне хоста).

Введение и доступность

При введении с Update Anniversary , только Ubuntu образ был доступен. Падение Творцы Update переместил процесс установки дистрибутивов в Windows Store , и ввел Fedora и SUSE изображения.

WSL доступна только в 64-разрядных версиях Windows 10, начиная с версии 1607. Она также доступна в Windows Server 2019.

развитие

Первый набег Microsoft, в достижении Unix-подобной совместимости в Windows , началась с Microsoft POSIX Subsystem , вытесненной Windows Services для UNIX с помощью MKS / Interix , который был в конечном счете устаревшей с выпуском ОС Windows 8.1 . Технология , лежащая в ОС Windows Подсистемы для Linux возникла в неизданных проекта Astoria , что позволило несколько Android приложений для запуска на Windows 10 Mobile . Это был первый доступен в Windows 10 Insider Preview построить 14316.

В то время как предыдущие проекты компании Microsoft и третьи стороны Cygwin были сосредоточены на создание своих собственные уникальные Unix-подобные сред на основе стандарта POSIX , WSL стремится к родной совместимости Linux. Вместо оберточной неродную функциональность в Win32 системных вызовы , WSL использует ядро исполнительной NT служить программы Linux в качестве специальных, изолированных минимальных процессов (известная как «пико-процессы») , присоединенных к ядру-режиму «пико-провайдерам» , как специальная система вызов и исключение обработчиков отличается от процесса ваниль NT.

Microsoft предусматривает WsL как «в первую очередь инструмент для разработчиков — особенно веб-разработчиков и тех, кто работает или с проектами с открытым исходным кодом». WSL использует меньше ресурсов, чем в полностью виртуализированной машине, самым непосредственным образом запускать программное обеспечение Linux в среде Windows, в то же время позволяя пользователям использовать приложения для Windows и инструменты Linux на том же наборе файлов.

Архитектура

LXSS менеджер Service является службой, уполномоченной взаимодействия с подсистемой (через водитель lxss.sys и lxcore.sys ), и так как Bash.exe (не следует путать с оболочками , предоставляемых дистрибутивами) запускает процессы Linux, а также обращение в Linux системных вызовов и бинарные замки во время их выполнения.

Все процессы Linux , вызываемые конкретным пользователем перейти в «Linux Instance» ( как правило, первый прибег процесс является инициализации ). После того, как все приложения закрыты, экземпляр закрыт.

Аппаратные средства и файловая система доступа

Поскольку нет аппаратной эмуляции / виртуализаций ( в отличие от других проектов , таких как CoLinux), WSL делает прямое использование файловой системы хоста (через VolFS и DrvFS ) и некоторые части аппаратных средств, такие , как сети (веб — сервера, например, может быть доступна через те же интерфейсы и IP — адресов , настроенных на хосте, и разделяет те же ограничения на использование портов , которые требуют разрешения администратора, или порты , уже занятые другими приложениями), что гарантирует совместимость.

Есть определенные места (такие как системные папки) и конфигурация , чьи доступ / модификация ограничиваются, даже под управлением Sudo из оболочки. Экземпляр с повышенными привилегиями должен быть запущен для того , чтобы получить «реальный Sudo» и разрешить такой доступ.

Ограничения

Эта подсистема не может работать все программное обеспечение Linux, такие как 32-разрядные двоичные коды, или те, которые требуют специальных служб ядра Linux не реализован в WSL. Так как нет «реального» Linux ядра в WSL, модули ядра, такие как драйверы устройств, не могут быть запущены.

Можно запустить несколько графических (GUI) приложений (таких как Mozilla Firefox ), установив сервер X11 в (хоста) среде Windows (таких как VcXsrv или Xming ), хотя и не без оговорок, таких , как отсутствие поддержки аудио или аппаратное ускорение ( что приводит к снижению производительности графики). Поддержка OpenCL и CUDA также не реализуется в настоящее время, хотя планируется в будущих выпусках.

Тем не менее, Microsoft явно указано , что WSL ориентирована на разработку приложений, а не для настольной среды или производственных серверов, рекомендуя использование виртуальных машин ( Hyper-V или Kubernetes ) и лазури для этих целей.

Ориентиры

В тестах для Windows Subsystem для Linux часто рядом с родным Linux Ubuntu, Debian, Intel Clear Linux или другими дистрибутивами Linux. I / O в некоторых тестах узкое место для WSL.

Ссылка на основную публикацию
Adblock
detector