Um post longo, mas o primeiro e o último bits, podem ser suficientes para você.
Você pode colocar um comando de inicialização em um script (por exemplo, divx-player
) e atribuir esse script para iniciar um tipo específico via Nautilus - Propriedades - Abrir com ...
Mas qual é o comando? A explicação a seguir é longa, mas a idéia é muito simples, uma vez que você a "entenda" ... (demorei um bom tempo para "pegar" ela :)
Como você pode ter vários wine
ambientes instalados (por exemplo, para se adequar a configurações específicas de um programa específico), o sistema deve saber quais wine
você deseja executar. Para isso, wine
depende de um variável de ambiente denominada $ WINEPREFIX.
Se você estiver usando wine
do seu local padrão, $ WINEPREFIX terá um valor de $HOME/.wine
... Vamos supor que o seu DivX player esteja instalado neste WINEPREFIX (para este ambiente) ...
Para ser robusto, o comando wine
deve especificar explicitamente o WINEPREFIX, portanto, wine
sabe em qual ambiente de vinho deve ser executado.
Se você não especificar explicitamente o WINEPREFIX, o wine usará o valor padrão especificado quando você instalou o wine.
Aqui está o comando para especificar o WINEPREFIX que você deseja usar.
env WINEPREFIX="$HOME/.wine" wine
Para inicializar um aplicativo por meio de uma linha de comando do Windows, é recomendável usar o comando start.exe
do Windows, portanto, o comando nees deve ser incluído (observe o uso do Windows C: \ style \ path- nome aqui) ..
env WINEPREFIX="$HOME/.wine" wine 'C:\windows\command\start.exe'
Os arquivos que residem no diretório $WINEPREFIX/dosdevices/c:/
podem ser endereçados neste estilo do Windows, mas os arquivos em outro local no seu sysem precisam de uma abordagem diferente.
O Windows C:\
está mapeado para o diretório unix '$WINEPREFIX/dosdevices/c:/
e, da mesma forma, outros arquivos em seu sistema podem ser acessados de wine
por meio de outra unidade de disco virtual do Windows Z:\
... mas wine
fornece um método mais simples para acessar seus arquivos de dados (por exemplo, um filme, em algum lugar / em qualquer lugar no seu sistema de arquivos).
Esses arquivos são, é claro, conhecidos no mundo Unix / Linux por seus nomes de caminho no estilo Unix. wine
facilita a tradução de nomes de caminho no estilo unix para nomes de caminho no estilo do Windows por meio de uma opção de linha de comando específica do vinho /Unix
Seu comando do DivX player agora precisa ser seguido pelo /path/to/the/DivX-player
-options
/path/to/the/movie
. Mas como o DivX Player é um aplicativo do Windows, ele espera que todos os caminhos estejam no formato do Windows (por exemplo: C:\Program Files\etc\etc
).
Como o DivX player.exe está dentro do ambiente WINEPREFX
, você pode iniciá-lo por meio de seu C:\Windows\path
ou via /Unix /Unix/path
. Usar a opção /Unix
é normalmente mais fácil e menos propenso a erros, porque você não precisa inverter manualmente todas as barras para barras invertidas. Todos os quatro comandos a seguir executarão o player, mas o primeiro ( /Unix /unix-path/player.exe
) é geralmente a melhor opção.
# Using Unix-style: Run the .exe directly
/Unix "$WINEPREFIX/dosdevices/c:/Program Files/DivX/DivX.exe"
# Using Unix-style: Run the .exe via its Windows menu shortcut.lnk
/Unix "$WINEPREFIX/dosdevices/c:/users/Public/Start Menu/Programs/DivX/DivX.lnk"
# Using Windows-style: Run the .exe directly
'C:\Program Files\DivX\DivX.exe'
# Using Windows-style: Run the .exe via its Windows menu shortcut.lnk
'C:\users\Public\Start Menu\Programs\DivX\DivX.lnk'
Então você pode apenas colocar o argumento final, o caminho do filme, (no estilo unix) ... então o comando completo se torna ...
env WINEPREFIX="$HOME/.wine" \
wine 'C:\windows\command\start.exe' \
/Unix "$WINEPREFIX/dosdevices/c:/Program Files/DivX/DivX.exe" \
/Unix "/media/dat_ext4/video/Galaxy Quest.avi"
O Nautilus fornecerá automaticamente o caminho do filme, portanto, seu comando para o script divx-player
bash precisa atender a um argumento, da seguinte forma
#!/bin/bash
env WINEPREFIX="$HOME/.wine" \
wine 'C:\windows\command\start.exe' \
/Unix "$WINEPREFIX/dosdevices/c:/Program Files/DivX/DivX.exe" \
/Unix ""