Exécution transparente des programmes de vin

Quand je veux exécuter un programme de vin je dois taper par exemple

$ wine ~/.wine/drive_c/Program\ Files/TextAloud/TextAloudMP3.exe

Serait-il possible d'exécuter directement TextAloudMP3 ? Je veux dire non seulement à partir de la command line (je pourrais créer un alias) mais dans tout l'environnement graphique. Je lance des programmes avec dmenu .

Je suppose que vous avez l'intention de lancer des programmes exe avec du vin directement, alors dites au kernel d'exécuter des binarys Win32 avec du vin,

  1. Montez binfmt fs, ajoutez une ligne none /proc/sys/fs/binfmt_misc binfmt_misc defaults 0 0 dans / etc / fstab et exécutez mount -a ensuite

  2. echo ':DOSWin:M::MZ::/usr/bin/wine:' > /proc/sys/fs/binfmt_misc/register pour save le format binary

Donc, plus tard, vous exécutez simplement le file exe avec /path/to/XX.exe

Notez que cela introduit également un problème de security.

Assurez-vous que le wine est dans votre path et créez un script shell contenant les éléments suivants:

 #!/bin/sh wine "$HOME/.wine/drive_c/Program Files/TextAloud/TextAloudMP3.exe" 

Donnez-vous la permission d'exécuter le script en exécutant chmod u+x SCRIPT_NAME .

Ensuite, exécutez ce script à partir de votre gestionnaire de files. Il démarrera le vin, qui exécutera TextAloudMP3.exe.

Étape 0

Définissez un PATH binary pour votre user. Exécutez mkdir ~/bin et ajoutez ce directory à votre PATH.

La façon dont cela est fait peut varier en fonction de l'environnement du shell et du bureau que vous utilisez.

Ici vous pouvez find comment changer votre PATH dans une variété de coquilles .

Vérifiez cette question résolue si votre environnement de bureau ne se soucie pas de votre profil de shell et que l'ancien fonctionne à partir du terminal mais pas de l'environnement de bureau .

Étape 1

Une fois que vous avez défini votre shell et votre environnement de bureau pour respecter un nouveau PATH, vous pouvez y déposer des scripts et les exécuter en tant que commands régulières sans taper leur path.

Créez un court script shell pour exécuter votre programme de vin dans ce directory, ie ~/bin/textaloud :

 #!/bin/bash cd "~/.wine/drive_c" exec wine "~/.wine/drive_c/Program Files/TextAloud/TextAloudMP3.exe" "$@" 

Et donnez-lui l'autorisation d'exécution.

 chmod +x ~/bin/textaloud 

Il y a trois choses à noter à propos du script ci-dessus:

  • Le path du cd est l'endroit où le programme va être exécuté (dans quel directory). Certains programmes peuvent vous requestr de les exécuter dans un directory spécifique. Si vous avez des problèmes avec cela, placez-y ce directory (généralement le même où se trouve l'exécutable). Vous pouvez ne pas vouloir cette ligne dans certains cas.
  • Les commands exec disent à bash de se transformer en vin avec les arguments suivants, donc ce n'est plus bash en cours d'exécution, mais bash en devenant vin. Le PID rest. Vous n'avez pas deux process en cours d'exécution.
  • Le $@ est remplacé par les arguments que vous avez exécutés le script, le cas échéant. Donc, ceux-ci sont transmis à votre programme de vin.

Maintenant, vous pouvez exécuter votre programme depuis le shell comme …

 textaloud 

Étape 2

Créer un lanceur d'applications. De nos jours, ces files sont standardisés en tant que files .desktop et de nombreux environnements de bureau fournissent des outils charts pour les créer.

Voici un exemple de squelette que vous pouvez utiliser pour l'écrire vous-même. Vous pouvez fournir une icône (souvent en PNG, SVG ou XPM).

 [Desktop Entry] Type=Application Name=TextAloud Exec=textaloud Icon=textaloud.png 

Placez ce file dans ~/.local/share/applications/TextAloud.desktop . Les icons sont recherchées (entre autres) dans ~/.local/share/icons , alors assurez-vous de find une jolie icône pour votre application et placez-la avec le nom textaloud.png .

Une fois que vous avez fait cela, votre environnement de bureau devrait find votre file de raccourci et être en mesure d'exécuter le programme avec le script. Sinon, rechargez ou redémarrez-le.

Avez-vous envisagé d'essayer PlayOnLinux? Il peut prendre soin de tout pour vous et même vous pouvez configurer certains types de files à ouvrir par les programmes de vin.