Descobrir biblioteca faltante ao rodar *.exe no wine

Publicado por Perfil removido (última atualização em 10/06/2011)

[ Hits: 11.092 ]

Download wine-dll.zip




No windows (e wine) , as bibliotecas do sistema são arquivos *.dll, e elas são necessárias para o funcionamento de certos programas.

Caso você rode um programa que necessite de uma biblioteca que não pode ser encontrada no prefixo do wine (/home/usuário/.wine), o wine retornará um erro dizendo que não foi possível rodar o programa.

O script shell que fiz irá informar, através de um diálogo do zenity, qual é a biblioteca (dll) faltante para que o usuário possa copiar tal biblioteca de uma partição com windows XP instalado ou de um site com repositório de DLLs.

----------------------------

Instalação

Para instalar o script é simples, para isso apenas siga os seguintes passos NA ORDEM:

1) renomeie o executavel do wine de "wine" para "pine" ('pine', com 'P'), se estiver com preguiça, o seguinte comando pode fazer isso:
sudo mv /usr/bin/wine /usr/bin/pine

2) Descompacte o arquivo wine.zip em qualquer lugar, não vou explicar como isso é feito, você já DEVE saber

3) copie/mova o arquivo wine (que foi descompactado) para a pasta /usr/bin, como ROOT, obviamente, o seguinte comando faz isso:
sudo mv /home/lucas/wine /usr/bin
Isso supondo que você descompactou o arquivo na sua pasta local e que seu nome seja Lucas...

No mais, estes três passos se resumem em você substituir o executável original do wine (em /usr/bin) pelo script modificado que eu fiz, SENDO OBRIGATÓRIO RENOMEAR o executável original do "wine" para "pine", pois o script irá usá-lo (não remova o arquivo original, apenas RENOMEIE-O, pois ele ainda será usado)

No mais, estou indo embora. Contato (para dicas/questionamentos/foto de mulé pelada): lucas.ta23@gmail.com

  



Esconder código-fonte

#! /bin/bash

if [ $# = 0 ] ; then
   echo "Nenhum parâmetro foi passado ao wine, por favor, execute o comando 'wine --help' para mais informações" && exit 1
fi

case $1 in
--help) pine --help ;;
--version) pine --version ;;
--*) echo "O parâmetro passado não existe, por favor, execute o comando 'wine --help' para mais informações" ;;
*)
dllerror="\n\t$(pine $* 2>&1 | grep err:module:import_dll | cut -d " " -f 3 | sed 's/ /\n\t/g')"
appname=$(basename $1)
if [ -n $dllerror ]  ; then
zenity --title="*.dll faltante" --error --text="O programa $appname não pôde ser executado corretamente devido a falta da(s) biblioteca(s):$dllerror"
fi 
;;

esac

Scripts recomendados

Configurar servidor proxy no Apt-get usando SS e Kdialog

restore.sh

Montando compartilhamento de máquinas Windows no Linux

Arch Linux - remover dependências obsoletas

RWinstall


  

Comentários
[1] Comentário enviado por dansenpir em 29/01/2017 - 17:22h

Como identificar manualmente? Seu script não retornou a biblioteca que falta...
O Priston Tale roda, mas a imagm fica zoada nos chats e nicks...

Keep It Simple, Stupid!


Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts