LINUX.ORG.RU

Microsoft включает поддержку GUI-приложений для подсистемы Linux

 , ,


2

0

Microsoft включает поддержку GUI-приложений для WSL (WSLG) в разрабатываемой Windows 10 Insider Preview версии ≥21362. GUI-приложения работали и раньше с помощью запуска стороннего X11-сервера, но без поддержки аппаратного ускорения и звука — сейчас же поддержка включена официально.

В основе реализации лежат:

  • реализация WDDM D3DKMT в ядре Linux в виде устройства /dev/dxg для прямого использования системного GPU;
  • эталонный Wayland-композитор Weston с поддержкой XWayland для запуска X11-программ и OpenGL-ускорения через Mesa-драйвер с реализацией D3D12;
  • PulseAudio для захвата и вывода звука;
  • FreeRDP для отображения приложения как обычного окна внутри Windows 10.

Установленные графические программы, имеющие стандартизированный XDG Desktop Entry, могут быть запущены прямо из меню «Пуск».

Для отображения, что запущенная графическая Linux-программа работает с помощью WSLG, на её иконке в панели задач есть маленький пингвин Tux.

Графические драйверы с поддержкой vGPU для WSLG уже подготовлены компаниями AMD, Intel и Nvidia (с поддержкой CUDA).

>>> Подробности

★★★★★

Проверено: Zhbert ()
Последнее исправление: commagray (всего исправлений: 12)

Ответ на: комментарий от anonymous

Спровоцировал фрагментацию платформы до абсурда… Если раньше были только Slkpkg, Deb и Tar.Gz, то теперь мы имеем RPM, который не имеет нормальной совместимости даже между Fedora и RHEL. Иными словами, бинарник созданный для Fedora, не факт что заведется под RHEL. Про всякие мандривы с альтами и зюзями и говорить нечего

В Suse спокойно использовал программы из Fedora. А уж пакеты сторонних разработчиков, собранные независимо от дистрибутива - тем более.

А в Убунту нельзя установить даже пакет от той же убунты полугодовой давности (про пакет от более нового релиза я вообще не говорю).

Пакеты Deb можно использовать только в производных Дебиана, то есть, только в одном дистре, фактически. Потому что зависимости не по либам, а по именам пакетов. Если бы несколько дистров попытались независимо использовать Deb, у них бы тут же всё поломалось.

Nxx ★★★★★
()
Ответ на: комментарий от anonymous

Чревато это тем, что сторонний разраб, у которого из бюджета разве что «сбережения от умершей тети» или «кредит из банка» пошлет пользователей Linux курить бамбук.

RPM пакет сделать легко и просто, за 5 минут можно, в отличие от DEB.

И будет прав, поскольку инвестиции в разработку нескольких RPM-пакетов никак экономически обосновать невозможно.

Не понял, зачем делать разные пакеты для разных дистров? Если что-то дистрозависимое, то можно в пакете прописать разные случаи.

Nxx ★★★★★
()
Ответ на: комментарий от CaveRat

Нет. Не путаю.

Просто потому не путаю, потому что в курсе что GNU Zebra была форкнута в quagga Kunihiro Ishiguro, далее на её базе всё тот же Kunihiro Ishiguro создал ZebOS ну и далее история известна. Выше писал.

Смысла поддерживать zebra/quagga на должном уровне в формате сообщества нет, т.к. человек (точнее, группа людей) вполне себе денег на IPinFusion зарабатывают. Остальные «производители» сетевых ОС, продолжают упырить всё ту же zebra/quagga и кричать что они успешно разработали такую супер-вундер-вафлю, что… Да, в принципе, все в курсе чё там они «разработали». Десяток дописок и коммутатор L3 готов, ураааа! Можно вносить в росреестр, ага. =))) Фкурсе происходящего, не новость. =)))

Со snort, как я тоже говорил, та же история. Cisco продаёт продукты на основе snort просто потому, что автор snort так же вовремя «провернулсся» и создал коммерческую контору в параллель с open source. Он получил продукт, а сообщество некий рулесет, который вроде как-то от чего-то защищает. Иногда. Но это не точно. =)))

Всё верно – задарма работать будут только светлые эльфы с ЛОРа (да и то языком).

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

Удачи. Я не вижу смысла тут что-либо продолжать обсуждать.

P.S. Чуть не забыл.

Я знаю, на основе чего делают свои ОСи, спасибо

Отлично. Ессичё, я иной раз их и делаю. Изредка. При попутном ветре. =))) Незачто.

Moisha_Liberman ★★
()
Последнее исправление: Moisha_Liberman (всего исправлений: 2)
Ответ на: комментарий от anonymous

На ЛОР о @metaprog заскучали

https://linux.org.ua/index.php?topic=11511.0 Metaprog: універсальне графічне середовище програмування

Вообщем гуглим metaprog

PS: Не думаю, что он закрыл разработку.
Парень молодой, …

Вся жизнь впереди ...

Владимир

anonymous
()

Очень интересно. Это винда станет линуксом, или линукс станет виндой? Вот в чем вопрос…

Odalist ★★★★★
()
Ответ на: комментарий от anonymous

Кстати для 90% случаев решение такого рода задачи - лаба для студентов. То бишь для Word не сложно разработать с использованием VBA алгоритм, который правильно будет конвертировать таблицу в plan text.

я эту задачу решил. Но не кажется ли, что странно сталкиваться с такой задачей в подобном продукте? То есть реально в ворде не то что по умолчанию, настройки такой нет, чтобы можно было копировать plain text, отличный от ASCII-набора символов

anonymous
()
Ответ на: комментарий от anonymous

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

Мне не известно почему так.
Частные случаи не очень сложно решить.
А для любого текста ИМХО задача не проста.
Поэтому то они стали этот вопрос решать.
Кстати некоторые разработчики пытались решить этот вопрос с использованием разметок.

Владимир

anonymous
()
Ответ на: комментарий от anonymous

Частные случаи не очень сложно решить. А для любого текста ИМХО задача не проста.

Вообщем то сталкивался с этой задачей.
Для своего reporting сделал анализ любого отчета с целью автоматического создания шаблона отчета /шапки, итоги, …/.
Но это частный случай.

Владимир

anonymous
()
Ответ на: комментарий от hummer

По поводу «возможно ли такое в OpenBSD», там такой эксперимент произошёл, когда это ещё не было мейнстримом. См.: https://en.wikipedia.org/wiki/OpenBSD#Alleged_backdoor

Ъ: Консультант ФБР приватно сообщил автору OpenBSD, что кому-то из core team заплатили, чтобы они добавили бэкдоры в криптографию. Автор OpenBSD после 3х-дневного изучения вопроса публично поделился этой информацией, сообщив, что скептически относится в существованию в коде бэкдора, но призвал сторонних разработчиков независимо провести аудит кода соответствующего компонента. В последующие недели были обнаружены и пофикшены баги, но бэкдоров не обнаружили. Автор заключил, что скорее коммиты с бэкдором не прошли ревью.

anonymous
()
Ответ на: Нет. Не путаю. от Moisha_Liberman

Просто потому не путаю, потому что в курсе что GNU Zebra была форкнута в quagga Kunihiro Ishiguro, далее на её базе всё тот же Kunihiro Ishiguro создал ZebOS ну и далее история известна. Выше писал.

Осталось только понять, какое отношение ZebOS, который пилит, ЕМНИП, IPFusion, имеет к IOS и NX-OS.

CaveRat ★★
()
Ответ на: комментарий от CaveRat

Вам бы осталось...

Научиться включать мозги, а не шкворец за дурь набивать.

Всё остальное выше написано.

while(!understood) {
    read_it_carefully();
}

Это у Вас получится. Я в Вас верю.

Moisha_Liberman ★★
()
Ответ на: Нет. Не путаю. от Moisha_Liberman

А как с этим соотносится frrouting? Его тоже используют в каких-нибудь железках? Или к нему фирмы не походят, так как зебра по каким-то показателям лучше?

anonymous
()
Ответ на: комментарий от anonymous

Рискую насмешить Вас до слёз.

А как с этим соотносится frrouting? Его тоже используют в каких-нибудь железках? Или к нему фирмы не походят, так как зебра по каким-то показателям лучше?

https://frrouting.org/ :

FRR has its roots in the Quagga project. In fact, it was started by many long-time Quagga developers who combined their efforts to improve on Quagga’s well-established foundation in order to create the best routing protocol stack available. We invite you to participate in the FRRouting community and help shape the future of networking.

В общем, в open source форк на форке и форком погоняет. Вопрос только в том, кто и насколько глубокую первичную ветку хочет взять.

P.S. Добавлю:

Since the FRR open source project was forked from Quagga, another routing protocol suite for Linux, FRR includes the fundamentals that made Quagga so popular as well as many enhancements that greatly improve on that foundation.

Говорю же – как какое open source решение для Linux-based networking OS ни возьмите, ноги проектов растут из задницы если не Zebra, так quagga.

Moisha_Liberman ★★
()
Последнее исправление: Moisha_Liberman (всего исправлений: 1)
Ответ на: комментарий от anonymous

Лучше бы реализовали

Помечтаем )

anonymous
()
Ответ на: комментарий от instant

Обещают завезти MAUI в .NET6, релиз в ноябре этого года, пока есть превью.

Xamarin? Опять вебня. Тяжёлая штука получится наверняка.

в новых дотнетах есть возможность слинковать всё приложение в один большой бинарник вместе со всеми зависимостями и с рантаймом.

Электрон уже есть.

Wizard_ ★★★★★
()
Ответ на: Рискую насмешить Вас до слёз. от Moisha_Liberman

Да я понимаю что форк на форке. Интересовался все ли компании обращаются к оригинальным авторам. Или кто-то и фррроутинг берет для допиливания. Может кто-то обмолвился где по этому поводу.

anonymous
()
Ответ на: комментарий от anonymous

Берут.

Только один момент – я не могу в данном случае называть какая именно контора. По крайней мере одну знаю точно. =)

А так-то «зависимость» довольно простая – чем больше у конторы апломба (типа «да мы, да мы чё хош, да мы ваааще круты и голым задом ёжиков трамбуем…»), тем более близкие к «первоисточникам» они продукты и берут за основу своих форков.

P.S. А так-то, если о России, то тут всё… «странно». Тут иной раз дефективные манагеры даже не вкуривают что L3-коммутатор и файерволл (а уж тем более IDS типа того же snort) сравнивать смысла нет по технологиям. Это технологически разные устройства, вдобавок ещё и на разных уровнях модели TCP/IP работающие.

Здесь можно говорить только о коммерческих составляющих и не более. Какая контора какой подход использовала.

Moisha_Liberman ★★
()
Последнее исправление: Moisha_Liberman (всего исправлений: 1)
Ответ на: комментарий от Wizard_

Опять вебня

Нет, нет, всё натуральное, без браузера, ноды и ГМО

instant
()
Ответ на: комментарий от EXL

GNU стагнирует и потихоньку подменяется более современными инструментами вроде ripgrep, clang/llvm, etc

uutils как более удобная замена башу и прочий полезный не гнутый софт. GNU выродилось в маргинальщину вроде SJW, BLM и иже с ними, а также турнуло почти всех отцов-основателей.

anonymous
()
Ответ на: Хммм... от Moisha_Liberman

У меня сейчас есть заказик. На, примерно, месяц full time. Я Вам накидаю задачек и Вы, как я понимаю, радостно напишете мне нужные модули UEFI?

Нет, денег я Вам платить не буду. Вы же не жлоб, ей Богу! Не будем о пошлом! О деньгах то есть… =)))

А накидайте. e-mail: freedev2021@yandex.ru

anonymous
()
Ответ на: комментарий от anonymous

uutils как более удобная замена башу и прочий полезный не гнутый софт.

GNU выродилось в маргинальщину вроде SJW, BLM и иже с ними

uutils is an attempt at writing universal (as in cross-platform) CLI utilities in Rust.

Разве Rust не оплот SJW?

X512 ★★★★★
()

А можно как-то узнать что прога(линуковая) запущена в этой фигне под виндой и завершить её?

anonymous
()
Ответ на: комментарий от X512

Это ДРУГОЕ. Адепты педеRustии будут всё отрицать.

anonymous
()
Ответ на: комментарий от anonymous

можно как-то узнать что прога(линуковая) запущена в этой фигне под виндой

uname -r
4.4.0-19041-Microsoft

или

5.4.72-microsoft-standard-WSL2
vM ★★
()
Последнее исправление: vM (всего исправлений: 1)
Ответ на: Сожалею. от Moisha_Liberman

WSL2 + Gentoo. How to.

Дано – тестовая система с 16Gb RAM, Понадобится примерно 25 Gb на винчестере. Процессор в системе Intel(R) Xeon(R) CPU E3-1230 V2 @ 3.30GHz. Для тестов вполне оно, т.к. средненькая машинка, которая позволяет в принципе работать.

Разблокируем подсистему WSL и переключаемся на вторую ветку:

Enable-WindowsOptionalFeature -Online -FeatureName Microsoft-Windows-Subsystem-Linux
Enable-WindowsOptionalFeature -Online -FeatureName VirtualMachinePlatform

Потребуется перезагрузка и отвалятся виртуалки типа VirtualBox. Если нужно, то отключение Hyper-V производится командой Disable-WindowsOptionalFeature -Online -FeatureName VirtualMachinePlatform

Теперь переключаемся на вторую ветку WSL – wsl --set-default-version 2

Скачиваем current-stage3-amd64-nomultilib, т.к. система под разработку, в сонсоли, systemd не нужен, hardened тоже не нужен, но если кому-то возжелается, то почему бы и нет?

После того, как скачали, распаковываем stage3-*.tar.xz в просто stage3-*.tar. Это можно сделать через 7-zip.

Далее «представляем» подсистеме WSL нашу генточку:

wsl.exe --import "Gentoo" "C:\gentoo" "C:\stage3-amd64-nomultilib-*.tar" --version 2

Указание --version 2 обязательно, т.к. если не указать, то просто произойдёт распаковка, да и всё. Если забыли, то указываем wsl --unregister и заново «представляем».

Теперь ставим более-менее человеческий терминал. Отсюда – https://github.com/microsoft/terminal/releases. Просто скачиваем msixbundle и ставим. В терминале находим вкладку «Gentoo» и конфигурируем её по своему вкусу и пристрастиям, заодно выставив её запуск по дефолту.

Запускаем вновь установленную Gentoo – wsl -d gentoo.

Теперь донастраиваем Gentoo. Учитывая то, что нам ненужно чрутиться, всё несколько проще – создаём shell файл следующего содержания:

#!/bin/bash
rm /etc/resolv.conf || true
rm /etc/wsl.conf || true

cat <<EOF > /etc/wsl.conf
[network]
generateResolvConf = false

[automount]
enabled = true
options = "metadata"
mountFsTab = false
EOF

cat <<EOF > /etc/resolv.conf
nameserver 8.8.8.8
nameserver 8.8.4.4
EOF

Далее в хомяке виндоюзера создаём .wslconfig, чтобы определить сколько ресурсов себе может забрать такая система. В него пишем:

#!/bin/bash

cat <<EOF > /mnt/c/Users/YOURUSERNAME/.wslconfig
[wsl2]
#kernel=
# Половины RAM тестовой машины хватит. В моём случае.
memory=8GB
#processors=
#swap=
#swapFile=
localhostForwarding=true
EOF

Далее делаем wsl --shutdown и останавливаем виртуалку с гентой. Запускаем заново. И теперь уже конфигурим систему как положено. Сразу замечу – чрутиться ненадо, русифицировать надо только саму систему, шрифты на экране будет сразу по-русски, ввод тоже по-русски, временная зона и время возьмутся из винды, так что париться особо не над чем.

Правим locale.gen, добавляя туда ru_RU.UTF-8 (не показывайте этого Eddy_Em!). Далее locale-gen.

Делаем emerge-webrsync; emerge cpuid2cpuflags; echo "*/* $(cpuid2cpuflags)" > /etc/portage/package.use/00cpu-flags чтобы не вписывать USE-flags и флаги процессора.

Заодно смотрим cat /proc/cpuinfo и смотрим семейство процессора (ivybridge или что ещё по https://wiki.gentoo.org/wiki/Safe_CFLAGS).

Далее правим /etc/portage/make.conf`. Вот мой первоначальный, но для старта пойдёт:

ACCEPT_KEYWORDS="~amd64"

COMMON_FLAGS="-O2 -pipe -march=ivybridge -mtune=ivybridge"
CFLAGS="${COMMON_FLAGS}"
CXXFLAGS="${COMMON_FLAGS}"
FCFLAGS="${COMMON_FLAGS}"
FFLAGS="${COMMON_FLAGS}"

USE="-X -gtk -gtk3 -cxx -qt3 -qt4 -qt5 -kde -python -perl -rubygem -ruby -systemd -kde -gnome nls utf8"
VIDEO_CARDS="dummy"
MAKEOPTS="-j8"
LINGUAS="ru"
L10N="ru"
AUTOCLEAN="yes"
# Несколько ускоряем и убираем ненужные (для виртуалки под разработку, в проде
# так не делать!) проверки.
FEATURES="parallel-fetch parallel-install config-protect-if-modified -ipc-sandbox -pid-sandbox -mount-sandbox -network-sandbox"
EMERGE_DEFAULT_OPTS="--ask --complete-graph"

PORTDIR="/var/db/repos/gentoo"
DISTDIR="/var/cache/distfiles"
PKGDIR="/var/cache/binpkgs"

Делаем passwd, выставляем пароль рута. Далее добавляем своего юзера useradd -m -G users,wheel,audio -s /bin/bash Ваш_логин; passwd Ваш_логин.

Теперь делаем вполне предсказуемо emerge vim; eselect editor vim; emerge -C cpuid2cpuflags.

Профиль я не выставлял, он и так очевиден – базовый.

Теперь радостно emerge -uDN @system; emerge -uDN @wolrd;emerge --depclean;revdep-rebuild;eclean-dist.

С остальным понятно, не маленькие.

Резюме. Работает. Довольно живенько так. Винде не мешает, винда тоже не мешает. Рекомендую. Можно открыть несколько терминалов и копировать выделенный текст прямо по правой клавише мышки.

 uname -r
5.4.72-microsoft-standard-WSL2

Я просто оставлю это здесь. Авось кому сгодится.

P.S. Ведро канпелять тоже ненужно, хватает дефолтного. Теперь можно шпилить ф танчеги, одновременно канпеляя чего-нибудь.

Moisha_Liberman ★★
()
Последнее исправление: Moisha_Liberman (всего исправлений: 1)
Ответ на: WSL2 + Gentoo. How to. от Moisha_Liberman

Вот это долбня, прасти ктулхулмм!! Чего так сложно то? Продирался к аденоидам через ректум!

Убунту потестил бы шоле, для наглядности какой CAD запустил…

anonymous
()
Ответ на: комментарий от anonymous

Чуть позже.

Я не использую Ubuntu. Я использую Gentoo. И текст в принципе для гентарей. Остальное – виртуалки для ARM/MIPS и графон чуть позже будут. Сразу скажу – всё работает как положено.

Убунточку натянуть много ума не нужно – в магАзине от M$ она вроде как есть. Кликнуть свою верную мышь не проблема.

Moisha_Liberman ★★
()
Последнее исправление: Moisha_Liberman (всего исправлений: 1)
Ответ на: комментарий от rupert

Спасибо за идею.

Но я уже в принципе всё сделал. Надо только «описать». Авось кому сгодится и кто-то таки хоть так, но поставит генточку православную. =)))

Moisha_Liberman ★★
()

Некоторые думают что никто ничего не заметит , а thumbnails так не думает он всегда выдаст автора за место лже автора

anonymous
()
Ответ на: WSL2 + Gentoo. How to. от Moisha_Liberman

WSL работает с образами диска как тот же Virtual Box.

В частности, Ubuntu 20.04 хранит данные в файле C:\Users\{username}\AppData\Local\Packages\CanonicalGroupLimited.Ubuntu20.04onWindows_79rhkp1fndgsc\LocalState\ext4.vhdx. Для SWAP используется C:\Users\{username}\AppData\Local\Temp\swap.vhdx.

Из под Linux этот образ можно смонтировать так:

# Создадим точку монтирования
$ sudo mkdir /mnt/wsl

# Загрузим модуль ядра для работы с NBD
$ sudo modprobe nbd max_part=16

# Подключимся к виртуальному диску
$ sudo qemu-nbd -c /dev/nbd0 ext4.vhdx

# Смонтируем его
$ sudo mount -o rw /dev/nbd0 /mnt/wsl

$ ls /mnt/wsl    
bin   dev  home  lib    lib64   lost+found  mnt  proc  run   snap  sys  usr
boot  etc  init  lib32  libx32  media       opt  root  sbin  srv   tmp  var
tz4678 ★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.