LINUX.ORG.RU

Microsoft открыл код WSL и текстового редактора Edit

 , , , ,

Microsoft открыл код WSL и текстового редактора Edit

0

4

Microsoft опубликовал исходные тексты подсистемы wsl. Для желающих присоединиться к разработке запущен сайт wsl.dev.

WSL предоставляет виртуальную машину с полноценным ядром Linux (на базе ветки 6.6), в которой могут запускаться дистрибутивы Linux. Ядро включает специфичные для WSL изменения, такие как оптимизации для сокращения времени запуска и уменьшения потребления памяти, возможность возвращения Windows освобождённой Linux-процессами памяти и настройки для исключения лишних драйверов и подсистем. Система устанавливается в отдельный дисковый образ (VHD) c файловой системой ext4 и виртуальным сетевым адаптером.

Компоненты WSL, связанные с ядром Linux и графическим стеком wslg, применяемым для для запуска GUI-приложений на базе Wayland и X11, развивались в открытом виде изначально, но весь сопутствующий инструментарий оставался проприетарным. Отныне в число открытых переведены следующие компоненты:

  • утилиты командной строки wsl.exe, wslconfig.exe и wslg.exe, используемые для взаимодействия с WSL;
  • сервис wslservice.exe, применяемый для запуска виртуальной машины, активации в ней Linux-окружения и монтирования файловых систем;
  • фоновые процессы, запускаемые в Linux-окружении для доступа к функциональности WSL. Например, процесс init для начальной инициализации, gns для настройки сетевого доступа, localhost для перенаправления портов;
  • процесс plan9 с реализацией сервера Plan9, применяемого в WSL для совместного доступа к Linux-файлам из Windows.

Остаются частью Windows и не открыты в настоящее время:

  • драйвер ядра Lxcore.sys, применяемый для запуска исполняемых файлов в формате ELF через слой обеспечения совместимости;
  • драйвер P9rdr.sys и библиотека p9np.dll, обеспечивающие перенаправление доступа к ФС «\wsl.localhost» при обращении из Windows к Linux.

Одновременно компания Microsoft открыла под лицензией MIT исходный код консольного текстового редактора Edit, написанного на модном языке Rust и нацеленного на поставку по умолчанию в 64-разрядных версиях Windows. В ближайшие месяцы редактор будет предложен для ознакомления и тестирования в сборках Windows Insider Program, после чего войдёт в штатную поставку Windows 11.

В редакторе попытались реализовать современный интерфейс с управлением в стиле VS Code. Целью заявлено предоставление интерфейса, который был бы понятен и прост в использовании даже для тех, кто не имеет опыта работы в терминале. Редактор компактен и занимает всего 250kB на диске. Из возможностей упомянуты: система меню, управление клавиатурными комбинациями или мышью, поддержка вкладок и одновременной работы с несколькими файлами, операции поиска и замены, режим автоматического переноса текста на новую строку.

>>> Подробности (OpenNet)

★★★★★

Проверено: hobbit ()
Последнее исправление: CrX (всего исправлений: 5)

что что что? уволили разрабов и 30% нейрокода мс некому теперь поддерживать? я не ослышался?

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

Столкнулся, когда перекидывал через mc (в wsl) каталог с фото на другую машину.

Возможно, это косяк mc. Когда он копирует что-то по сети, он сначала копирует все файлы в /tmp, а оттуда только на целевую машину.

shell-script ★★★★★
()

Зачем оно вообще нужно? Есть же онтопик.

UriZzz
()

Отныне в число открытых переведены следующие компоненты:

В закрытой, огороженной системе, палезнааа…

Одновременно компания Microsoft открыла под лицензией MIT исходный код консольного текстового редактора Edit, написанного на модном языке Rust

Ох милота🤣

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

Смысл нативного драйвера в том, чтобы можно было дать вендузятнику флешку с ext4 и он не ныл, что «ЫЫЫЫ, флешка ниробит, Ыыыы».

Или «у тебя флешка не открывалась, я ее отформатировал».

Vidrele ★★★★
()

Познавательно однако:

/*++

Copyright (c) Microsoft. All rights reserved.

Module Name:

    main.cpp

Abstract:

    This file contains the entry point for wsl.exe.

--*/

#include "precomp.h"

int __cdecl wmain()
{
    return wsl::windows::common::WslClient::Main(GetCommandLineW());
}

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

на листе MS Word делали. Зато не маргинальщина.

И наконец бы эта странина перестала протекать, как не в себя. Я о екселе. А ещё наконец бы у офиса появились нормальные настройки, а не этот, прости балмер, ленточный рибон. А ещё vba на свалку истории, а вместо него нормальный js или c# на худой конец.

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

Зигу тоже десятка, он появился в тоже время что и раст, но не развился в что-то значимое. Даже до версии 1.0 не добрался.

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

Виндузятник детектед. Смысл нативного драйвера в том, чтобы можно было дать вендузятнику флешку с ext4 и он не ныл, что «ЫЫЫЫ, флешка ниробит, Ыыыы».

Но ведь это ты притащил не совместимую с самой распространённой системой флешку, а не тупой виндузятник её не смог открыть. Так же у него бы не открылась флешка отформатированая в apfs или ещё чём нибуть. Если нужна максимальная совместимость между ОС и ты по какой-то причине не освоил файлообменники и электронную почту за 70 с хвостом лет их существования, используй fat32 чтоле, она везде откроется.

sbu_shpigun
()
Последнее исправление: sbu_shpigun (всего исправлений: 1)

текстового редактора Edit, написанного на модном языке Rust

наши тексты отныне в безопасТносте
наконец-то

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

не нужно. Кто вообще додумался делать пиксели в несколько раз меньше?
А вообще стандартный gdi/winapi интерфейс умел скейлиться как минимум с windows 95, если не раньше. Единственная проблема - он не мог динамически менять размер, что конечно не удобно когда IDE переходит между разными мониторами

mittorn ★★★★★
()

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

nicholas_ru
()
Ответ на: комментарий от LINUX-ORG-RU

Ну так ссылки обнови, а то мы еще первую серию не видели :)

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

wsl1 - независимая реализация линуксовых сисколов, способная относительно полноценно запускать существующие дистрибутивы. Пускай это применение и ограничено, для огромного спектра задач оно достаточно. Мне например WSL был нужен для сборки софта разными gcc'шными тулчейнами и здесь первый WSL справляется в разу лучше второго.
И исходный код такой штуки могу бы быть интересен как в образовательных целях (Пример реализация POSIX/Linux поверх другой ОС), так и для портирования этого слоя совместимости непосредственно куда-либо ещё.
Так же возможно было бы интересно добавить в него поддержку dxgi (/dev/dxg), неймспейсов (если их нет), чтобы была часть возможностей WSL2, но с меньшим оверхедом. WSL2 во-первых требует виртуализацию, во вторых там ужасно сильно тормозит обмен ФС с windows. Компилирвоать софт, находящийся на виндовом разделе на WSL2 практически невозможно

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

Что-то мне это по виду напоминает M$ Workbench, который поставлялся вместе с шестым Си для MS-DOS. Удобная, кстати, была штука. В кишках очень походил на emacs, но лиспа я там не нашел. Впрочем, на том моем уровне развития и где искать-то я толком не знал.

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

я в детстве писал программу на бейсике примерно 1200 строк. Графика.Она могла рисовать. Тогда еще сделали первую версию Windows. Си вообще не понимал тогда.

nicholas_ru
()
Последнее исправление: nicholas_ru (всего исправлений: 1)

Кода уже подобный edit будет во всех дистрах по умолчанию, чтобы нормальный редактор был а не это вот то что подсовывают.

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

Edit - это же какая-то поделка в стиле nano.

У нано есть подсветка синтаксиса, как минимум.

если какой-то убогий редактор уже был в DOS?

Это и есть убогий редактор, который уже был в DOS. Просто теперь на расте и в винде

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

Хм… Ну ОК. Впрочем, мне не зазорно пропустить такое, ведь я не игроман.

Не кори себя. Steam - это и есть костыль в виде wine. Просто valve заморачивается настройкой префиксов, и вино форкнули.

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

Линукс становится всё более готовым для десктопа: играть можно с небольшими сложностями, программировать и админить на нем даже несколько удобнее. Проблемы возникают с прикладным неайтишным ПО при работе на дядю, но и тут в ряде случаев удается собрать стек из СПО, нативной проприетарщины, Wine-совместимой проприетарщины, браузерного софта.

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

Собственно, статистика это показывает. На x86 Линукс потихоньку отгрызает рынок.

Если Windows сумеет полноценно переползти на ARM где-то кроме планшетов и тонких клиентов, там просто повторятся проблемы, существующие на x86.

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

я поэтому долгое время продолжал пользоваться семеркой, а потом перелез на мак.

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

Сами удивляемся. «Это другое». Лично я не причастен :)

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

Проблемы возникают с прикладным неайтишным ПО при работе на дядю

Не только на дядю. Весь домашний IoT и прочие смарт-часы и смарт-весы. Везде, где есть пропиетарный протокол, там почти никогда нет линуха. А если твоя задача состоит в том, что бы рулить каким-нибудь гитарным комбом по Midi и писать музыку, то проще взять винду или Мак и собрать на нем комбайн под задачу. Ну камон — поддержка часов от Гармина из коробки. А это совершенно домашняя задача.

Линукс на десктопе называется «Андроид». На планшетах есть почти весь нужный пропиетарный софт.

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

самой распространённой системой

И это линукс)) Они сделали аж два WSL калоподелия, но не добавили драйвер для фс. Это чтобы холопы дуалбут не юзали. КолхозСофт заботится о своих баранах.

Так же у него бы не открылась флешка отформатированая в apfs или ещё чём нибуть

Apfs — проприетарная, клоунидзе. Микрософт, кстати, перестал шатать за свою exfat как раз во времена появления wsl.

Если нужна максимальная совместимость между ОС и ты по какой-то причине не освоил файлообменники и электронную почту

Что посоветуешь? Скайп? Форматировать карманные диски в exfat? Спасибо, гений.

используй fat32 чтоле

А ты забанься.

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

Ну EMACS всегда был Eight Megabytes And Continious Swapping :)

Это круто, но…

 ps aux|grep emacs
void       10880  0.9  0.3 1086140 474156 ?      Ssl  May19  17:25 /nix/store/k3rsimgrmdii2qx161w1qn8ynjxyvy7g-emacs-git-pgtk-20250424.0/bin/emacs

RSS под полгига не хочешь?

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

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

Ну кстати, под музыку фанатами эти протоколы исследованы и написаны под лялекс. По крайней мере, у меня с Arturia под лялексом проблем не было. А вот под вендой с их нативный софтом можно вешаться – он монструозен и достаточно ублюдочен, чтобы лишний раз трогать не хотелось.

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

Так RSS еще и .so учитывает.

Да, и? Полгига для редактора, чувак. Мне не жалко, у меня 128 гигов, но тренд меня несколько смущает.

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

И что, весь софт под KeyLab написали со всеми библиотеками звуков? Чот не верится. То есть, вот купил я Midi-клавиши и есть у меня линукс. И чо? Как мне звук извлечь?

А вот гитарный Yamaha THR никак линуксом не рулится. Ну, то-есть были попытки заснифить протокол с первого поколения железок, а когда вышло второе, которое в пузе уже не Yamaha, а Line6 — Все! Бобик сдох. SysEx другие и сильно сложнее.

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

аптайм несколько месяцев.

Аптайм дня два.

Нету свопа?

Ага.

Ты клоун?

Не угадал. А что такое? Тебе обидно что у кого-то больше?

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

Весь домашний IoT и прочие смарт-часы и смарт-весы.

Я не знаю, зачем на десктопе интеграция с IoT, смарт-часами и смарт-весами. На телефоне есть – и ладно. Но это вкусовщина, конечно.

А если твоя задача состоит в том, что бы рулить каким-нибудь гитарным комбом по Midi и писать музыку, то проще взять винду или Мак и собрать на нем комбайн под задачу.

Это подкреплено каким-нибудь практическим опытом работы с разными платформами, хотя бы из третьих рук?

Так-то и Adobe Premiere спиратить проще, потому что все так делают, чем выбрать свободную альтернативу, искать по ней годные туториалы, находить сообщества пользователей, экспериментировать, ловить косые взгляды всёкакулюдейников, делающих кроп в пиратском фотошопе.

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

И что, весь софт под KeyLab написали со всеми библиотеками звуков?

Pianoteq и Reaper нативные есть. Меня устраивает.

То есть, вот купил я Midi-клавиши и есть у меня линукс. И чо? Как мне звук извлечь?

Ну, можешь пукнуть в микрофон, я не знаю.

SysEx другие и сильно сложнее.

Кстати, у меня вот это работает: https://github.com/soyersoyer/sysex-controls

hateyoufeel ★★★★★
()
Последнее исправление: hateyoufeel (всего исправлений: 1)
Для того чтобы оставить комментарий войдите или зарегистрируйтесь.
OSZAR »