Criando atalhos no Linux (Ubuntu) com recurso “Iniciar em”
[ad#texto]
A algum tempo atrás (tá certo, faz muito tempo atrás) eu ensinei a utilizar o Oracle Forms e Oracle Reports compilado no Windows no Linux, também ensinei a mapear unidades de rede Windows no Linux via fstab e ainda a utilizar o recurso de UNC dentro do Wine.
Mas faltava algo. Como montar um atalho (no Linux chamado de Lançador) com o recurso de “Iniciar em” como no Windows?
Antes de ensinar, vale dizer que utilizei o Ubuntu 9.04, 9.10 e 10.04 para testar esse procedimento e funcionou em todos, e por dedução também deve funcionar em outras versões do Ubuntu e em outras distribuições do Linux.
Para simular esse efeito do “Iniciar em” não encontrei maneira de fazer utilizando somente o Lançador, então tive que recorrer a um pequeno script Bash (somente 2 linhas de código, extremamente simples). Veja o código do arquivo:
#! /bin/bash
cd /home/usuario/.wine/dosdevices/unc/servidor/pasta
wine /home/usuario/.wine/drive_c/app/bin/app.exe /media/servidor/pasta/app_exec.exe user/senha
Analisando o código acima notamos que:
- A primeira linha é realmente o que irá ocasionar o efeito do “Iniciar em” que existe no Windows, no meu exemplo eu utilizei um mapeamento de UNC (pois minha aplicação precisa enxergar como no Windows as pastas da rede dessa forma \\servidor\pasta).
- A segunda linha é onde utilizo o Wine para executar um runtime (chamado app.exe) e passo como parâmetro o nome do arquivo que será executado por ele (chamado app_exec.exe) e ainda passo como parâmetro o usuário e senha (pois a aplicação dá suporte para isso).
E para finalizar criamos um Lançador para o arquivo que criamos, por exemplo podemos chama-lo de atalho.sh.
Algumas pessoas podem falar que o Ubuntu ou Linux de modo geral é complicado pois tivemos um certo trabalho, mas vale lembrar que todo esse trabalho foi para emular um recurso do Windows para uma aplicação nativa do Windows. Se fosse para criar um atalho (ou Lançador, como preferir) nativamente no Linux não teríamos trabalho algum.