Приложение wine нельзя открыть так как не удалось проверить разработчика
Этичный хакинг и тестирование на проникновение, информационная безопасность
Оглавление
Для чего Wine
Эта инструкция расскажет об использовании Wine. Данные советы по использованию применимы как к Kali Linux, так и к любому другому дистрибутиву Linux.
Итак, Wine — это набор программ и библиотек, которые позволяют запускать Windows приложения в Linux без использования виртуализации. Конечно, Windows программы можно запустить в Linux с использованием VirtualBox, но такой вариант потребует запуска полноценной операционной системы с соответствующими затратами ресурсов, особенно оперативной памяти — для работы Windows необходимо несколько гигабайт памяти, а также место на диске для установки — несколько десятков гигабайт. При этом важным требованием для работы VirtualBox и аналогичных виртуальных компьютеров является то, чтобы ваш центральный процессор поддерживал виртуализацию.
Wine позволяет обойти все эти ограничения — для запуска программ Windows не нужно устанавливать эту операционную систему и приложениям для работы требуется всего несколько десятков мегабайт оперативной памяти.
Но у Wine есть и недостатки — не все приложения работают хорошо или вообще работают. Тем не менее огромное количество Windows программ прекрасно запускаются и работают в Linux благодаря Wine.
Помните, что многие бесплатные программы являются кроссплатформенными и вы можете их установить из стандартных репозиториев вашего дистрибутива. Для таких программ не нужен Wine. Примеры популярных кроссплатформенных программ: LibreOffice, Google Chrome, Firefox, Double Commander, VirtualBox, Etcher, VLC, DeadBeef, GIMP, OBS Studio, Viber, Wireshark, Apache, PHP, MySQL, Calibre, Netbeans, Burp Suite, Visual Studio Code, KeePass, KeePassXC, OpenShot Dropbox, Python, Ruby, Perl, PowerShell, SSH, Vuse BitTorrent Client, FileZilla, Tor Browser, JDownloader и очень многие другие. Всем этим программам не нужен Wine, поскольку они имеют «родные» установочные пакеты для Linux.
Прежде чем пытаться установить и запустить программу через Wine, поищите её с помощью менеджера пакетов, например:
Возможности и ограничения Wine
Программа способна запускать 64-битные, 32-битные, 16-битные программы и библиотеки Windows 9x/NT/2000/XP/Vista/7/8/10 и Windows 3.x
Поддержка Win32 API:
- Поддержка игр и приложений на основе DirectX (поддержка Direct3D до DirectX 12)
- Поддержка игр и приложений на основе OpenGL и Vulkan
- Поддержка DirectShow с использованием GStreamer для кодеков
- Direct2D, поддержка DirectWrite
- Поддерживаются MMDevice API, XAudio, WinMM, DirectSound audio API.
- Печать через драйвер PostScript в главную систему печати (обычно CUPS)
- Драйвер расширенного метафайла (EMF) и метафайла Windows (WMF)
- Desktop-in-a-box или смешанные окна
Позволяет программе Windows взаимодействовать с:
- Графикой на основе X11, которая позволяет удалённо отображать на любом X-терминале
- Графикой на базе macOS и Android
- Шрифты X11, TrueType (.ttf/.ttc) и Windows Bitmap (.fon)
- Звуковыми устройствами через ALSA, OSS, PulseAudio, Core Audio и т. д.
- Многоязычной клавиатурой и поддержка метода ввода CJK через XIM
- Модемами, последовательными устройствами
- Сетями (TCP/IP и IPX)
- Сканерами ASPI
- Планшетами Windows через XInput (например, Wacom)
- Устройствами видеозахвата через v4l2
- Устройствами HID через IOHid (MacOS), evdev (Linux), hidraw (Linux), SDL2
Как вы можете увидеть, список впечатляющий и позволяет, к примеру, запускать игры для которых требуется DirectX и при этом выводить звук. Приложения из Wine могут работать с сетью и даже имеют доступ к некоторым аппаратным возможностям (принтеры, сканеры).
Если для работы приложения необходимы дополнительные библиотеки, например, Visual C++ Redistributable for Visual Studio, то их возможно установить в Wine и запускать приложение в среде с установленной этой библиотекой.
При этом нужно помнить о таком ограничении, как невозможность работать с устройствами напрямую, например, если для устройства требуется драйвер, то бессмысленно устанавливать Windows драйвер в Wine — вам нужно найти версию драйвер для Linux и установить её.
64-битный или 32-битный Wine?
В этой инструкции для установки Wine мы включим поддержку репозиториев для 32-битных платформ (i386) для того, чтобы скачать необходимые библиотеки. Может возникнуть вопрос, существует ли 64-битный Wine и если да, зачем нам подключать репозитории для i386 и скачивать 32-битную версию?
Да. 64-битный Wine доступен в Linux начиная с версии 1.2. Бинарные пакеты WineHQ доступны для 64-битных версий, и большинство основных дистрибутивов упаковывают их для пользователей. Обычно установка должна быть такой же простой, как установка пакета Wine для вашего дистрибутива через менеджер пакетов.
Но имеется несколько очень важных замечаний:
- 32-битный Wine работает как в 32-битных, так и в 64-битных версиях Linux/Unix. На нём будут работать 16-битные и 32-битные приложения Windows.
- 64-битный Wine работает только на 64-битных установках и пока что был тщательно протестирован только в Linux. Для запуска 32-битных приложений Windows требуется установка 32-битных библиотек. И 32-битные, и 64-битные приложения Windows (должны) работать с ним; однако есть ещё много ошибок.
- Текущий Wine включает поддержку 64-битного Wine в Mac OS X; однако это не было тщательно проверено, и некоторые приложения могут никогда не работать из-за несовместимости ABI между Win64 и OS X.
Главное, что из этого следует — даже при установке 64-битного Wine необходимо активировать 32-битные репозитории, поскольку многие приложения Windows по-прежнему являются 32-битными и в любом случае необходимо установить 32-битные библиотеки, иначе многие программы просто не будут работать.
При установке можно явно выбрать пакет wine64, но даже если вы установите wine, то им будет 64-битная версия, если у вас 64-битный Linux.
Как установить Wine
Установка Wine в Debian, Kali Linux, Linux Mint, Ubuntu и их производные
Выполните следующие команды:
После установки запустите Wine — возможно, он предложит скачать необходимые шрифты и другие компоненты:
Чтобы проверить версию Wine выполните команду:
Установка Wine в Arch Linux
Откройте текстовый файл /etc/pacman.conf:
В нём найдите и раскомментируйте строки (убедитесь, что раскомментировали обе строки, иначе изменения не вступят в силу):
Обновите информацию о пакетах:
Как запустить программу в Wine
Запуск двойным кликом по исполнимому файлу
Для запуска Windows приложений в Linux обычно достаточно дважды кликнуть по ним. Но может быть так, что .exe файл будет открываться менеджером архивов или другим приложением (обычно менеджером архивов).
В этом случае кликните по файлу правой кнопкой мыши, выберите пункт «Открыть с помощью» и выберите Wine.
Если у вас в контекстном меню не появился Wine, то сделайте так:
- нажмите правой кнопкой на приложение, которое хотите запустить
- выберите «Открыть с помощью», а затем «Другое»
- поставьте галочку «Пользовательская команда» и там, где строка для ввода, введите wine. Поставьте галочку «Сохранить ассоциацию» и «Установить как приложение по умолчанию», нажмите ОК. Теперь все .exe файлы будут открываться двойным кликом.
В Ubuntu ( GNOME 3) в контекстном меню отсутствует Wine и невозможно добавить пользовательскую команду. Для исправления выполните следующее:
Если столкнётесь с ошибкой, что файл wine.desktop отсутствует, то найдите его с помощью следующей команды и отредактируйте приведённую выше команду:
Кликните правой кнопкой мыши по .exe файлу и выберите пункт, который называется «Открыть в другом приложении».
Затем выберите «Посмотреть все приложения».
Нажмите на «Wine — загрузчик Windows программ» и затем нажмите кнопку «Выбрать».
Запуск в командной строке
Поскольку программы Windows часто ищут файлы относительного того места, откуда они были запущены, при использовании командной строки вы должны запускать их очень специфическим способом: «сменить каталог» на папку, в которой расположена программа, и запустить файл .exe, используя только его имя файла. Например:
Использование wine start
В некоторых случаях может потребоваться указать полный путь к исполняемому файлу. Например, если вам нужно установить программу с нескольких компакт-дисков, ввод каталога в терминале не позволит вам извлечь компакт-диск.
Вам нужно использовать wine start, если вы укажете полный путь к .exe, потому что это позволяет Wine установить рабочий каталог для программы, если он ей нужен.
Вы можете указать Wine путь в стиле DOS или Windows в одинарных кавычках, например:
Вы также можете использовать двойные кавычки, но вам нужны две обратные косые черты вместо одной:
Если вы предпочитаете использовать путь в стиле Unix, используйте параметр /unix для запуска, например:
Передача аргументов командной строки Windows
Если вы используете программу с аргументами в Windows, например:
То вы можете сделать то же самое в Wine, запустив:
То есть командная строка идентична, за исключением wine перед ней. Обратите внимание, однако, что вам может потребоваться экранировать некоторые специальные символы обратной косой чертой из-за того, как они обрабатываются в оболочке Linux. Например:
Запуск файлов .msi
Файлы MSI нельзя запускать напрямую; вам нужно использовать либо программу Wine msiexec, либо запуск Wine с терминала:
Графическая среда Wine в стиле Explorer
Если вы предпочитаете использовать графический интерфейс для управления файлами, возможно, вам стоит рассмотреть возможность использования winefile. Это приложение Winelib поставляется с Wine и может быть найдено с другими программами Wine. Это полезный способ просмотреть конфигурацию вашего диска и найти файлы, а также вы можете запускать программы прямо из Winefile. Обратите внимание, что многие функции ещё не реализованы.
Чтобы его открыть выполните:
Как в Wine запустить файл .bat
Вы можете запустить файл .bat разными способами:
1. Выполните команду
Найдите файл .bat и запустите его двойным кликом.
2. Выполните команду
И найдите в окне Проводника нужный вам файл.
чтобы сразу попасть в нужную папку.
Когда найдёте файл .bat, то дважды кликните на него.
3. Вы можете запустить файл .bat в командной строке, используя конструкцию вида:
Если вы используете путь до файла в файловой системе Linux, то обязательно нужно указать опцию /unix.
Как установить программу в Wine и создать ярлык
Если программа является портативной, то вы можете поместить её в любое место на диске - необязательно в папку Wine. Кстати, по умолчанию диском C: в Wine является папка
Как уже сказано, вам необязательно помещать файлы с программой именно туда. Вы можете запускать портативные программы показанными выше способами.
Если программа распространяется в виде установщика (инсталлятора), то просто запустите этот установщик с помощью Wine. В большинстве случаев всё пройдёт как в Windows, будет выполнена обычная установка и на рабочем столе вашей Linux и в меню появится ярлык для запуска программы.
Для портативной программой вы также можете сделать ярлык. Для этого кликните правой кнопкой мыши по рабочему столу и выберите пункт «Создать кнопку запуска здесь» (в Cinnamon), «Создать значок запуска» (в XFCE) или аналогичный пункт.
Обычно есть возможность установить иконку, в том числе присутствуют иконки программ, когда-либо запускаемых в Wine.
Даже если «мастер значка запуска» позволяет указать рабочий каталог, то лучше не полагаться на него. В качестве команды запуска укажите команду вида:
То есть команда для выполнения включает в себя две подкоманды — переход в нужный каталог и запуска исполнимого файла.
К примеру, исполнимый файл находится в папке /home/mial/.wine/drive_c/Program Files (x86)/foobar2000/ и называется foobar2000.exe, тогда команда запуска следующая:
Обратите внимание, что:
- указан абсолютный, а не относительный путь до папки
- если в пути содержатся пробелы или другие специальные для оболочки символы (например, скобки), то они должны быть обязательно экранированы или путь должен быть помещён в кавычки.
Другой пример, когда файл находится не на диске Wine: нужно создать ярлык для запуска файла /mnt/disk_d/Share/Conses/ConsFed/cons.exe, тогда команда запуска следующая:
Если для работы программы необходима специальная версия Wine или дополнительные компоненты, то можно найти скрипты, которые упрощают их установку, о них будет позже в разделах, посвящённых PlayOnLinux и winetricks.
Встроенные в Wine программы
В Wine имеется несколько встроенных «стандартных программ Windows».
Всем «свитчерам» посвящается.
Предыстория
Я не знаю таких людей, которые никогда не пользовались операционной системой Windows. Так уж повелось, что «окна» получили колоссальное распространение на постсоветском пространстве и попользоваться ими довелось почти каждому, кто имел дело с компьютерами. Кто-то пересел на Mac давно, кто-то совсем недавно, у меня даже был неприятный период общения с Windows после долгой работы на «яблочных» компьютерах. «Чистокровные» пользователи Mac OS мне не встречались.
За время работы с Windows у каждого появлялись свои полезные и любимые must-have приложения, которых с переходом на OS X может не хватать. Часть софта легко можно заменить аналогами, есть кроссплатформенные решения, но некоторые приложения существуют только в мире Windows.
Я настолько привык к этой программе, что периодически возвращаюсь к поиску полноценной замены, но, к сожалению, ничего подходящего найти не могу. Если с функциями просмотра справляется стандартное одноименное приложение, то для редактирования хочется чего-то простого, но функционального. Было даже несколько подходов к программе Фото, но не сложилось. Кстати, а вы пользуетесь Фото в OS X?
Что будем делать?
Вернемся к основной теме статьи. Ваша история может отличаться от моей, но объединять их будет потребность в определенном Windows-приложении на Mac. Есть большое количество способов запустить полноценную операционную систему и использовать подходящий для неё софт, но зачем такое громоздкое решение для одной простой программы? Самым подходящим решением будет Wine.
Для начала проследуем на официальный сайт проекта WineBottler и скачаем подходящий образ. Вариант Development имеет больше настроек, но не блещет стабильностью. Нам отлично подойдет версия Stable.
В дистрибутиве можно найти два приложения: Wine и WineBottler. В чем же разница между ними?
Запуск программ через Wine
После того, как приложение Wine из образа перенесено в папку Программы, оно готово к работе. Можно держать его постоянно запущенным или ассоциировать с *.exe файлами и запускать их через Wine.
Принципиальной разницы между способами нет, при наличии распакованной программы её удобнее запускать. На счет «песочницы» не переживайте, установленный софт сможет взаимодействовать с файлами на Mac, просматривать и редактировать их. Никаких расшариваний, общих папок и добавления прав не потребуется.
Запуск программ через WineBottler
В случае выбора данного упаковщика придется сделать ряд дополнительных действий. Для начала ознакомьтесь с перечнем программ, которые уже адаптированы разработчиками WineBottler для работы в OS X. Если попалось подходящее приложение, достаточно лишь скачать его. Если нужной программы нет (каталог в WineBottler не впечатляет), как и в предыдущем способе, потребуется установщик или portable-версия нужного приложения.
Теперь указываем нужный файл windows-программы.
Нажимаем Install и ждем. Если WineBottler получил инсталлятор, то пройдет обычная процедура установки, потребуется понажимать кнопку Next, в остальных случаях все произойдет без вашего вмешательства.
На выходе мы получим упакованное приложение, аналогичное программам среды OS X. Можно переписать его в соответствующую папку в системе и пользоваться, забыв о WineBottler.
Выводы
Я «прогнал» свой любимый Faststone Image Viewer через все описанные способы, никаких ошибок или проблем не обнаружил. В каждом из случаев я получал работоспособное приложение с полным набором функций из Windows.
Подобным способом можно попытаться запустить более серьезные программы, например, 1С или установить неподдерживаемые игры. Результат не гарантирован, но попробовать можно.
(5 голосов, общий рейтинг: 4.60 из 5)Артём Суровцев
Люблю технологии и все, что с ними связано. Верю, что величайшие открытия человечества еще впереди!
5.1. Что делать, если программа не работает?
Бывают случаи, когда вы перепробовали все, чтобы заставить эту проклятую программу заработать на данной версии Wine. Не расстраивайтесь, мы всегда здесь, чтобы помочь вам. (другими словами: "Сколько заплатите?")5.1.1. Проверьте конфигурацию своей Wine
Посмотрите вывод команды $ wine --version, чтобы убедиться, что у вас новейшая версия Wine. Запустите winecfg и посмотрите на установки, чтобы убедиться, что они выглядят нормально. Проверьте/.wine/dosdevices, чтобы убедиться что c: указывает куда нужно.
5.1.2. Попробуйте разные версии Windows
В некоторых случаях изменение версии Windows может помочь.5.1.3. Используйте различные пути (paths) для запуска
Это тоже иногда помогает. Попробуйте как wine prg.exe, так и wine x:\\full\\path\\to\\prg.exe5.1.4. Поэкспериментируйте с настройкой DLL
Запустите WINEDEBUG=+loaddll, чтобы выяснить, какие DLL используются, и являются ли они "родными" или встроенными. Затем убедитесь, что у вас установлены правильные "родные" файлы библиотек в вашей директории C:\windows\system и поэкспериментируйте настройками очередности загрузки DLL в командной строке, либо в файле конфигурации.5.1.5. Проверьте рабочее окружение!
Еще идея: не может ли рабочее окружение Wine быть испорченным? Убедитесь, что все в порядке с пакетами, от которых зависит работа Wine (gcc, glibc, X libraries, OpenGL (!), . ).5.1.6. Используйте другой режим графического интерфейса
Проинструктируйте Wine посредством конфигурационного файла использовать либо desktop mode (режим рабочего стола), либо managed mode (управляемый режим), либо уродливый "нормальный" (normal) режим. Это тоже может помочь.5.1.7. Проверьте приложение!
Может быть, ваше приложение имеет защиту от копирования? Многие виды таких защит пока не работают под Wine. Некоторые, возможно, заработают в будущем. (Уровень CD-ROM до сих пор не полнофункционален).Идите на сайт GameCopyWorld и попытайтесь найти хороший крэк, который позволит снять защиту от копирования. Я надеюсь, что у вас легальная копия программы, но кто знает. :-)
5.1.8. Измените окружение Wine
Запуск приложения при наличии Windows раздела может драматически отличаться от такового при отсутствии Windows раздела. Настройте Wine на действия, противоположные тому, что были обычно. Также установите DCOM98 или DCOM95. Это может быть очень полезно.5.1.9. Переконфигурируйте Wine
Иногда процесс инсталляции Wine изменяется, и новые версии Wine считаются с этими изменениями. Это особенно вероятно, если ваша установка произведена давно. Переименуйте директорию/.wine с целью резервного копирования. Запустите процесс установки, рекомендованный для вашей версии Wine, чтобы создать новую конфигурацию. Для сравнения используйте старую директорию
/.wine. Для установок Wine из исходников применяйте для конфигурации Wine скрипт tools/wineinstall от имени пользователя. Это вполне безопасная операция. Позже вы сможете удалить новую директорию
/.wine, и переименовать обратно старую.
5.1.10. Следите за сторонней информацией
Весьма возможно, что кто-то уже делал то, что вы пытаетесь проделать сейчас. Вам могут помочь следующие ресурсы:Просмотрите WineHQ's Application Database в поисках подсказок, относящихся к вашей программе. Если ваша конкретная версия программы отсутствует в списке, просмотрите сходные версии, возможно там достаточно информации.
Frank's Corner имеет список приложений с детальными инструкциями по их установке. Дальнейшая помощь может найтись на форумах пользователей.
Может помочь Google , если уметь им пользоваться. Полезно бывает искать в Google Groups , конкретно в группе comp.emulators.ms-windows.wine
Если ваша программа требует Visual Basic Runtime Environment, то вы можете загрузить его с этого сайта Микрософт .
Рассылочный лист Wine также может помочь, особенно wine-users. Лист wine-devel может быть полезен в зависимости от типа ваших затруднений. если вы пишете в wine-devel, то готовьтесь проделать некоторую работу по диагностике проблемы. Читайте следующий раздел, чтобы узнать, как определить источник ваших трудностей.
Если все усилия напрасны, стоит просмотреть коммерческие версии Wine на предмет поддержки вашего приложения.
5.1.11. Ищите причину!
Следующим шагом, который стоит предпринять, является поиск причины проблемы. Спектр возможных причин весьма широк - от простой ошибки в конфигурации до полной неработоспособности Wine. Следующий раздел описывает, как создать файл с отчетом об ошибке, и как начать искать неисправность. Отладочные возможности Wine описываются в Wine Developers Guide (руководство для разработчиков).5.2. Как послать отчет об ошибке.
Пожалуйста, сообщайте об ошибках и сопутствующую информацию на сайт Wine Bugzilla . Пожалуйста, просматривайте базу данных Bugzilla, чтобы выяснить, не было ли уже отчетов по данной проблеме. Если таковые уже были, пожалуйста, добавляйте вашу информацию к первоначальному отчету.5.2.1 Отчеты об ошибках
Вот несколько простых советов, как сделать ваш отчет более содержательным, и тем повысить вероятность ответа и исправления ошибки:1. Включите как можно больше информации, относящейся к делу.
Это означает, что нам нужно больше информации, чем просто: "Мой MS Word "падает", когда бы я его не запускал. Вы не знаете, почему?". Добавьте, как минимум, следующую информацию:
-
Какую версию Wine вы используете (команда: wine --version)
2. Прогоните программу с переменной окружения WINEDEBUG. Например, WINEDEBUG=+relay wine sol.exe
Это приведет к выводу на консоль дополнительной информации, которая может быть полезна при отладке программы. Также это замедлит воспроизводство программы. Бывают случаи, когда ошибка, по-видимому, исчезала при использовании опции +relay. Укажете это в вашем отчете.
5.2.2. Аварийное завершение программы
Если Wine аварийно отказывает во время выполнения вашей программы, нам важно иметь информацию об этом, чтобы попытаться понять причину отказа. Отчет может занимать много места (несколько Мб), но все же лучше сохранить его в файле. Когда появится приглашение Wine-dbg> , напечатайте quit.Вы можете попробовать +relay,+snoop вместо +relay, но, пожалуйста, помните, что +snoop довольно нестабилен и часто вызывает отказ раньше, чем просто +relay!! Отчет с отказом в коде +snoop в большинстве случаев бесполезен! Можно также подключать другие параметры, в зависимости от природы проблемы, которую вы исследуете. Для получения полного списка параметров смотрите man-страницу к Wine.
Для того чтобы вывести запись с историей событий (трассировочный лог), используйте один из следующих методов:
5.2.2.1 Простой путь
1. Этот метод позволяет даже полному новичку получить качественный трассировочный лог событий, приведших к аварийному завершению программы.Чтобы воспользоваться этим методом, на вашем компьютере должен быть установлен язык программирования perl. Чтобы узнать, есть ли он у вас, наберите команду: which perl. Если ответ нечто вроде: /usr/bin/perl, то вы можете работать. В противном случае переходите к разделу "Трудный путь". Если вы не уверены, все-таки проделайте работу. Когда вы попытаетесь запустить скрипт, то станет весьма очевидно, если у вас не установлен perl.
2. Смените директорию на /путь-к-wine>/tools.
3. Наберите: ./bug_report.pl и следуйте указаниям.
4. Пошлите отчет на сайт Wine Bugzilla . Пожалуйста, просмотрите базу данных сайта, чтобы убедиться, что ваша проблема еще не зафиксирована, прежде чем отправлять отчет. Составьте детальное описание проблемы с сопутствующей информацией. Прикрепите "Прекрасно оформленный трассировочный лог" к письму. Не вставляйте лог в текст отчета - он слишком велик. Сохраняйте полную копию трассировочного лога, на случай, если он понадобится разработчикам Wine.
5.2.2.2. Трудный путь
Чаще всего только последние 100 (или около того) строчек трассировочного лога нужны, чтобы выяснить, где программа аварийно завершилась. Для того чтобы получить эти последние 100 строк, мы должны проделать следующее:2. Отделить последние 100 строк в другой файл при помощи команды: tail.
Это можно проделать одним из следующих способов.
Для всех шеллов (оболочек):
$ echo quit | WINEDEBUG=+relay wine [other_options] program_name >& filename.out; $ tail -n 100 filename.out > report_file
tcsh и другие csh-подобные шеллы:
$ WINEDEBUG=+relay wine [other_options] program_name |& tee filename.out; $ tail -n 100 filename.out > report_file
bash и другие sh-подобные шеллы:
$ WINEDEBUG=+relay wine [other_options] program_name 2>&1 | tee filename.out; $ tail -n 100 filename.out > report_file
Файл report_file теперь содержит последние сто строк вывода отладчика включая register dump и backtrace, которые являются самыми ценными массивами информации. Пожалуйста, не удаляйте эту часть, даже если не понимаете, что она означает.
Пошлите отчет на Wine Bugzilla . Необходимо прикрепить файл report_file. Вместе с относящейся к делу информацией, о том, как вы его создали. Не вставляйте текст файла в текст самого отчета об ошибкt - он довольно велик и спутает отчет. Если вы правильно проделаете всю эту процедуру, ваши шансы на получение ответа с помощью довольно велики.
У кого-нибудь есть другие варианты?
Мне удалось собрать 64-разрядную версию Wine из исходного кода на macOS Catalina и успешно запустить на ней 64-разрядную версию Notepad ++.
Мои шаги были примерно такими:
Эти шаги могут быть не совсем точными, поскольку я не уверен, что я что-то пропустил, но надеюсь, что это кому-то поможет.
Вы также можете попробовать коммерческое программное обеспечение CrossOver от CodeWeavers, которое предоставляет вино, поддерживающее 32-битные приложения на Catalina. Вы можете бесплатно скачать пробную версию и бесплатно протестировать ее в течение 14 дней. Также, вероятно, 32-битные приложения в какой-то момент будут поддерживаться нормальной бесплатной версией Wine.
РЕДАКТИРОВАТЬ:
На Catalina вы можете использовать homebrew установить либо wine-stable или wine-devel (чтобы увидеть все доступные параметры, запустите brew search wine ):
На момент написания wine-stable все еще было слишком глючным, поэтому я пошел вместо wine-devel :
Это установит /usr/local/bin/wine64 вместе с зависимостями.
Теперь вы должны иметь возможность запускать свои 64-битные исполняемые файлы PE примерно так:
ПРИМЕЧАНИЕ: ❗️ wine64 будем только работать с 64-битными исполняемыми файлами. Вам также необходимо убедиться, что ваш винный префикс 64-битный. Если вы ранее использовали 32-битный винный префикс (со времен до Каталины), убедитесь, что вы удалили / переименовали свой старый
/.wine папка перед запуском wine64 .
Также имейте в виду, что winecfg ушел, и попытка запустить его вызовет ошибку - используйте вместо этого wine64 winecfg .
Не по теме: Если вам нужно запустить что-то более сложное, чем простые 64-битные или 32-битные приложения, подумайте об использовании Boot Camp или VirtualBox для максимальной совместимости.
В настоящее время Wine по-прежнему требует 32-битного кода для запуска 32-битного программного обеспечения Windows, что является проблемой для Catalina (которая почти полностью отказалась от поддержки 32-битного кода) и не может быть решена простой перекомпиляцией. Wine можно использовать только для некоторых 64-битных программ Windows.
CodeWeavers, который разрабатывает CrossOver и, как расширение, Wine, разработал решение для 32-битного программного обеспечения, и они опубликовали некоторые обновления в своем блоге об этом.
- Празднование трудного; выпуск CrossOver 19
- CrossOver 19 успешно развивается и сейчас находится в стадии бета-тестирования!
- Анонс первой альфа-версии CrossOver 19 для macOS Catalina
- Быстрое обновление Каталины
- CrossOver для Catalina Progress
- Итак, у нас нет решения для Каталины . пока
В настоящее время эти изменения доступны только в их коммерческом продукте CrossOver, но, очевидно, они выпускают исходный код для каждой выпускаемой версии.
Это обсуждалось на WineConf. Александр дал понять, что решение Codeweavers - это взлом, который не будет принят в ветку разработки Wine. Долгосрочным решением для Wine является переход с ELF на PE. Работа над этим уже началась, но не будет завершена в ближайшее время. Когда я попросил Александра дать оценку, он сказал, что он определенно не будет готов для Wine 5.0, но может быть готов для Wine 6.0.
Codeweavers заявили, что намерены выпустить свой код Catalina под лицензией свободного программного обеспечения, так что любой, кто хочет скомпилировать Wine с его помощью, может, но в настоящее время никто не вызвался поддерживать этот код.
Далее они сказали:
Новый исправленный clang / llvm добавил -mwine32 (и некоторые другие дополнения) с использованием этого флага вместо обычного -m32, и llvm будет выполнять тяжелую работу по созданию транкингового кода.
Перемещение вина в PE происходит по разным причинам. Простая причина, по которой Windows использует PE-файлы, а не ELF-файлы, поэтому любые проверки на Wine не будут выполнены в основном из-за заглушек DLL-файлов, которые ссылаются на настоящий ELF.
Читайте также: