Почему не работает wine на mac

Как заставить Wine работать на Catalina?

Андреа Бочелли — Por ti volare

После обновления до Catalina Wine вообще не работает. Когда я пытаюсь запустить приложение Wine Stable, я получаю следующее сообщение:

«Wine Stable.app» необходимо обновить. Разработчику этого приложения необходимо обновить его для работы с этой версией macOS. Свяжитесь с разработчиком для получения дополнительной информации.

Судя по форуму winehq.org, мой единственный вариант — вернуться к Мохаве или найти где-нибудь другой Mac, ни один из этих вариантов я бы не хотел использовать.

У кого-нибудь есть другие варианты?

  • Похоже, что WINE необходимо скомпилировать для 64-битной версии, чтобы он был совместим с Catalina, что, вероятно, непросто. Но вы видели этот distrita.com/wine-2-0-released-with-macos-64-bit-support ?? Похоже, кто-то уже сделал этот вок
  • Я думаю, что это с 2017 года, и это означает, что он поддерживает 64-битные приложения, а не сам является полностью 64-битным (что имеет смысл, поскольку многие приложения Windows 32-битные).
  • Поскольку Catalina отказывается от поддержки 32-битных приложений, запуск Wine — неудачная попытка. Я доволен Mojave, пока все третьи стороны, которые имеют для меня наибольшее значение, также не обновят свою кодовую базу.
  • Лично мне нравится смешивать Каталину с вином.

Мне удалось собрать 64-разрядную версию Wine из исходного кода на macOS Catalina и успешно запустить на ней 64-разрядную версию Notepad ++.

Мои шаги были примерно такими:

  1. Загрузите Wine 4.20 с https://dl.winehq.org/wine/source/4.x/wine-4.20.tar.xz
  2. Извлеките это
  3. В терминале перейдите в извлеченный каталог
  4. Бегать: ./configure —enable-win64
  5. Он показал, что не может найти bison, поэтому я установил его с помощью macports (sudo port install bison).
  6. После того, как я смог бежать ./configure —enable-win64 успешно без ошибок при запуске терминала: make
  7. Он скомпилирован более чем через 30 минут.
  8. Я запускаю его с помощью: ./wine start
  9. Он открыл консоль Windows, и здесь я смог записать компакт-диск в 64-битный каталог Notepad ++ (загружен с https://notepad-plus-plus.org/repository/7.x/7.0/npp.7.bin.x64.zip, обратите внимание, что последняя версия не работала и выкидывала ошибки в некоторых dll)
  10. Я набрал блокнот ++, чтобы запустить exe-файл
  11. Он показал некоторые ошибки, касающиеся шрифтов freetype, поэтому я установил их с помощью macports, и мне пришлось скопировать их из / opt / X11 / lib в / usr / local / lib до того, как вино обнаружило их
  12. После исправления проблемы со шрифтами freetype я смог запустить блокнот ++
  13. Кроме того, вы можете запустить: sudo spctl —master-disable отключить привратник, если вы увидите некоторые системные предупреждения о загрузке приложения от неизвестного разработчика.
  14. Также обратите внимание, что вместо ./wine start Вы можете запустить ./wine explorer для графического файлового менеджера вместо консоли

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

Также обратите внимание, что, очевидно, Wine на macOS Catalina сможет запускать только некоторые 64-битные приложения Windows, а все 32-битные приложения Windows не будут работать. Я также тестировал его с помощью IrfanView 64 бит (https://www.fosshub.com/IrfanView.html?dwl=iview453_x64_setup.exe), и он также отлично работает.

Если вы хотите, чтобы Wine работал для запуска 32-битных игр, то, к сожалению, он не будет работать с вином, но вы можете попробовать с VirtualBox. Вы можете проверить https://www.youtube.com/watch?v=3AO8dF0vviQ некоторые советы по повышению производительности (вкратце: использование виртуальной машины с отключенной сетчаткой, настройка VboxVGA, отключенная интеграция с мышью, ограничение FPS с помощью RivaTuner).

Вы также можете попробовать коммерческое программное обеспечение CrossOver от CodeWeavers, которое предоставляет вино, поддерживающее 32-битные приложения на Catalina. Вы можете бесплатно скачать пробную версию и бесплатно протестировать ее в течение 14 дней. Также, вероятно, 32-битные приложения в какой-то момент будут поддерживаться нормальной бесплатной версией Wine.

РЕДАКТИРОВАТЬ:

С июля 2020 года PlayOnMac (https://www.playonmac.com/en/) снова работает на macOS Catalina, поэтому вы можете загрузить его и запускать с его помощью приложения для Windows, что, на мой взгляд, намного проще. Хорошей новостью является то, что он также поддерживает запуск 32-битных приложений Windows на macOS Catalina. Установка приложений с его помощью немного сложнее, чем с коммерческим CrossOver, но он бесплатный и работал с двумя приложениями, которые я тестировал. Я проверил это с помощью Notepad ++ 32bit и с 32-битной игрой Tomb Raider Anniversary Demo, и мне удалось заставить оба приложения работать на macOS Catalina. Также мне удалось установить приложение RivaTuner 7.2.3 (с winetrick dotnet35 и ручной установкой распространяемого пакета Visual C ++ 2008), чтобы ограничить FPS в игре, что я рекомендую, если кто-то хочет ограничить использование процессора и вентилятора процессора.

  • 1 Я пробовал это, но продолжаю получать Segmentation fault: 11 когда пытаюсь запустить что-нибудь с вином 🙁
  • Если у вас проблема с зубром: stackoverflow.com/a/56513192/2360439
  • Ошибка при lauchinch wine «0012: err: wineconsole: WINECON_Fatal Не удалось найти подходящий шрифт, прерывается», как установить шрифты?
  • @JosefVancura Я точно не помню, но думаю на шаге 11. Я установил их с помощью «sudo port install freetype» (и после этого скопировал их из / opt / X11 / lib в / usr / local / lib)
  • После всех сумасшедших обходных путей, описанных выше для Bison, компилятор завершен, и попытка запустить Wine дает мне could not locate the Wine build tree

На 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 для максимальной совместимости.

  • 2 Спасибо, проблема с установкой решена.

В настоящее время 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, но, очевидно, они выпускают исходный код для каждой выпускаемой версии.

Согласно сообщению модератора на forum.winehq.org, решение CodeWeavers, скорее всего, не будет объединено с официальным Wine. Я бы отнесся к тому, что они говорят, с долей скептицизма, потому что то, что они говорят о ELF против PE (или Mach-O против PE в случае macOS), на самом деле не кажется непосредственно применимым к рассматриваемой проблеме.

Это обсуждалось на 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.

Источник

HackWare.ru

Этичный хакинг и тестирование на проникновение, информационная безопасность

Полное руководство по Wine: от установки до примеров использования

Оглавление

Для чего Wine

Эта инструкция расскажет об использовании Wine. Данные советы по использованию применимы как к Kali Linux, так и к любому другому дистрибутиву Linux.

С помощью Wine можно запускать программы Windows прямо на Linux без использования виртуальных компьютеров. Если говорить о Kali Linux, то одним из интересных примеров является программа Router Scan by Stas’M, которая прекрасно работает через Wine (находит и взламывает роутеры, но не работают функции, связанные с использованием Wi-Fi адаптера).

Итак, 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/11 и 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 программ» и затем нажмите кнопку «Выбрать».

Обратите внимание, насколько экономно используется оперативная память — для работы Router Scan by Stas’M в Kali Linux нужен всего 1 мегабайт оперативной памяти. Если бы для запуска этой программы мы устанавливали Windows в виртуальную машину, то потребовалось бы несколько гигабайт для работы ОС. К тому же, при использовании Wine необязательно, чтобы процессор поддерживал виртуализацию — в отличие от VirtualBox и других аналогичных способов запуска виртуальных компьютеров.

Запуск в командной строке

Поскольку программы 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 (Wine File Manager)

Если вы предпочитаете использовать графический интерфейс для управления файлами, возможно, вам стоит рассмотреть возможность использования winefile. Это приложение Winelib поставляется с Wine и может быть найдено с другими программами Wine. Это полезный способ просмотреть конфигурацию вашего диска и найти файлы, а также вы можете запускать программы прямо из Winefile. Обратите внимание, что многие функции ещё не реализованы.

Чтобы его открыть выполните:

Как в Wine File Manager настроить Избранное (Favorites) и добавить папки

Wine File Manager это аналог проводника Windows. Его можно открыть командой

Там вы можете увидеть несколько ярлыков и диски.

Среди ярлыков вы найдёте:

  • My Computer
  • Documents
  • Trash
  • / (корень файловой системы Linux)

В My Computer собраны все диски, подключённые к Linux. Диск «C:» это то, что размещено в папке

/.wine/drive_c/. Диск «Z:» – это корневой диск файловой системы Linux. Другие буквы — это подключённые к Linux флешки и диски.

Корневым элементов ярлыков является Desktop, то есть рабочий стол. Имеется ввиду рабочий стол Linux, а не Windows.

То есть если вы хотите, чтобы в Wine File Manager была видна новая папка, то создайте её на рабочем столе вашего Linux, например:

В эту папку вы можете скопировать любые файлы для быстрого доступа.

Также вы можете создавать ярлыки в этой папке на файлы и программы как в файловой системе Wine, так и за её пределами.

Команда для создания ярлыка:

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

/Desktop/Favorites/ ссылку на файл

Чтобы добавить папки «Загрузки», «Видео», «Музыка» рядом с папкой «Документы» в дерево папок проводника Explorer вы можете создать соответствующие ссылки:

Если вы хотите изменить буквы дисков, то запустите Wine configuration:

И перейдите на вкладку Drives для настройки отображения дисков в Wine File Manager:

Как в 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».

Источник

Mac OS X Hints
Adblock
detector