Programas no Wine para todos os usuários

editado agosto 2012 em Dicas e Truques
Esta dica foi originalmente postada no blog [url=http://sejalivre.org/]Seja Livre[/url], por [b]Pedro Augusto[/b].

Segue abaixo, na íntegra:

[quote]Existem alguns programas que os desenvolvedores insistem em não portar para o Linux, para a maioria destes programas o [url=http://www.winehq.org/]Wine[/url] resolve o problema. Todavia a utilização do Wine para programas grandes implica em outro inconveniente: o programa deve ser instalado para cada usuário da máquina, o que gera uma enorme duplicidade de arquivos.

[url=http://sejalivre.org/o-novo-wine-1-5-9-esta-disponivel-para-download/]Leia aqui e aprenda a instalar o Wine na sua distribuição Linux[/url]

Muitos podem imaginar em contornar este problema configurado a diretiva WINEPREFIX de todos os usuários para um mesmo local, mas o wine só permite usar o WINEPREFIX para um diretório pertecente ao usuário corrente. Ou seja, se atribuimos o WINEPREFIX para /opt/programa (com o comando [b]export WINEPREFIX=”/opt/programa”[/b]) e o usuário que for executar o wine não é dono de /opt/programa, o wine não executa.

[b]O que fazer?[/b]

A solução é criar um diretório X para o wine (com o comando [b]wineprefixcrete –prefix X[/b]) , setar o WINEPREFIX para este diretório X e instalar o programa. Depois damos permissão de leitura para todos os usuário sobre este diretório X. Feito isto criamos um diretório Y para cada usuário corrente e criamos links para os subdiretórios de X. Atribuimos o WINEPREFIX para o diretório Y de cada usuário e desta forma o wine funcionará. Entendeu?

Vamos a um exemplo:

1) Instalação do programa
[code]$ wineprefixcreate /tmp/dircompartilhado
$ export WINEPREFIX=”/tmp/dircompartilhado”
$ wine /onde/esta/oprograma/instala.exe
$ sudo mv /tmp/dircompartilhado /opt
$ sudo chown root.root -R /opt/dircompartilhado
$ sudo chmod a+r -R /opt/dircompartilhado[/code]

2) Script para execução do programar por todos os usuários
[code]#!/bin/bash
export WINEPREFIX=$(mktemp -d)
cd $WINEPREFIX
ln -s /opt/dircompartilhado/dosdevices
ln -s /opt/dircompartilhado/drive_c
ln -s /opt/dircompartilhado/system.reg
ln -s /opt/dircompartilhado/userdef.reg
ln -s /opt/dircompartilhado/user.reg
wine “C:\Arquivos de Programas\Instalado\programa.exe”[/code]

[i]Obs.: Se o programa necessitar escrever em algum arquivo dentro do WINEPREFIX ocorrerá erros, pois os arquivos estão com permissão de “somente leitura”. Nestes casos é interessante estudar quais arquivos são gravados e dar permissão de escrita para os mesmos.[/i][/quote]


[b]Fiquem com Deus.[/b]
Entre ou Registre-se para fazer um comentário.