Script para iniciar programas instalados no wine

Publicado por Emerson Esteves 18/04/2009

[ Hits: 8.308 ]

Download winefindexe.sh




Se você tiver usando o wine sem o PlayOnLinux ou Wine-doors ou equivalente e não usa muito os menus do wine no modo gráfico(kde, gnome, etc), esse script pode ajudar a chamar os programas win(e) apartir do shell.

Para o script funcionar crie o diretório para o ambiente wine sempre com o nome "wine". Por padrão o wine cria o ".wine". Mas você pode criar ambientes : wineoffice, winephotoshop, wineproject, winehereticII, wineNFSMostWant, etc...

Rode o script do diretório desses dirs, não dentro deles.

  



Esconder código-fonte

#!/bin/bash
# Create scripts to start win apps from shell
# Developed by: Emerson Esteves <enssso at gmail dot com>
# Released under the GNU GPL. See LICENSE for more information

echo $1; 
if [ "x$1" = "x" ] ; then
   echo "Usage : winefindexe.sh <dir to put generated scripts>";
   echo "Run this in dir you starts your search";
   echo "This DEPENDS : bash, find, read, whereis, sed";
   echo ""
   echo "This script generate scripts to start all exe in sub-dirs"
   exit;
fi
if [ ! -d $1 ] ; then
   echo "Directory not exist : $1";
   exit;
fi
ppwd=`pwd`;
echo $ppwd;
echo "find directories with \"*/wine*/drive_c/*\", this have a wine home...";

exec 5< <(find -H -iregex ".*wine[a-zA-Z0-9. ]*\/drive_c.*exe$" -a ! -iregex ".*windows.*")

while read lin <&5; do {
   lin=`echo $lin | sed -e 's/^\.//g'`;
   echo $ppwd$lin;
   program=`echo $lin | sed -e 's/^.*\(\/[^/]*\.exe\)/\1/gI' -e 's/^\///g'`;
   #echo $program;
   dirwork=`echo $ppwd$lin | sed -e 's/\/[^/]*\.exe$/\//gI'`;
   #echo $dirwork;
   prefix=`echo $ppwd$lin | sed -e 's/drive_c.*$//gI'`;
   #echo $prefix;
   name=`echo $prefix | sed -e 's/.*\/\([^/]*\)\/$/\1/gI'`;
   name=`echo "$name-$program.sh" | sed -e 's/.exe//gI'`;
   #echo $name;
   bbash=`whereis bash | sed -e 's/.* \(\/.*\/bash\) .*/\1/g'`;
   #echo -e "\n\n";
   echo "#!$bbash" > "$1/$name";
   echo "cd \"$dirwork\"" >> "$1/$name";
   echo "WINEPREFIX=\"$prefix\" wine $program" >> "$1/$name";
   chmod +x "$1/$name";
   nametool=`echo $prefix | sed -e 's/.*\/\([^/]*\)\/$/\1/gI'`;
   nametool=$nametool-runtool.sh
   echo "#!$bbash" > "$1/$nametool";
        echo "WINEPREFIX=\"$prefix\" \$@" >> "$1/$nametool";
        chmod +x "$1/$nametool";
} ; done

exec 5>&-

Scripts recomendados

Firewall - Satefull inspection com NAT

Front-end para o Samba

Criação de usuario / gerando senha automatica

Montando sua máquina virtual para engenharia reversa em Linux

CGI Scan


  

Comentários

Nenhum comentário foi encontrado.


Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts