Windows 10 c ядром Linux (WSL2) "научилась" запускать графические GUI приложения Linux–демо, как WSLg запускает WSL Linux приложения типа Quake, Chrome, WPS, Steam, Kodi в Windows 10 без проблем



Я обещал больше технических видео про новинки софта на своем канале по возвращению – я делаю 😉 И отдельное спасибо Microsoft за новые оригинальные “фичи”, которые появляются в Windows 10, и, в частности, в WSL (Windows Subsystem for Linux). Про сам WSL 2 и его возможности по “родному” запуску приложений Linux прямо из Windows 10 я уже рассказывал здесь – https://youtu.be/cUM4UVum_Ck – и здесь – https://youtu.be/P88GPegg7x0 – но предыдущие сборки Windows Subsystem for Linux v2 работали по умолчанию только с консольными версиями Linux приложений и чтобы запустить графические GUI приложения от Linux – требовалось существенно пошаманить, иногда – без гарантии ожидаемого результата работы графики. Для шаманства, чтобы заставить работать WSL2 с графикой, использовались различные X-серверы для Windows типа Xming, но заботало оно кривовато.



И вот – в новой сборке Windows 10 Insider Preview 21364 появилась новая версия ядра WSL, которое теперь работает с графическими приложениями из коробки и не требует специальных плясок с бубнами – WSLg. Т.е. теперь практически любое GUI приложение Linux будет работать “в графике” в WSL2 сразу из коробки и рядом с “окошками Windows 10” c их традиционным оформлением вы будете видеть и окна в стиле X запущенных линуксовских приложение. Кстати, работает это все очень просто в ядре системы – специальный драйвер в WSLg выдает RDP Windows за X-сервер для запускаемых графических Linux приложений. Т.е. фактически – каждое окно Linux-приложения – это всего лишь сессия RDP к ядру самого хоста, в которую отправляет картинку WSLg. Решение простое и эффективное для базовых GUI приложений, Microsoft эффективно использует его уже много лет для публикации не всего рабочего стола, а отдельных приложений на RDS серверах и теперь еще и на Azure WVD, но есть одно НО… И это НО – производительность работы RDP сессии при активно меняющейся картинке, например, видео или игр. В принципе – оно тепримо, но особо видео не посмотришь и в игры с высокими FPS на таком Linux не поиграешь. Хотя Quake я таки запустил для демонстрации.



Windows 10 c ядром Linux (WSL2) “научилась” запускать графические GUI приложения Linux – демо WSLg




И о демонстрации в данном видео и “на попробовать самому” – как я уже говорил, особых действий после установки новой сборки Windows 10 Insider Preview 21364 (или новее) не требуется. Если WSL2 уже установлен – требуется обновить его ядро, если WSL2 еще не установлен – установить само ядро Linux WSL2 в Windows 10 и установить какую-то из сборок Linux с поддержкой WSL2. Как это делается – описано в документации –
https://github.com/microsoft/wslg#welcome-to-wslg – буквально одна команда – или wsl –update , или wsl –install -d Ubintu (или другой дистрибутив из списка на выбор wls –list –online). Кстати, где-то в траблешутинге встречал упоминания о том, что пока нормально работают с графикой сборки только Ubuntu 18/20 (и просто Ubuntu – это ссылка на последнюю стабильную версию) – так что установить Ubuntu для теста WSLg рекомендуется. А дальше – следуем рекомендациям в той же доке https://github.com/microsoft/wslg#install-and-run-gui-apps – и устанавливаем различные тестовые GUI приложения Linux, типа gedit, chrome, edge и прочих. Кстати, я поступил по другому – я просто из примера сделал шеловский скриптик и запустил его. Кроме того, чтобы было более интересно – я также установил Quake (.pak файлы взял скопировал в WSL через nautilus из оригинального Quake, который есть у меня в Steam), различные офисные пакеты типа WPS и LibreOffice, Kodi для Linux и, конечно же, сам агент Steam.



Результаты тестов вы можете видеть в самом видео – все работает без каких-либо проблем, достаточно шустро, особенно, если учитывать, что для записи я подключался к ноуту, на котором у меня стоит Windows 10 Insider Preview, через RDP, а, как я уже говорил выше, WSLg само по себе тоже RDP сессия – так что о том, что бывает с графикой, когда запускаешь видео в RDP, которое уже в RDP – думаю, вы знаете не по наслышке. НО, не смотря на то, что в Steam у меня нет приложений для Linux – очень порадовал режим стриминга игр на Linux агента Steam в WSLg (причем, с того же компа, на котором я вел запись) – удивительно хорошо шла картинка и никаких неудобств в игре я не чувствовал. Конечно, практического применения такая работа Steam не имеет, но как демонстрация возможностей WSLg – очень даже.


Хочу также обратить внимание, что все запущенные Linux GUI-приложения отображаются не только как сессии RDP, но и появляются в виде значков в строке задач Windows 10:

image

Кроме того, все установленные в WPS сборки Linux приложения автоматически добавляются в виде иконок/ссылок в меню Старт Windows 10 – так что в реальности – не обязательно даже будет заглядывать в консоль WPS и запускать приложения оттуда – Windows 10 по клику на иконку сама запустит нужную сборку и сессию для приложения в ней. А в меню Старт установленные Linux-приложения выглядят примерно так:

imageimage

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

image

А каковы перспективы практического применения WSLg – смотрите в видео, думаю, с таким подходом скоро и Android Apps “поедут” на Windows 10. Но, если серьезно, особых перспектив массового использования WSLg и графических приложений Linux в Windows 10 конечными пользователями не ожидается. Это, скорее, удобный инструмент для разработчиков и ИТ-специалистов, который теперь позволяет иметь на рабочем столе Windows 10 инструменты с любой платформы без всяких там виртуальных машин и делает Windows 10 вполне такой действительно универсальной платформой.

Предыдущие видео про Windows Subsystem for Linux:

  • “Microsoft выпустил Windows 10 с ядром Linux” или как работает WSL2 в новой Insider сборке – https://youtu.be/cUM4UVum_Ck
  • СофТы: тестирование производительности Linux в Windows Subsystem for Linux vs Hyper-V – https://youtu.be/P88GPegg7x0
  • Windows 10: установка и настройка хакерского Kali Linux в Windows 10, как приложения WSL – https://youtu.be/RKFSJRSnLBw

"Microsoft выпустил Windows 10 с ядром Linux"–что это такое, будет ли Windows 10 бесплатным, как установить ядро Linux в Windows и как работают приложения Linux на Windows


Сегодня я пришел к вам с благой вестью! Нет, доллар не будет по 5-8-10, коммуналка не подешевеет… Просто я получил за вчера и уже сегодня несколько сообщений, у которых общий смысл и вопрос – «Игорь, а правда, что Microsoft запустил Windows 10 на Linux и теперь Windows – это клон Lunix?». И да – это правда!

Особенно для тех, кто не в курсе технических тонкостей – в новой Windows 10 (которая сборка 18917 и доступна по Windows Insider Preview) есть свое ядро Linux (изначально написанное Microsoft для различных своих целей). Но в реальности все как раз наоборот – теперь приложения Linux (ELF64) могут без проблем запускаться из-под Window 10, т.е. это Linux работает на Windows 10. Ядро Linux, анонсированное в Windows 10 – это новая версия – вторая – службы Windows Subsystem for Linux 2 (WSL2), первая версия которой присутствует в Windows 10 уже 2 года и о работе с которой я рассказывал в недавнем видео на канале – Windows 10: установка и настройка хакерского Kali Linux в Windows 10, как приложения WSL –   рекомендую посмотреть для ознакомления с самой идеей работы Linux на Windows 10.


“Microsoft выпустил Windows 10 с ядром Linux” или как работает WSL2 в новой Insider сборке

Так а что же тогда запустил Microsoft и почему все говорят о «ядре Linux в Windows 10?». Microsoft просто продолжил развитие идеи WSL и во второй версии вместо сервиса трансляции системных запросов Linux-приложений в запросы Windows (как это делает первая версия WSL) «подсунул» таким приложениям свое собственное полноценное ядро Linux, которое работает в режиме «тонкой виртуализации» – т.е. это не виртуальная машина в полном смысле этого слова – со своим объемом памяти, отдельными эмулируемыми устройствами и т.п., а всего лишь изоляция процесса – в данном случае ядра того самого Linux – от других процессов, чтобы не мешали и не ломали друг друга. Зачем и почему – для совместимости с системными вызовами Linux – обещают, что новое ядро Linux в Windows 10 будет полностью совместимо с основными дистрибутивами и приложениями Linux. А пользователи Windows получат возможность запускать нужные им приложения прямо из Windows одновременно с «родными» приложениями. Microsoft идет правильной дорогой, товарищи…


Эта дорога уже много раз проверена и использована Microsoft – на примере тех же Windows Services for Novell (кто сейчас еще помнит тот Novell, который Microsoft успешно выдавила из корпоративных сетей такой вот совместимостью) и через какое-то время уже будет звучать странно предложение «установить Linux», если все нужные Linux-приложения успешно работают и в Windows. А дальше там пойдет Modern OS – подчищенное и оптимизированное ядро Windows с такими вот подсистемами для запуска Linux, Android, MacOS, iOS приложений – или вы думаете, у Microsoft не хватит денег, сил и влияния заточить такие же микроядра для поддержки API, которые есть в разных платформах? Не зря же новую версию WSL2 в списке сервисов для установки назвали не ядром Linux или чем-то похожим, а очень скромно – Virtual Machine Platform, как бы намекая, что одним Linux дело точно не закончится. 😉


А что касается самой установки и настройки Windows Subsystem for Linux 2 – то про это все смотрите в видео, я постарался рассказать как можно более подробно весь процесс установки, конфигурации и самого сервиса WSL, и конфигурации под него дистрибутивов различных Linux. А с пользовательской точки – работы в дистрибутивах – в WSL2 ничего не поменялось – для вас WSL2 работает прозрачно. И даже лучше, чем в WSL1 – простой тест на работоспособность nmap (который в WSL1 не работал) показал куда лучшую совместимость WSL2 с дистрибутивами Linux. И да, пока (июнь 2019) работать с WSL2 можно только в тестовой сборке Windows 10 Insider Preview, начиная с 18912 – что не очень удобно для многих – мало кто согласен “портить” рабочую ОС ради удовольствия, устанавливая поверх нее тестовую Insider Preview (которая лично у меня – подвзглюкивает). Поэтому я записал еще одно видео –
Как установить Windows 10 Insider Preview “с ядром Linux” второй системой и ничего не сломать – которое поможет всем желающим легко и быстро установить Windows 10 Insider Preview второй системой на комп, “не ломая” и не меняя ни основную Windows, ни разделы диска. 

При работе непосредственно с движком WSL2 главное знать, что в WSL2 поменялись некоторые команды, которые позволяют теперь управлять, в каком окружении – WSL или WSL2 – будет работать тот или иной дистрибутив Linux. Теперь утилита командной строки wsl.exe (запускайте из CMD/PowerShell с правами админа) дает пользователю возможность управлять версионностью каждого из пакетов Linux на компьютере, переключая их между работой в WSL и WLS2:

  • wsl -l -v  –  отображает список дистрибутивов Linux с версиями WSL (1|2), под которыми эти дистрибутивы запускаются
  • wsl –set-version <имя_дистрибутива> 2  – переключает указанный дистрибутив на работу с WSL2. Выполнение команды может занять значительное время, поскольку производится конвертация (копирование) файлов дистрибутива из файловой системы Windows (где их хранит WSL) в виртуальный VHDX диск с ext4 (в котором хранит данные WSL2)
  • wsl –set-default-version 2  –  устанавливает для всех новых дистрибутивов используемую версию WSL2 по умолчанию.    

И, конечно же, чтобы понимать принципы работы Windows Subsystem for Linux – рекомендую посмотреть предыдущее видео про WSL – Windows 10: установка и настройка хакерского Kali Linux в Windows 10, как приложения WSL


А к теме безопасности вообще и настройке и использованию Kali Linux по назначению – я вернусь в следующих видео и, наверное, даже оформлю их, как прямые трансляции –
http://bit.ly/iLive2000 и подписывайтесь на канал – http://bit.ly/iwalker2000_subs . Там же будет и про ИТ-карьеру – что и как развивать, чтобы стать востребованным ИТ-специалистом – продолжение темы серии видео – http://bit.ly/ITcarriera_


И другие видео на моем
канале iWalker2000 по теме ИТ :