LINUX.ORG.RU
ФорумTalks

Wine наоборот или в поисках слоя совместимости оффтопика с онтопиком...

 , , , ,


0

1

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

Почему это вообще надо?

  • Потому что это удобно, не надо перезагружать систему ради дуалбута или настраивать сеть ради RDP/VNC
  • Потому что бывают случаи, когда раб корпорации вынужден сидеть под оффтопиком, а нужно быстренько и без заморочек заюзать линуксоспецифичный софт, в тч гуёвый.
  • Потому что… потому.

Какие есть варианты?

  • coLinux, andLinux, speedLinux, Ulteo Virtual Desktop и иже с ними. Нормально. С гуем. Для 32-бит. Но учитывая, что сейчас всё 64-битное, а coLinux не может в 64-бит, то 2007 год вернуть не получится! 😢
  • ForeignLinux/flinux. Потыкал палочкой их готовый Арч, вроде чё-то запустилось в cmd, лол, даже дало по директориям походить, но не смогло скачать пакеты,
    [root@ForeignLinux /]# pacman -Syu
    :: Synchronizing package databases...
    error: failed retrieving file 'core.db' from mirror.rackspace.com : The requested 
    URL returned error: 404
    error: failed to update core (unexpected error)
    error: failed retrieving file 'extra.db' from mirror.rackspace.com : The 
    requested URL returned error: 404
    error: failed to update extra (unexpected error)
    error: failed retrieving file 'community.db' from mirror.rackspace.com : The 
    requested URL returned error: 404
    error: failed to update community (unexpected error)
    error: failed to synchronize any databases
    error: failed to init transaction (unexpected error)
    

    да и проект в целом заброшен.

  • Lina Не пробовал, но кажется проект скорее мёртв, чем жив. Нет поддержки 64-bit Windows.
  • Cygwin. Недостаток: многа кампелять! (не поддерживает проприетарные бинарники) А хочется и шашечки и ехать.
  • WSL1 Нет поддержки графики. Сырое
  • WSL2 🤦 Без комментариев..
  • Line для Windows 98/2000. Заброшен.

    It sill work on Win8 x64 as I tested. It uses Cygwin for POSIX layer thus no efficient fork(). (c)

  • LBW для 32-bit Windows XP. Поддерживает гуй. Заброшен.
  • Atratus для 32-бит Win XP и 32,64-бит Win7.

    Vista and Windows 8 may work, but are untested.

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

Связанные темы:
Разработка под Линукс ... - есть ли смысл ставить Linux ? (2022)
Использование Linux-приложений в Windows – виртуализация с coLinux
Lina - кроссплатформенная виртуальная машина для запуска Linux приложений
flinux -- запуск бинарников GNU/Linux в среде Windows

P.S. Тема в толксах, дабы без духоты.

★★★

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

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

если попотеть.

Вот в этом, а вообще WSL2 это VM, со всем вытекающим отсюда оверхедом. Тогда уж лучше VMware поставить.

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

Суть в том что оверхед нынче не обязательно вытекает. У тебя есть в цифрах доказательство того что этот оверхед вообще есть? И да, в некоторых сценариях vmware лучше. В описанном тобой — нет, не лучше. Но не факт что от wsl2 будет некий отличный от погрешности измерений оверхед. Его и в «чистых» виртуалках может быть минимум при грамотной настройке IO, недостаток виртуалки скорее в слабой интегрированности на уровне юзерских интерфейсов между хостом и гостем. wsl2 как раз это и решает.

Jameson ★★★★★
()
Последнее исправление: Jameson (всего исправлений: 2)

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

Оно и раньше было не нужно, а теперь, из-за наличия штатного WSL, окончательно загнулось.

Да, есть вирт. машины, но они слишком ресурсожрущие и тормозные,

Не такие уж и тормозные.

Кроме WSL2 есть ещё WSL1, он как раз слой совместимости.

Но главный вопрос - зачем? Кроме как для случая «виндузятник кодит софт под линукс и надо как-то делать тестовые запуски» не вижу применения, а там про отсутствие оверхеда не особо надо заботиться.

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

У WSL2 перед другими виртуалками плюс что там из коробки все интеграции гостя с хостом, вплоть до прозрачного запуска хостовых прог из виртуальной командной строки.

firkax ★★★★★
()

Т.е. ты думаешь, что кто-то иной, чем Microsoft, залезет в кишки проприетарной ОС и сделает слой совместимости, чтобы запускать бесплатное/свободное ПО с минимальными накладными расходами? Ты представляешь, какой квалификации должны быть эти люди, и по какой цене такой слой совместимости будет продаваться? Используй WSL и не имей моск людям.

tiinn ★★★★★
()

WSL2 🤦 Без комментариев..

А WSL1 чем не? Он работает.

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

И не просто виртуалка, а лучше:

  • стартует гораздо быстрее,
  • графические приложения запускать можно,
  • даже есть systemd,

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

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

На бумаге звучит заманчиво, но по факту оно работает весьма убого. Как минимум графическая интеграция хромает, сетевой стек виртуализован и т.д.

cocucka ★★★★☆
()

Все это напрасный труд.

Мейнстрим, это два решения - классическая виртуалка и wsl

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

wsl побыстрей, но не так универсально и по сути без гуя (хотя вроде там подвижек много в этом направлении).

Для сугубо сетевых сервисов есть докер. Тоже хорошо.

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

hyperV шикарнейшая штука, для тех кто хочет запустить почти любой дистр, при правильной настройке лимитов нагрузки не видно

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

hyperV шикарнейшая штука

А с пробросом железного диска в него - можно запускать и Линуксы, которые при необходимости стартуют и сами на железе.

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

wsl2 более тесно слеплена с виндой, например можно запускать win32 проги из wsl, выхлоп консольных можно использовать в линуксовых конвейерах и линуксовые gui проги из винды можно запускать, даже нативные для линукса декорации будут. Так же видны обе файловые системы.

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

А что в ней такого шикарного? Обычная система виртуализации. Только под win, несвободная. Работает плюс-минус как любая вмварь или виртуалбокс. Но те хоть кроссплатформенные и даже бесплатные. А есть свободный кошерный qemu.

Так в чем цимес?

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

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

Morin ★★★★
()

Cygwin. Недостаток: многа кампелять! А хочется и шашечки и ехать.

Cygwin устанавливается минут за 10. Ты за видосиками проводишь в разы больше.

У Cygwin другие недостатки, там иногда можно словить тормоза, и некоторые операции не работают или требуют нетривиальной магии: ЕМНИП там или ping не работал или git с особым типом аутентификации, или что-то что могло потребовать прав суперпользователя; к сожалению конкретику запамятовал; что говорит о том, что кейс редкий и специфичный. Но в целом Cygwin для командной строки достаточно неплохой вариант.

P. S. WSL не щупал.

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

Более того, в новых версиях оно умеет пускать гуишный софт как нативный.

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

cygwin не работает штатный экспорт символов из исполняемого файла в подгружаемые библиотеки - в нём расширения для пхп из-за этого не компилировались когда-то (а может и сейчас не компилируются).

firkax ★★★★★
()

WSL1 - честно реализует сисколы ядром, вполне нормально. wayland конечно не сделаешь, но иксовая сетевая прозрачность вполне работает. Иксы желательно стаивть из cygwin
flinux - сыровато, да и без ядерного перехвата сисколов эмулировать syscall api неэффекивно
К сожалению в линуксе много софта завязано на сисколах, потому реализовывать что-то такое на библиотечном уровне как в wine проблематично, но в целом отсутствие порта glibc на windows это скорее «религия не позволяет» чем реально техническая проблема. Никому это не нужно настолько, чтобы делать под винду glibc-совместимую libc с elf загрузчиком. Однако есди действительно сделать - то останется пара десятков сисколов в библиотеках, которые надо будет запатчить
Так получилось потому что у linux стабильный syscall api и он не меняется, а у windows сиськолы перелопачивают каждую версию, да и вообще были когда-то разные ядра в разных ветках (9x/nt)

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

запуск хостовых прог и интеграция фс сделана отвратительно

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

виртуалбокс, ну да ну да, вечно опаздывающий к новым ядрам

тут вот уел, не поспоришь. huperv выходит к новым ядрам не в пример быстрее.

AVL2 ★★★★★
()

Нашёл ещё LBW и Line, дописал про них.

В общем пока для 32-бит оффтопика варианты есть, а для 64-бит нет. Странно.

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

У тебя есть в цифрах доказательство того что этот оверхед вообще есть?

В цифрах нет, но много отзывов по этому поводу, например

I ditched Linux Mint and Installed Ubuntu in VMWare. I thought, I hit the jackpot but my machine started running too slow.

https://www.codeproject.com/Articles/1244452/Running-Unmodified-Linux-Binaries-in-Windows-OS

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

Я про то, что cygwin не сможет запустить такой бинарник, к которому нет исходного кода.

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

У тебя есть в цифрах доказательство того что этот оверхед вообще есть?

Если Линукс запускается в VESA-режиме, этот оверхед видно даже без секундомера. Но мне графика не была нужна, поэтому не стал разбираться.

Без GUI — да, снижение производительности не ощущается, хотя специально не измерял.

question4 ★★★★★
()

WSL вполне себе работает. Для графики можно поставить x-сервер, например, VcXsrv

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

Он у меня единственный, но ты можешь продолжать расследование :)

Morin ★★★★
()

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

Однако, WSL2 имеет неплохую интеграцию от запуска графических приложений под Linux до прозрачного доступа к ФС хоста и запуска команд оттуда. Единственный негативный момент - сетевой стек не общий, localhost-ы разные. Это легко обходится, но лишние телодвижения...

WSL1 тормозит из-за тормозов виндового I/O. Да, у винды гораздо менее производительный I/O, чем у Linux и Mac OS. Никто с нуля его не перепишет (с учётом проприретарного ядра и необходимости обратной совместимости). Поэтому любое решение без виртуализации (чтобы притащить линуксовый I/O) обречено на тормоза. Просто нативные виндовые приложения оптимизированы под это, а на линуксовых это заметно, плюс есть с чем сравнивать.

Надеяться на развитие других таких технологий не приходится, потому что MS выпустил решения превосходящие по функционалу и глубине интеграции с ОС всё, что было до него, тем самым подписав приговор этим проектам (кроме полных виртуалок типа virtualbox и vmware, потому что у них другая сфера применения и ниша за счёт универсальности)

KivApple ★★★★★
()
Последнее исправление: KivApple (всего исправлений: 1)
Закрыто добавление комментариев для недавно зарегистрированных пользователей (со score < 50)