Как установить Java в Wine?

Как установить Java в Wine?

У меня Windows file.exe, и мне нужны Wine и Java, чтобы открыть его. Я не знаю, как установить Java в Wine. Когда я пытаюсь открыть установку Java, он говорит:

Wrapper.CreateFile failed with error 32: Sharing Violation. 

И там также говорится:

Wrapper.CreateFile failed with error 123: Invalid name. Please Help.

решение1

Я обнаружил проблему и нашел решение (см. ниже).

Проблема

Должен существовать каталог Windows:

C:\Users\USERNAME\appdata\LocalLow\Sun

На вашем компьютере, скорее всего, имеется следующая структура каталогов:

/home/USERNAME/.wine/drive_c/users/USERNAME/

*Где USERNAME — ваше фактическое имя пользователя.

Решение:

  1. Создайте подкаталоги

    (Метод «укажи и щелкни»)

    Открыть домашнюю папку
    Открыть .wine
    Открыть drive_c
    Открыть users
    Создать папку appdata
    Открыть appdata
    Создать папку LocalLow
    Открыть LocalLow
    Создать папку Sun

    (Консоль/Терминал)

    cd /home/`whoami`/.wine/drive_c/users/`whoami`/
    mkdir -p appdata/LocalLow/Sun
    

    *ПРИМЕЧАНИЕ: appdata/LocalLow/Sun чувствителен к регистру, поэтому введите его именно так, как показано

  2. Дважды щелкните исполняемый файл JRE (я использовал 32-битную версию, но думаю, что 64-битная тоже подойдет. Обязательно проверьте сайт winehq и свою версию Ubuntu, чтобы убедиться)

  3. Установите :)

Важность/Релевантность

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

Ссылка

решение2

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

  1. Загрузите и сохраните jar-файл с сайта Minecraft.
    https://s3.amazonaws.com/MinecraftDownload/launcher/minecraft.jar
  2. Установите «OpenJDK Java 7» из Центра программного обеспечения.
  3. Найдите файл .jar и перейдите на вкладку «Разрешения» в свойствах.
  4. Нажмите «разрешить выполнение файла как программы».
  5. Перейдите на вкладку «Открыть с помощью» и установите «OpenJDK Java 7 Runtime» в качестве значения по умолчанию.
  6. Нажмите на jar-файл, и вы сможете начать играть в Minecraft на Ubuntu : )

решение3

Так как мне недавно нужно было сделать это для утилиты моддинга, я решил добавить обновление 2023 года для этого (в основном для удобства любого, кто забредет из поисковых систем). И нет, я не играл в Minecraft, я согласен с ответом Коди на этот счет.

В моем случае я играл с GOG-версией Morrowind и хотел, чтобы менеджер модов Mod Organizer 2 (exe) открывалEsp-QuickEditorjar-файл. Этот менеджер модов создает виртуальную файловую систему, и вам нужно запустить любое приложение из менеджера модов, чтобы оно увидело эту виртуальную файловую систему. Следовательно, использование установленного в моей системе jre не подойдет для этого конкретного случая использования. Вероятно, мне следует также отметить, что я использую Fedora (Fedora 38 + wine-8.17 Staging на момент написания статьи), но эти шаги должны быть независимы от дистрибутива, насколько мне известно.

Также я сделалНЕТпридется создать папку, drive_c/users/$USERNAME/appdata/LocalLow/Sunкак предложено в другом ответе - она ​​была создана автоматически установщиком. Точно так же я сделалНЕТнеобходимо использовать winxpкак предложеноприложение winehq(Я запускал WINEPREFIX=/path/to/my/prefix winetricks win10до установки jre).


Во-первых, попытка запустить установщик в обычном режиме выдаст ошибку, как и упомянул первоначальный автор. Это все еще не изменилось по состоянию на октябрь 2023 г. / jre1.8.0_381 (я не помню, была ли это та же самая ошибка; я думаю, что это было что-то другое для меня на самом деле, но я помню, что запуск в обычном режиме не работал)

1. Я загрузил автономную версию «jre-8u381-windows-x64.exe» и скопировал ее во временную папку под своим префиксом (например drive_c/temp, ).

На момент написания статьи это была ссылка «Windows Offline (64-bit)» на этой странице:https://www.java.com/en/download/manual.jsp

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

cd "$WINEPREFIX/drive_c/temp"
printf '%s\n' STATIC=1 AUTO_UPDATE=Disable INSTALL_SILENT=Enable INSTALLDIR='C:\java\jre' NOSTARTMENU=Enable REBOOT=Disable REMOVEOUTOFDATEJRES=0 WEB_ANALYTICS=Disable WEB_JAVA=Disable > install.cfg
unix2dos install.cfg

3. Затем я запустил установку с помощью firejail + wine как тихую установку с файлом конфигурации, игнорируя любые ошибки на терминале.

/usr/bin/env WINEPREFIX="/path/to/my/prefix" /usr/bin/firejail --profile=custom12 --whitelist="/path/to/custom/prefix" /usr/bin/wine64 start /D"C:/temp" "jre-8u381-windows-x64.exe" /s /L 'C:\temp\java-install.log' 'INSTALLCFG=C:\temp\install.cfg'

Если вы не используете firejail*, то это будет:

/usr/bin/env WINEPREFIX="/path/to/my/prefix" /usr/bin/wine64 start /D"C:/temp" "jre-8u381-windows-x64.exe" /s /L 'C:\temp\java-install.log' 'INSTALLCFG=C:\temp\install.cfg'

4. После этого я проверил, что установщик извлек файлы в drive_c/java/jre/binто место, которое я указал в файле конфигурации. Затем я смог успешно запустить файл jar из-под firejail + wine, используя

/usr/bin/env WINEPREFIX="/path/to/my/prefix" /usr/bin/firejail --profile=custom12 --whitelist="/path/to/custom/prefix" /usr/bin/wine64 start /D"C:/java/jre/bin" "java.exe" -jar 'C:\temp\Esp-QuickEditor.jar'

Если вы не используете firejail*, то это будет:

/usr/bin/env WINEPREFIX="/path/to/my/prefix" /usr/bin/wine64 start /D"C:/java/jre/bin" "java.exe" -jar 'C:\temp\Esp-QuickEditor.jar'

* Для тех, кто не знаком с firejail, это программа-песочница безопасности. --profile=custom12Я указываю ей на измененную версию профиля wine, который идет с пакетом (по крайней мере, в Fedora); вы можете заменить ее --profile=wineили написать свой собственный пользовательский профиль и поместить его в ~/.config/firejail. Мой пользовательский профиль просто блокирует несколько дополнительных вещей и виртуализирует фальшивую домашнюю папку.

Связанный контент