Eu sempre usei, desde que entrei no mundo Linux, o WINE para rodar jogos e aplicações que não tem para Linux, restando somente os auto executáveis (.exe).
Porém, sinto um certo desconforto com os milhões e zilhões de coisas que o WINE te obriga a instalar, sem falar no tamanho colossal dele que pra mim é inútil (sou muito minimalista… talvez seja algo mais pessoal, mas não sei o motivo de tanto).
Sendo assim, existe algum software que faça as mesmas coisas que o Wine (inclusive rodar os .exe através do terminal usando ele) e que seja mais leve e mais versátil?
Não, o que o Wine faz é único. No máximo existem forks do Wine, mas para objetivos específicos como o Proton para rodar jogos.
Essa quantidade de arquivos que ele traz consigo é basicamente, o Windows. Entenda que para ele funcionar, ele precisa fazer o pareamento 1:1 de cada dll e arquivo do Windows, para traduzir em arquivos do Linux.
Mas acho que é uma preocupação atoa. Ele é grande, mas fica apenas em uma pasta.
O que ele faz é algo fora do padrão de um SO.
E por último, armazenamento é barato, não tem porque economizar.
Falando sobre WINE, sinto uma queda de performance (além de eu ter um note simples), por exemplo quando vou jogar MAFIA 1. Isso é normal devido a “tradução” do programa ou é alguma configuração do WINE?
Errado não está, carregar o conjunto de bibliotecas do Linux e em cima delas uma camada de compatibilidade para o Windows não é exatamente eficiente. Fora que “leve” e “versátil” são meio que opostos aqui, o Wine (e o Windows) carregam muitas coisas antigas que, apesar de serem redundantes com as coisas novas e multiplicarem o espaço em disco, são necessárias para rodar os vários aplicativos do Windows corretamente. Certeza que todos os usuários de Windows daqui têm no mínimo três versões do Visual C Runtime, especialmente os que jogam.
Técnicas para minimizar o Wine incluem:
“Thinning” do Wine com informações obtidas de um depurador (como strace), contando exatamente quais arquivos são abertos. Desvantagem: você tem que ter certeza que nunca mais vai instalar qualquer outro programa naquele prefixo do Wine, pois é certo que você removeu algo de que esse segundo programa dependeria.
Minimizar o número de Wineprefixes que você tem de uma vez.
Não é esta a questão… a questão é que eu apenas gostaria de saber se existe um substituto do WINE, já que meu notebook tem, atualmente, meros 4gb de memória livre.
Não existe um equivalente light para o Wine e meio que não vale a pena encanar com as coisas instaladas pelo Wine (os pacotes que vão pra raiz), faz diferença aquilo que fica residente na memória (ou seja, precisa ter disciplina na montagem do prefixo, pra ele carregar só aquilo que o programa precisa). De qualquer maneira, o que eu estou tentando dizer é que você pode ter um sistema bloated, mas ainda assim, repleto de programas leves.
Se você usa um ambiente desktop, cogite um gerenciador de janelas leve para usar, pelo menos, quando sabe que vai precisar usar muita coisa via Wine.
Talvez seria interessante reavaliar o navegador que você usa para acessar a Internet também, além de todos os outros programas. Navegadores baseados no motor do Chromium costumam consumir uma quantidade significativa de memória, o LibreOffice também consome uma quantidade significativa de memória.
Outra recomendação é avaliar a possibilidade de usar uma distribuição de 32 bits, pois a tendência será um menor consumo de memória.
Uma outra alternativa (talvez a única) vai depender muito do que você usa. São programas velhos? Se forem programas velhos (software legado usado da empresa, antigas versões do Office, coisas assim), avalie a possibilidade de virtualizar uma versão antiga do Windows.
A resposta curta para a sua pergunta é: não há.
A resposta longa conforme já foi citado por outros neste conversa, é que o Wine está fazendo um trabalho super complexo de criar uma camada de compatibilidade entre dois sistemas operacionais. Não há jeito simples de fazer isso.
O Wine 6 com seu novo formato de arquivos provavelmente irá ser mais eficiente com o uso do espaço, mas não espere grandes milagres.
A minha sugestão para você é: procure com calma por alternativas nativas aos softwares que hoje você utiliza via Wine, isso pode ser um pouco cansativo no começo, mas no longo prazo irá simplificar sua vida e tornar seu uso do computador muito mais simples.
Essa foto me lembrou que em 2004 ± eu usava um computador velho pentium 144 MHz e 40 MB de RAM como tocador de mp3 no quarto.
Esses dias atrás eu tinha um i5 de 2 GHz e 4 GB de RAM e não conseguia ouvir meia hora de música nesses serviços de streaming, pois eles usam electron e carregam o mundo inteiro pra fazer funcionar o DRM…
Essas coisas que o WINE te obriga a instalar, são dependências, por padrão sua distro suporta apenas apps 64 bits, então a maioria das dependências pra essa arquitetura estão pré-instalados, porém, o WINE é um app 32 bits, logo você precisa adicionar o suporte a apps 32 bits pra funcionar, se você reparar todas as dependências do WINE, incluindo as que você não instala por padrão, são aso mesmas que você já possui no sistema só que em 32 bits
Um sistema minimalista, não se define pela quantidade de pacotes, mas sim o quão granulados eles estão, o OpenSUSE (e outras distros RPM) por exemplo, tem menos pacotes (são menos granulados), mas em compensação te obrigam a ter mais coisas no sistema que o Debian por exemplo
O Tamanho geralmente não impacta tanto a menos que sua internet seja ruim, o que vai impactar é o uso de recursos como RAM, GPU e CPU, e ao contrario da crença popular, sistemas 32 bits só vão ter menos uso de recursos no uso de apps 32 bits, então se você trocar por uma distro 32 bits o consumo vai ser praticamente o mesmo
Via strace não funciona com prefixos WINE porque as syscalls do WINE mascaram, mas o próprio WINE dá a solução:
# Força o Wine a logar os arquivos acessados:
export WINEDEBUG="+file"
# Cria um arquivo de referência, pra saber a data de
# modificação dos arquivos
export arquivo_de_referencia="$(mktemp)"
# Lista os aruivos que o Wine acessou no Prefixo
arquivos_acessados=($(wine [opções] | grep "c:/windows" \
| cut -d\" -f2 \
| sed 's|^\\\\??\\\\C:||g;/windows\/Fonts/d;s|\\\\|/|g' \
| sort | uniq ))
for arquivo in "${arquivos_acessados[@]}"; do
arquivo=$(readlink -f "${WINEPREFIX}/drive_c${arquivo,,}")
[ -f "${arquivo}" ] && {
# Modifica o arquivo sem alterar de fato o arquivo
touch "${arquivo}"
}
done
# O Wine só verifica se eles existem
touch "${WINEPREFIX}/drive_c/windows/system32/ntdll.dll"
touch "${WINEPREFIX}/drive_c/windows/explorer.exe"
touch "${WINEPREFIX}/drive_c/windows/notepad.exe"
# Apague os arquivos que não foram modificado
# depois que o arquivo de referencia foi criado:
find "${WINEPREFIX}/drive_c/prefix/drive_c/windows" -type f -not -anewer "${arquivo_de_referencia}" -delete
# Impede o Wine de copiar os arquivos de novo
cp "${WINEPREFIX}/.update-timestamp" "${WINEPREFIX}/.update-timestamp.bak"
echo -En "disabled" > "${WINEPREFIX}/.update-timestamp"
Pois é, eu também já usei um Pentium 100 MHz e conseguia usar serviços de streaming, porque basicamente eram playlists com MP3 de baixo bitrate, provavelmente usando o mplayer mesmo. Eu podia fazer isso via linha de comando sem qualquer problema e ainda rodar uma coisa ou outra leve (como o tmsnc, na época).
O “mundo pós-Spotify” é bem menos universal, entretanto. Um dos poucos lugares que permite usar playlists é a Digitally Imported, mas o serviço só é liberado para quem paga a assinatura.
Ah, sim, eu digo no sentido da tendência, né? Muitos aplicativos encapsulando um navegador pesado, usando tecnologias que não primam pela velocidade, travando informações produzidas pelo usuário dentro de plataformas com interoperabilidade duvidosa etc. De qualquer forma, no passado, eu só precisava de um link, nada mais. Não precisava de um cliente, então eu podia usar um mesmo programa para ouvir qualquer rádio que fornecesse uma playlist.