Нужна помощь в том, чтобы Wine правильно работал на моем компьютере.

Вопрос или проблема

Я пытался в течение нескольких часов заставить свою установку Wine работать безуспешно.

В данный момент я на Ubuntu 22.04 с установленным wine 6.0.3 (из официальных репозиториев Ubuntu) Каждый раз, когда я пытаюсь открыть что-либо, кроме встроенных программ Wine, я получаю либо

"0024:err:mscoree:expect_no_runtimes Процесс завершился с загруженной средой выполнения Mono." (в Celeste 1.4)

или "0024:err:process:exec_process L"Z:\\home\\anthony\\Documents\\Games\\The Binding of Isaac Rebirth Repentance v1.7.8a\\isaac-ng.exe" не поддерживается в этой системе"(в The Binding of Isaac)

Я довольно уверен, что сами программы не виноваты, так как мне удалось запустить их до того, как мне пришлось переустановить свою ОС по другим причинам.

Я уже гуглил эти проблемы и поэтому пытался

- переключить WINEPREFIXES с разными архитектурами (пробуя 32-битный wine и 64-битный wine)
- Переустановить wine через репозитории winehq
- Я даже попытался установить wine на чистую установку Ubuntu, чтобы убедиться, что моя ОС не виновата в этом

Есть ли у кого-нибудь идея, в чем может быть проблема? Любая попытка помочь будет очень признательна, спасибо заранее 😀

Дополнение: Итак, я послушал комментарий и установил wine-mono, теперь я получаю другие ошибки

для celeste: Необработанное исключение: System.TypeInitializationException: Инициализатор типа 'Celeste.Celeste' вызвал исключение. ---> System.DllNotFoundException: SDL2.dll сборка:<неизвестная сборка> тип:<неизвестный тип> член:(null) в (обертка управляемый-к-нативный) SDL2.SDL.INTERNAL_SDL_GetPlatform() в SDL2.SDL.SDL_GetPlatform () [0x00000] в <4c19a1a736204d189ba94c3bc07cd4ac>:0 в Celeste.Celeste..cctor () [0x00006] в <d7b2abb405ec4c97954549f0a02e4a41>:0 --- Конец трассировки внутреннего исключения --- [ERROR] ФАТАЛЬНОЕ НЕОБРАБОТАННОЕ ИСКЛЮЧЕНИЕ: System.TypeInitializationException: Инициализатор типа 'Celeste.Celeste' вызвал исключение. ---> System.DllNotFoundException: SDL2.dll сборка:<неизвестная сборка> тип:<неизвестный тип> член:(null) в (обертка управляемый-к-нативный) SDL2.SDL.INTERNAL_SDL_GetPlatform() в SDL2.SDL.SDL_GetPlatform () [0x00000] в <4c19a1a736204d189ba94c3bc07cd4ac>:0 в Celeste.Celeste..cctor () [0x00006] в <d7b2abb405ec4c97954549f0a02e4a41>:0

для Isaac(при запуске через ui): неправильный exe-формат для

для Isaac(при запуске через терминал): Приложение не могло быть запущено или с указанным файлом не ассоциировано ни одно приложение. ShellExecuteEx не удался: Файл не найден.

Сообщение об ошибке говорит вам, что отсутствует .NET Framework и его нужно установить.

Версия Wine для .Net – это Mono, описанная как:

Mono — это общедоступная и кросс-платформенная реализация .NET Framework. Wine может использовать сборку Mono для Windows для запуска приложений .NET.

Пакет называется wine-mono и может находиться в вашем репозитории.

Если его нет, вы можете найти установщик wine-mono.msi на официальном сайте WineHQ. Но в этом случае вам также стоит установить последнюю стабильную версию Wine с WineHQ.

Ответ или решение

Введение

Если вы сталкиваетесь с проблемами при запуске приложений через Wine на Ubuntu 22.04, знайте, что эта проблема может быть решена. В этой статье мы шаг за шагом рассмотрим возможные причины проблем и методы их устранения, начиная с проверки совместимости Wine, установки необходимых компонентов и настройки среды.

Основные проблемы и их решения

  1. Версия Wine и совместимость

    • Убедитесь, что вы используете последнюю стабильную версию Wine. Ваша текущая версия — 6.0.3, что может быть недостаточно актуально для некоторых приложений. Рекомендуется установить последнюю версию Wine с официального сайта WineHQ.
    • Для установки:
      sudo dpkg --add-architecture i386
      sudo apt update
      sudo apt install --install-recommends winehq-stable
  2. Настройка WINEPREFIX

    • Убедитесь, что вы создаете отдельные префиксы Wine для разных архитектур (32-битные и 64-битные) и не меняете их без необходимости.
    • Для создания нового префикса:
      WINEPREFIX=~/newprefix winecfg
  3. Установка необходимых библиотек

    • Ошибки, такие как System.DllNotFoundException: SDL2.dll, указывают на отсутствие библиотеки, необходимой для работы приложения. Убедитесь, что библиотеки SDL2 установлены.
    • Для установки SDL2 можно использовать:
      sudo apt install libsdl2-2.0-0
  4. Установка Wine Mono

    • Некоторые приложения могут требовать Wine Mono для работы с .NET. Вы уже устанавливали wine-mono, что является правильным шагом.
    • Убедитесь, что Wine Mono установлен корректно. Для этого можно попробовать переустановить его:
      wget https://dl.winehq.org/wine/wine-mono/msi/wine-mono-current.msi
      msiexec /i wine-mono-current.msi
  5. Ошибки формата исполняемого файла

    • Когда вы получаете сообщение об ошибке формата exe, это может означать, что вы пытаетесь запустить 64-битное приложение в 32-битной версии Wine или наоборот. Убедитесь, что архитектура вашего WINEPREFIX соответствует архитектуре запускаемого приложения.
  6. Ошибки при запуске из терминала

    • Если вы видите сообщение: Application could not be started, or no application associated with the specified file. ShellExecuteEx failed: File not found., это может указывать на неподдерживаемый путь или неправильные права доступа к исполняемым файлам. Убедитесь, что путь к исполняемому файлу корректен и он имеет права на выполнение:
      chmod +x /path/to/your/executable.exe

Заключение

Проблемы с Wine могут возникать по разным причинам, начиная от недостатка библиотек и заканчивая неправильными настройками среды. Применив предложенные шаги по устранению неполадок, вы сможете настроить Wine для работы с «Celeste» и «The Binding of Isaac». Помните, что обращение к сообществу WineHQ может также помочь вам получить дополнительную информацию и поддержку от опытных пользователей.

Оцените материал
Добавить комментарий

Капча загружается...