LINUX.ORG.RU

Wine для Linux


0

2

У меня два вопроса.

1. Есть ли способ транслировать бинарник для Windows в ELF, с Wine, как внешней библиотекой?

2. Есть ли вариация Wine, где вместо имитации Windows-интерфейса используется нормальный кросплатформеный тулкит, такой как Qt или GTK+.

★

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

1.

Ты хочешь слинковать Windows-приложение с Winelib? Если приложение Windows-only, но OpenSource, то можно пересобрать под Wine

2.

Winelib это кроссплатформенный тулкит вайна)) Иначе никак

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

1. Нет, именно транслировать exe-шники. Но такой вариант тоже интересен.

uhbif19 ★
() автор топика

Вообще, хочется удобного Wine. Такого же удобного, как например Pipelight. Если есть решения на тему, кидайте пожалуйста.

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

Потому что вы говорите явную глупость. То что я ищу нормально реализованные расширения Wine, никак не говорит о необходимости мне Windows. Более того, это теоретический вопрос, а мне Win-приложения не нужны совсем.

Есть например Pipelight для плагинов браузера. Там все просто - установил из репозиториев, ввел одну команду, перезагрузил браузер - и Unity c Silverlightом работают. Так что, когда правда хочется, всегда можно реализовать юзабельный софт.

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

Теоретически возможно. Практически куча геморроя.

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

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

С другой стороны, подмена виндового рантайма есть замена его своим рантаймом. То есть, по сути, реализация этого дела не будет отличаться от уже имеющегося Wine.

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

Потому что вы говорите явную глупость. То что я ищу нормально реализованные расширения Wine, никак не говорит о необходимости мне Windows. Более того, это теоретический вопрос, а мне Win-приложения не нужны совсем.

может мы о разных wine говорим? Если что, я про http://www.winehq.org/

там у них на сайте в шапке записано «Run Windows applications on Linux, BSD, Solaris and Mac OS X». Странно, как же вам «не нужны win-приложения»? А что нужно?

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

1. нет. Потому что маздайная программа предназначена для работы в маздайе, с маздайным API, или эмуляцией маздайного API(e.g. wine)

2. нет, потому что маздайное «DE» прибито гвоздями к маздаю, и установка скажем чего-то на Qt возможно только поверх маздайных окошек. Т.е. то, что ты хочешь невозможно даже в самой Windows, а уж тем более в эмуляции окружения windows(т.е. wine это не эмулятор windows, а лишь эмулятор окружения windows, он поставляет программе требуемый API, как в windows)

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

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

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

Точно так-же как для байткода, например.

uhbif19 ★
() автор топика

собери вайн статически, настрой префикс, установи приложение в него, создай sh для запуска. получишь линукс-приложение. почти.

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

Это же входит в подмену виндовых вызовов :)

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

ну раз я говорю глупости, то скастуйте меня, как только найдёёте реализацию ваших неглупых идей. Жду с нетерпением…

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

Собираешь пакет, который разложит все бинарники виндовой софтинки по нужным местам(куда-нибудь в /opt например), а в post-install скриптах пропишет в реестр wine всё, что пишет туда эта софтинка при установке и создаст programname.desktop-файлик, щёлкая по которому можно будет вызвать программу командой WINEPREFIX=/path/to/dir/ wine programname.exe.

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

Собственно, посмотри на пакеты TeamViewer'а. Там именно это и делается.

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

Вот. Именно так. Только я ищу что-то типа репозитория таких пакетов, и утилиты для их подготовки. Как это можно сделать вручную, я себе примерно представляю.

uhbif19 ★
() автор топика
Вы не можете добавлять комментарии в эту тему: топик перемещен в архив.