У меня 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 — ваше фактическое имя пользователя.
Решение:
Создайте подкаталоги
(Метод «укажи и щелкни»)
Открыть домашнюю папку
Открыть .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 чувствителен к регистру, поэтому введите его именно так, как показано
Дважды щелкните исполняемый файл JRE (я использовал 32-битную версию, но думаю, что 64-битная тоже подойдет. Обязательно проверьте сайт winehq и свою версию Ubuntu, чтобы убедиться)
Установите :)
Важность/Релевантность
Поскольку некоторые программы специфичны для Windows и лишь частично используют Java, я обнаружил, что мне все еще нужно решение этой проблемы. Поэтому я предоставил вышеупомянутую процедуру для решения проблемы.
Ссылка
решение2
Для запуска лаунчера Minecraft на Ubuntu вам не понадобится Wine, просто сделайте следующее
- Загрузите и сохраните jar-файл с сайта Minecraft.
https://s3.amazonaws.com/MinecraftDownload/launcher/minecraft.jar - Установите «OpenJDK Java 7» из Центра программного обеспечения.
- Найдите файл .jar и перейдите на вкладку «Разрешения» в свойствах.
- Нажмите «разрешить выполнение файла как программы».
- Перейдите на вкладку «Открыть с помощью» и установите «OpenJDK Java 7 Runtime» в качестве значения по умолчанию.
- Нажмите на 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
. Мой пользовательский профиль просто блокирует несколько дополнительных вещей и виртуализирует фальшивую домашнюю папку.