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...

Compartilhamento de scanner no Linux

Assim como uma impressora compartilhada é útil para que vários computadores possam enviar impressões remotamente um scanner compartilhado pode ser usado por outros computadores em uma rede. Neste artigo vamos descrever como compartilhar um scanner no Linux. Consideraremos um scanner já instalado e funcionando (muitos modelos de scanner são detectados automaticamente e nem precisam ser instalados). Utilizaremos a distribuição Debian, mas em outras distribuições o compartilhamento pode ser feito de maneira análoga. Inicialmente vamos mostrar como configurar o servidor. Configuração do Servidor No caso do debian é necessário que os pacotes xinetd e sane-utils estejam instalados. Podemos fazer isto com o aptitude : # aptitude install xinetd sane-utils Para listar o scanner instalado podemos usar o comando: scanimage -L O compartilhamento é feito com alguns arquivos de configuração. No arquivo /etc/services deve constar a seguinte linha: sane-port 6566/tcp ...