Eu tenho um Windows file.exe
e preciso do Wine e do Java para abri-lo. Não sei como instalar o Java no Wine. Quando tento abrir a configuração do Java, ele diz
Wrapper.CreateFile failed with error 32: Sharing Violation.
E também diz
Wrapper.CreateFile failed with error 123: Invalid name. Please Help.
Responder1
Eu descobri o problema e encontrei a solução (veja abaixo).
O problema
Um diretório do Windows precisa existir:
C:\Users\USERNAME\appdata\LocalLow\Sun
Na sua caixa, você tem a seguinte estrutura de diretórios, provavelmente:
/home/USERNAME/.wine/drive_c/users/USERNAME/
*Onde USERNAME é o seu nome de usuário real
A solução:
Faça os subdiretórios
(Método de apontar e clicar)
Abrir pasta inicial
Abrir .wine
Abrir drive_c
Abrir usuários
Criar pasta appdata
Abrir appdata
Criar pasta LocalLow
Abrir LocalLow
Criar pasta Sun(Console/Terminal)
cd /home/`whoami`/.wine/drive_c/users/`whoami`/ mkdir -p appdata/LocalLow/Sun
*NOTA: appdata/LocalLow/Sun diferencia maiúsculas de minúsculas, então digite exatamente como é mostrado
Clique duas vezes no executável JRE (usei 32 bits, mas acredito que 64 bits também funciona. Verifique o site do winehq e sua versão do Ubuntu para ter certeza)
Instale agora :)
Importância/Relevância
Como existem alguns programas específicos do Windows e que usam Java apenas parcialmente, descobri que ainda precisava de uma solução para esse problema. Portanto, forneci o procedimento mencionado acima para resolver o problema.
Referência
Responder2
Você não precisa do wine para executar o inicializador do Minecraft no Ubuntu, basta fazer o seguinte
- Baixe e salve o arquivo jar no site do Minecraft.
https://s3.amazonaws.com/MinecraftDownload/launcher/minecraft.jar - Instale "OpenJDK Java 7" do centro de software.
- Localize o arquivo .jar e vá para a guia de permissões nas propriedades.
- Clique em "permitir execução de arquivo como programa".
- Vá para a guia "Abrir com" e defina "OpenJDK Java 7 Runtime" como padrão.
- Clique no arquivo jar e você poderá começar a jogar Minecraft no Ubuntu :)
Responder3
Como recentemente precisei fazer isso para um utilitário de modding, decidi adicionar uma atualização de 2023 para isso (principalmente para o benefício de qualquer entrada nos mecanismos de pesquisa). E não, eu não estava jogando Minecraft, concordo com a resposta de Cody.
No meu caso, eu estava brincando com a versão GOG do Morrowind e queria que o gerenciador de mods Mod Organizer 2 (exe) abrisse oEsp-QuickEditorarquivo jar. Este gerenciador de mod cria um sistema de arquivos virtual e você precisa iniciar qualquer aplicativo de dentro do gerenciador de mod para ver o referido sistema de arquivos virtual. Portanto, usar o jre instalado no meu sistema não seria adequado para este caso de uso específico. Provavelmente também devo observar que estou no Fedora (Fedora 38 + wine-8.17 Staging no momento em que escrevo), mas essas etapas devem ser independentes da distribuição, pelo que eu saiba.
Além disso, eu fizNÃOtenho que criar a pasta drive_c/users/$USERNAME/appdata/LocalLow/Sun
conforme sugerido pela outra resposta - ela foi criada automaticamente pelo instalador. Da mesma forma, eu fizNÃOprecisa usar winxp
conforme sugerido poro aplicativo winehqdb(Eu executei WINEPREFIX=/path/to/my/prefix winetricks win10
antes de instalar o jre).
Primeiro, tentar executar o instalador normalmente causará um erro conforme mencionado pelo autor da postagem original. Isso ainda não mudou em outubro de 2023/jre1.8.0_381 (não me lembro se foi o mesmo erro; acho que foi outra coisa para mim, na verdade, mas lembro que executá-lo normalmente não estava funcionando )
1. Baixei o "jre-8u381-windows-x64.exe" instalado offline e copiei-o para uma pasta temporária sob meu prefixo (por exemplo drive_c/temp
, ).
No momento em que este artigo foi escrito, esse era o link "Windows Offline (64 bits)" nesta página:https://www.java.com/en/download/manual.jsp
2. Supondo que se eu fizesse uma instalação silenciosa, não seria necessário desenhar uma interface gráfica (e, portanto, haveria menos coisas que poderiam falhar) e que se eu pudesse desligar outros recursos - como a análise - haveria haver ainda menos coisas que possam falhar, dei uma olhada nas opções do instalador documentadasaquieaquie usei isso para criar um arquivo de configuração para o instalador.
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. Em seguida executei a instalação com firejail + wine como uma instalação silenciosa com o arquivo de configuração, ignorando quaisquer erros no terminal
/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'
Se você não usa firejail*, então seria:
/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. Depois disso, verifiquei se o instalador extraiu os arquivos conforme drive_c/java/jre/bin
especificado no arquivo de configuração. Consegui então iniciar o arquivo jar com sucesso no firejail + wine usando
/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'
Se você não usa firejail*, então seria:
/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'
* Para quem não está familiarizado com o firejail, é um programa de sandbox de segurança. sou --profile=custom12
eu apontando uma versão modificada do wine
perfil que vem com o pacote (pelo menos no Fedora); você pode substituí-lo --profile=wine
ou escrever seu próprio perfil personalizado e colocá-lo no formato ~/.config/firejail
. Meu perfil personalizado apenas bloqueia algumas coisas extras e virtualiza uma pasta pessoal falsa.