Wine: Como jogar/emular no Linux seus games ou softwares mais atuais sem pagar por isso
Objetivo: Emular 80% dos GAMES ou softwares do Windows através do WINE. Exemplo: Counter Strike, Delphi 5. Cuidado, após a leitura o Windows XP da sua lan house ou PC pode estar com os dias contados!
Parte 3: Copiando o que o Microsoft Windows XP tem, que o nosso WINE vai precisar
Devemos ter em mente que o WINE precisa "simular" o ambiente Microsoft Windows para que seu GAME ou Software consiga ser executado/emulado corretamente. Isso inclui as bibliotecas *.DLLs, os próprios *.EXEs e até mesmos as fontes de texto que muita gente pensa que só serve para formatar o texto do MS Word por exemplo. Então mãos a obra.
No meu caso possuo o Windows XP e o Slackware Linux 12 dentro do mesmo PC, mas se não for este seu caso, basta você ir em qualquer Windows XP (vou pegar o Windows XP como exemplo durante todo o artigo) e efetuar a cópia dos arquivos que vamos citar abaixo:
1) Observando a situação atual do nosso WINE antes de modificá-lo:
Para quem acabou de instalar o WINE, ainda não utilizou e está usando este artigo como "receita de bolo", está na hora de configurar o wine dentro do seu diretório HOME. A vantagem das novas versões do WINE é que ele mesmo cria os diretórios necessários e faz as configurações BÁSICAS por você, basta executar o comando como SEU USUÁRIO em qualquer terminal:
$ winecfg
Após alguns segundos será apresentada a janela de configuração do WINE, porém não vamos aprender/estudar sobre ela neste momento, apenas quero exemplificar um problema simples de fonte que pode ocorrer com você. Vou usar a aba (About) da janela de configurações do wine para que você observe a imagem abaixo:
Como você pode ver nesta imagem, nós estamos com um evidente problema de "FONTE", pois os textos da janela não estão sendo exibidos corretamente.
Sem falar que a janela pode ter ficado em alguns casos muito "grande". Não mexa em nada por enquanto, apenas aproveite para já observar tudo o que vamos poder configurar no WINE, depois feche a janela de configuração.
Para resolver este e outros problemas, não só de fonte, como falta de *.DLL por exemplo, nós vamos copiar muitas coisas que o Windows XP possui para dentro do nosso WINE, inclusive as fontes de texto do Windows, o que vai resolver este problema de fonte que pode estar ocorrendo com seu Wine neste momento.
Aconselho você fazer a instalação das fontes do Windows também dentro do seu KDE ou Gnome. Não vou abordar este processo neste artigo pois não é nosso objetivo. Mas para quem usa KDE vale a pena dar uma conferida no "Centro de Controle" (é como se fosse um "painel de controle" do KDE) e adicionar/instalar no KDE as mesmas fontes que você estará adicionando no WINE. ;)
Como eu estava explicando, o Wine cria dentro do diretório home do seu usuário um diretório oculto chamado (.wine) com as configurações BÁSICAS de fonte e registro do Windows que os softwares necessitam para serem executados.
Digamos que dentro do diretório oculto (.wine) ele irá simular o ambiente Windows. Então antes de mais nada de uma boa olhada dentro do seu diretório .wine (/home/SEU_USUÁRIO/.wine), no meu caso é (/home/sl0t/.wine). Exemplo:
$ cd /home/sl0t/.wine/
$ ls
Veja que ele possui arquivos e diretórios importantes como:
2) O que eu devo copiar do Windows XP original?
2.1) Os diretórios:
Porém só copie os diretórios referentes a algum programa específico contido no seu "c:\Arquivos de Programas" para o "/home/SEU_USUÁRIO/.wine/drive_c/Program Files" caso você não consiga realizar a instalação do mesmo utilizando o próprio WINE para executar os "Setup.exe" da vida...
Abaixo vou dar um exemplo de como você pode efetuar a cópia dos arquivos necessários para dentro do diretório do Wine, caso você tenha o Windows e o Linux instalados no mesmo PC, porém o modo que você irá utilizar para copiar os arquivos necessário do Windows para o Linux, ficará a seu critério. No meu exemplo são 2 passos simples:
1º Passo) Montar sua partição (C:\) do Windows no Linux:
# mount -t vfat /dev/hda1 /mnt/Win
OBS: Este comando deve ser executado como root.
A opção "-t vfat" deve ser usada caso sua partição (C:\) esteja no formato FAT32, caso esteja no formato NTFS utilize a opção (-t ntfs).
No exemplo acima sua partição será montada em /mnt/Win, então suponho que o diretório /mnt/Win exista.
Não vou me prender a estes exemplos, caso tenha dúvida sobre como montar partição no Linux procure explicações sobre o comando "mount". Ok?!
2º Passo) Com a partição montada vamos efetuar a cópia do diretório Windows para dentro do Wine e substituir o diretório do Windows existente dentro do Wine usando o comando:
# cp -R /mnt/Win/windows /home/SEU_USUARIO/.wine/drive_c/
Depois é necessário dar permissão total dentro do diretório que acabamos de copiar. Caso contrário o usuário comum ou SEU_USUÁRIO não poderá acessar, gravar ou executar os arquivos dentro dele... Comando para dar permissão:
# chmod 777 -R /home/SEU_USUARIO/.wine/drive_c/windows
Pronto! Finalizamos a parte de cópia dos arquivos necessários do Windows Original para dentro do nosso Wine.
Agora você vai precisar reiniciar seu PC, porém dessa vez carregar o Windows XP para efetuar o "clone" do registro do Windows. Infelizmente essa parte "não dá" para fazer sem que você esteja com o Windows XP sendo executado.
O arquivo *.reg que vamos gerar ao "Exportar o Registro" do Windows deverá ser copiado para dentro do diretório do WINE (/home/SEU_USUARIO/.wine/drive_c/). Então você poderá utilizar o exemplo anterior para colocar o arquivo no local necessário.
Atenção! Todo e qualquer arquivo *.DLL ou *.EXE referente ao software ou GAME que você vai emular deve estar dentro do diretório /home/SEU_USUARIO/.wine/drive_c/windows/system32!!! ;)
Observação importante: O ideal para softwares ou games não é copiá-los depois de instalados do Windows XP para seu Linux e sim realizar a instalação do mesmo utilizando o próprio WINE. Assim o WINE já coloca as *.DLL's necessárias em seu devido lugar e atribui ao "Registro do Windows", usado no caso pelo WINE, no arquivo system.reg, os valores necessários para execução do software.
2.2) Fazendo um "Clone" do Registro do Windows XP original: No mínimo você já deve ter ouvido falar no REGEDIT.EXE, que é um software do WINDOWS que podemos utilizar para editar o registro do WINDOWS, que na verdade fica armazenado em diversos arquivos *.DAT espalhados pelo sistema.
Com o Windows XP já iniciado você vai através do menu "Iniciar\Executar" executar o REGEDIT.EXE do seu Windows XP e exportar todos os dados contidos no registro do Windows para um arquivo *.reg que NÃO TENHA o mesmo nome que os arquivos *.reg já existentes no WINE, conforme ilustra a imagem abaixo:
2.3) Importando os dados do registro do Windows XP original dentro do Wine:
Vamos voltar para o Linux agora! Você deve copiar o arquivo *.reg gerado no passo anterior para dentro do diretório do Wine (/home/SEU_USUARIO/.wine/drive_c), caso seja necessário execute o "Tópico 2.1 1º Passo" para montar a partição e o "Tópico 2.1 2º Passo" para copiar o arquivo que você gerou sendo que a opção utilizada no comando (-R) não será necessária e o local do arquivo *.reg deve ser especificado corretamente dependendo é claro de onde você salvo.
Gente, eu fiquei impressionado foi como o Wine evoluiu em relação aos seus arquivos e métodos de configuração e o modo que sua configuração está sendo feita através de janelas e menus. Muito mais fácil que ficar editando arquivos de configuração "na mão" como nas versões anteriores...
Portanto em um terminal qualquer execute o comando:
$ regedit
Não se assuste... É isso mesmo! Você vai executar "uma espécie de Regedit do Wine", irá abrir uma janela semelhante a do registro do Windows XP, porém em inglês e com a semelhança idêntica ao registro do Windows original, como você pode ver na imagem abaixo:
Ok, senhoras e senhores, tudo que devemos fazer é através do menu: "Registry\Import" importar o arquivo que geramos no Windows XP, o qual eu dei o exemplo que deve estar (para quem seguiu o conselho escrito na imagem) dentro do diretório (/home/SEU_USUARIO/.wine/drive_c), porém basta você ir até a unidade (C:\) e lá estará ele. Após a importação basta simplesmente fechar o "RegEdit do Wine" e pronto, está feito o clone do registro do Windows XP original. Observe a imagem abaixo para entender melhor:
Bom, para ser sincero o segredo mais importante de todo artigo estava nesta parte. Creio que se você executar estes passos corretamente não vai ter problemas nas suas emulações... Mas é lógico que tem mais coisa que vale a pena ser abordado, como as CONFIGURAÇÕES do Wine...
Então vamos em frente.
No meu caso possuo o Windows XP e o Slackware Linux 12 dentro do mesmo PC, mas se não for este seu caso, basta você ir em qualquer Windows XP (vou pegar o Windows XP como exemplo durante todo o artigo) e efetuar a cópia dos arquivos que vamos citar abaixo:
1) Observando a situação atual do nosso WINE antes de modificá-lo:
Para quem acabou de instalar o WINE, ainda não utilizou e está usando este artigo como "receita de bolo", está na hora de configurar o wine dentro do seu diretório HOME. A vantagem das novas versões do WINE é que ele mesmo cria os diretórios necessários e faz as configurações BÁSICAS por você, basta executar o comando como SEU USUÁRIO em qualquer terminal:
$ winecfg
Após alguns segundos será apresentada a janela de configuração do WINE, porém não vamos aprender/estudar sobre ela neste momento, apenas quero exemplificar um problema simples de fonte que pode ocorrer com você. Vou usar a aba (About) da janela de configurações do wine para que você observe a imagem abaixo:
Como você pode ver nesta imagem, nós estamos com um evidente problema de "FONTE", pois os textos da janela não estão sendo exibidos corretamente.
Sem falar que a janela pode ter ficado em alguns casos muito "grande". Não mexa em nada por enquanto, apenas aproveite para já observar tudo o que vamos poder configurar no WINE, depois feche a janela de configuração.
Para resolver este e outros problemas, não só de fonte, como falta de *.DLL por exemplo, nós vamos copiar muitas coisas que o Windows XP possui para dentro do nosso WINE, inclusive as fontes de texto do Windows, o que vai resolver este problema de fonte que pode estar ocorrendo com seu Wine neste momento.
Aconselho você fazer a instalação das fontes do Windows também dentro do seu KDE ou Gnome. Não vou abordar este processo neste artigo pois não é nosso objetivo. Mas para quem usa KDE vale a pena dar uma conferida no "Centro de Controle" (é como se fosse um "painel de controle" do KDE) e adicionar/instalar no KDE as mesmas fontes que você estará adicionando no WINE. ;)
Como eu estava explicando, o Wine cria dentro do diretório home do seu usuário um diretório oculto chamado (.wine) com as configurações BÁSICAS de fonte e registro do Windows que os softwares necessitam para serem executados.
Digamos que dentro do diretório oculto (.wine) ele irá simular o ambiente Windows. Então antes de mais nada de uma boa olhada dentro do seu diretório .wine (/home/SEU_USUÁRIO/.wine), no meu caso é (/home/sl0t/.wine). Exemplo:
$ cd /home/sl0t/.wine/
$ ls
Veja que ele possui arquivos e diretórios importantes como:
- dosdevices: É um diretório que ele utiliza para "emular o ambiente MS-DOS". Porém não vou abordar este ambiente neste artigo. Afinal nosso objetivo são GAMES e softwares que são executados no Windows. Já ouvi falar sobre um outro emulador chamado DOSEMU capaz de emular perfeitamente o ambiente MS-DOS.
- drive_c: É aí dentro que ele vai simular seu "DISCO C:\" do Windows. Ou seja, os diretórios Program Files (arquivos de programas), o próprio diretório do Windows (o qual contém diretórios importantes como system32) vai encontrar aí dentro. Observe também que os mesmos já existem. Nosso trabalho será fazer pequenas modificações nos mesmos.
A "simulação" do disco (C:\) não precisa ser necessariamente dentro deste diretório. O Wine nos permite mudar esta opção, porém não é recomendado modificar, como veremos mais adiante.
- system.reg, user.reg e userdef.reg: Esses arquivos funcionam como o "REGISTRO DO WINDOWS" para o nosso WINE. É neles que o WINE armazena os dados que cada software ou GAME precisa para executar corretamente, como também as configurações de preferência de execução que você irá configurar para cada software que será emulado com o WINE, como: tamanho da janela, versão do Windows que deve ser emulada, etc. Blá, blá, blá...
2) O que eu devo copiar do Windows XP original?
2.1) Os diretórios:
- c:\windows\system
- c:\windows\system32
- c:\windows\fonts
Porém só copie os diretórios referentes a algum programa específico contido no seu "c:\Arquivos de Programas" para o "/home/SEU_USUÁRIO/.wine/drive_c/Program Files" caso você não consiga realizar a instalação do mesmo utilizando o próprio WINE para executar os "Setup.exe" da vida...
Abaixo vou dar um exemplo de como você pode efetuar a cópia dos arquivos necessários para dentro do diretório do Wine, caso você tenha o Windows e o Linux instalados no mesmo PC, porém o modo que você irá utilizar para copiar os arquivos necessário do Windows para o Linux, ficará a seu critério. No meu exemplo são 2 passos simples:
1º Passo) Montar sua partição (C:\) do Windows no Linux:
# mount -t vfat /dev/hda1 /mnt/Win
OBS: Este comando deve ser executado como root.
A opção "-t vfat" deve ser usada caso sua partição (C:\) esteja no formato FAT32, caso esteja no formato NTFS utilize a opção (-t ntfs).
No exemplo acima sua partição será montada em /mnt/Win, então suponho que o diretório /mnt/Win exista.
Não vou me prender a estes exemplos, caso tenha dúvida sobre como montar partição no Linux procure explicações sobre o comando "mount". Ok?!
2º Passo) Com a partição montada vamos efetuar a cópia do diretório Windows para dentro do Wine e substituir o diretório do Windows existente dentro do Wine usando o comando:
# cp -R /mnt/Win/windows /home/SEU_USUARIO/.wine/drive_c/
Depois é necessário dar permissão total dentro do diretório que acabamos de copiar. Caso contrário o usuário comum ou SEU_USUÁRIO não poderá acessar, gravar ou executar os arquivos dentro dele... Comando para dar permissão:
# chmod 777 -R /home/SEU_USUARIO/.wine/drive_c/windows
Pronto! Finalizamos a parte de cópia dos arquivos necessários do Windows Original para dentro do nosso Wine.
Agora você vai precisar reiniciar seu PC, porém dessa vez carregar o Windows XP para efetuar o "clone" do registro do Windows. Infelizmente essa parte "não dá" para fazer sem que você esteja com o Windows XP sendo executado.
O arquivo *.reg que vamos gerar ao "Exportar o Registro" do Windows deverá ser copiado para dentro do diretório do WINE (/home/SEU_USUARIO/.wine/drive_c/). Então você poderá utilizar o exemplo anterior para colocar o arquivo no local necessário.
Atenção! Todo e qualquer arquivo *.DLL ou *.EXE referente ao software ou GAME que você vai emular deve estar dentro do diretório /home/SEU_USUARIO/.wine/drive_c/windows/system32!!! ;)
Observação importante: O ideal para softwares ou games não é copiá-los depois de instalados do Windows XP para seu Linux e sim realizar a instalação do mesmo utilizando o próprio WINE. Assim o WINE já coloca as *.DLL's necessárias em seu devido lugar e atribui ao "Registro do Windows", usado no caso pelo WINE, no arquivo system.reg, os valores necessários para execução do software.
2.2) Fazendo um "Clone" do Registro do Windows XP original: No mínimo você já deve ter ouvido falar no REGEDIT.EXE, que é um software do WINDOWS que podemos utilizar para editar o registro do WINDOWS, que na verdade fica armazenado em diversos arquivos *.DAT espalhados pelo sistema.
Com o Windows XP já iniciado você vai através do menu "Iniciar\Executar" executar o REGEDIT.EXE do seu Windows XP e exportar todos os dados contidos no registro do Windows para um arquivo *.reg que NÃO TENHA o mesmo nome que os arquivos *.reg já existentes no WINE, conforme ilustra a imagem abaixo:
2.3) Importando os dados do registro do Windows XP original dentro do Wine:
Vamos voltar para o Linux agora! Você deve copiar o arquivo *.reg gerado no passo anterior para dentro do diretório do Wine (/home/SEU_USUARIO/.wine/drive_c), caso seja necessário execute o "Tópico 2.1 1º Passo" para montar a partição e o "Tópico 2.1 2º Passo" para copiar o arquivo que você gerou sendo que a opção utilizada no comando (-R) não será necessária e o local do arquivo *.reg deve ser especificado corretamente dependendo é claro de onde você salvo.
Gente, eu fiquei impressionado foi como o Wine evoluiu em relação aos seus arquivos e métodos de configuração e o modo que sua configuração está sendo feita através de janelas e menus. Muito mais fácil que ficar editando arquivos de configuração "na mão" como nas versões anteriores...
Portanto em um terminal qualquer execute o comando:
$ regedit
Não se assuste... É isso mesmo! Você vai executar "uma espécie de Regedit do Wine", irá abrir uma janela semelhante a do registro do Windows XP, porém em inglês e com a semelhança idêntica ao registro do Windows original, como você pode ver na imagem abaixo:
Ok, senhoras e senhores, tudo que devemos fazer é através do menu: "Registry\Import" importar o arquivo que geramos no Windows XP, o qual eu dei o exemplo que deve estar (para quem seguiu o conselho escrito na imagem) dentro do diretório (/home/SEU_USUARIO/.wine/drive_c), porém basta você ir até a unidade (C:\) e lá estará ele. Após a importação basta simplesmente fechar o "RegEdit do Wine" e pronto, está feito o clone do registro do Windows XP original. Observe a imagem abaixo para entender melhor:
Bom, para ser sincero o segredo mais importante de todo artigo estava nesta parte. Creio que se você executar estes passos corretamente não vai ter problemas nas suas emulações... Mas é lógico que tem mais coisa que vale a pena ser abordado, como as CONFIGURAÇÕES do Wine...
Então vamos em frente.