Pular para o conteúdo principal

Programas no wine para todos os usuários

Existem alguns programas que os desenvolvedores teimam em não portar para o linux, para a maioria destes programas o Wine 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.

Muitos podem imaginar em contornar este problema com configurado 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 export WINEPREFIX="/opt/programa") e o usuário que vai executar o wine não é dono de /opt/programa o wine não executa.

A solução é criar um diretório X para o wine (com o comando wineprefixcrete --prefix X) , 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á.

Vamos a um exemplo:
1) Instalação do programa
$ 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

2) Script para execução do programar por todos os usuários
#!/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"

Obs.: Se o programa necessitar de 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.

Comentários

Postagens mais visitadas deste blog

Referências Bibliográficas com ABNTeX e JabRef

É inevitável escrever textos técnicos e científicos sem referências bibliográficas. Quando escrevemos em LaTeX a maneira mais conveniente de trabalhar com referências é a criação de bancos de dados bibliográficos que são incorporados ao documento final com o utilitário BibTeX . Estes bancos de dados são arquivos texto que obedecem uma formatação e possuem extensão "bib" . Para facilitar o nosso trabalho e não termos que nos preocupar com a formatação do arquivo podem ser utilizadas ferramentas específicas para trabalhar com arquivos BibTeX. Nesta postagem vamos explicar como trabalhar com o JabRef , um excelente software livre multiplataforma para lidar com arquivos BibTeX para documentos que usam a classe abnTeX  (Classes LaTeX para as normas ABNT). Antes de criarmos um arquivo e incluir qualquer referência vamos verificar algumas configurações importantes. A primeira delas é definir a codificação padrão para os arquivos através do menu "Options / Preferences" ....

Tesseract OCR: obtendo textos a partir de imagens

Introdução Existem diversas ferramentas livre para Optical Character Recognition ( OCR - Reconhecimento ótico de caracteres ) como o gocr e o ocrad . Entretanto, eu ainda não tinha obtido uma eficiência tão boa até usar o Tesseract OCR . O Tesseract OCR foi desenvolvido em um laboratórios da Hewlett-Packard entre 1985 e 1995. Em 1995 era um dos 3 melhores na competição de exatidão de OCR's organizada pela Universidade de Nevada em Las Vegas (UNLV) . Entretanto, logo após isto, a HP decidiu sair do ramo de OCR e o Tesseract foi descontinuado. Felizmente a HP com a ajuda do Instituto de Pesquisas em Ciência da Informação da UNLV decidiu abrir o código fonte do Tesseract. Atualmente o Tesseract é mantido pela Google e já suporta vários idiomas, inclusive o português. Instalação no Debian Já existem pacotes nos repositórios do Debian para o Tesseract OCR e alguns idiomas, mas não consegui fazer com que eles funcionassem corretamente. Então eu baixei o código fonte, acrescen...

Instalando o ZEOSDBO no Lazarus via Global Links

Neste tutorial iremos demonstrar como instalar os componentes ZEOSDBO para conexão com banco de dados da IDE Lazarus . Utilizaremos o Lazarus 0.9.26.2-2, o ZEOSDBO 6.6.5 e Debian Lenny 5.0.2. O ZEOZDBO deve ser descompactado em um diretório e que por sua vez eve ser copiado para /usr/lib/lazarus/components/ZEOZDBO-6.6.5 . Agora criaremos os global links que são arquivos texto que referenciam os pacotes (veja mais detalhes nesta postagem ) Crie os seguintes arquivos de no diretório /usr/lib/lazarus/packager/globallinks : zcomponent-6.6.5.lpl contendo "$(LazarusDir)/components/ZEOSDBO-6.6.5/packages/lazarus/zcomponent.lpk" zcore-6.6.5.lpl contendo "$(LazarusDir)/components/ZEOSDBO-6.6.5/packages/lazarus/zcore.lpk" zdbc-6.6.5.lpl contendo "$(LazarusDir)/components/ZEOSDBO-6.6.5/packages/lazarus/zdbc.lpk" zparsesql-6.6.5.lpl contendo "$(LazarusDir)/components/ZEOSDBO-6.6.5/packages/lazarus/zparsesql.lpk" zplain-6.6.5.lpl contendo ...