Je lance souvent un programme Windows avec du vin. Lorsque j'ouvre ce programme, il apparaît dans le lanceur d'unités en tant que vin au lieu du programme actuellement ouvert.
J'ai créé un lanceur de bureau avec l'icône de droite, mais en le faisant glisser vers le lanceur d'unités, l'icône redevient l'icône Verre à vin. Lors du démarrage de l'application, il s'agit de Wine Windows Program Loader au lieu de son nom actuel.
Capture d'écran:
Remarque
Cette solution de contournement nécessite un programme de lancement fonctionnel pour votre application Wine. Voici un tutoriel sur la façon de créer un . La solution de contournement s'applique également aux applications installées avec les scripts PlayOnLinux. Les versions plus récentes de PlayOnLinux ajoutent automatiquement la ligne StartupWMClass
à leur lanceur.
Instructions
Ouvrez votre lanceur .desktop
dans votre éditeur de texte préféré et ajoutez cette ligne au fichier:
StartupWMClass=application.exe
où application.exe
est le nom de base de l'exécutable que vous souhaitez lancer dans Wine.
N'utilisez pas le chemin complet, seulement le nom de base. Et assurez-vous qu'il ne soit pas noté (règle générale à suivre pour les fichiers du bureau).
Résultat
Les icônes d'application et les descriptions devraient être rendues correctement maintenant:
C'est ici que vous trouverez vos icônes ou placez vos icônes personnalisées ici:
$ cd ~/.local/share/icons/hicolor/256x256/apps/
$ ls
1DF1_PicasaPhotoViewer.0.png
.
.
.
29F5_WINWORD.0.png
850A_Excel.0.png
AA79_POWERPNT.0.png
Allez dans le répertoire suivant:
$ cd ~/.local/share/applications/wine/Programs/Microsoft\ Office
$ ls
Microsoft Excel 2010.desktop\
Microsoft Office 2010 Tools\
Microsoft PowerPoint 2010.desktop\
Microsoft Word 2010.desktop\
Éditez les fichiers .desktop:
$ Sudo nano Microsoft\ Word\ 2010.desktop
[Desktop Entry]
Name=Microsoft Word 2010
.
.
.
Icon=29F5_WINWORD.0.png (or name of icon as in above folder)
Vous avez terminé!
Il y a plusieurs logs bugs sur cette question.
Dans l'un des bogues (post 3) , quelqu'un a signalé une solution de contournement possible. Cependant, deux autres messages en dessous indiquent que cela ne fonctionne pas toujours.
Je n'utilise pas Unity, donc je ne sais vraiment pas si cela fonctionnera.
Votre problème pourrait être dû au lanceur de programme . Je suppose que votre . Desktop le fichier contient Exec=wine '/home/user/.wine/dosdevices/c:/Program...'
et ainsi de suite. Essayez de faire un binaire bash qui contient quelque chose comme ceci:
#!/bin/bash
cd '/home/aldomann/.wine/dosdevices/c:/Archivos de programa/Warcraft II BNE'
wine 'Warcraft II BNE.exe'
Nommez-le par exemple warcraft2
et déplacez-le vers /usr/bin
(ou toute variable PATH, que vous pouvez connaître en tapant echo $PATH
sur le terminal).
Ensuite, dans votre . Desktop fichier au lieu de Exec=wine '...'
, utilisez Exec=warcraft2
. Je pense qu'Unity supposera qu'il ne s'agit pas d'un programme vin et utilisera votre icône, mais ce n'est que des conjectures.
Esperons que ça marche ;)
Par défaut, vos applications Wine .desktops
sont placées sur /home/user/.local/share/applications/wine
Au lieu de modifier un fichier .desktop
existant, vous pouvez en créer un nouveau et le placer sur /home/user/.local/share/applications
. Cela devrait être quelque chose comme ça:
[Desktop Entry]
Name=Application
Comment=Comment
Exec=app-binary
Icon=app-icon
Type=Application
Terminal=false
StartupNotify=true
Categories=GTK;Utility
Astuce: Si vous placez votre icône sur /home/user/.icons/
(i.e app-icon.png), il vous suffira de mettre Icon=app-icon
.
J'ai écrit un script pour résoudre ce problème et d'autres problèmes liés à MSO dans Unity. https://ubuntulogia.wordpress.com/2015/01/25/fix_mso_unity/ Cela fonctionne pour moi, mais toute suggestion est la bienvenue. Si quelqu'un le teste et trouve des améliorations, merci de me le communiquer. Pour exécuter le script, vous devez copier le code dans un fichier texte (en utilisant gedit, par exemple), puis enregistrez-le. Ensuite, vous devez l'exécuter en utilisant "sh". Par exemple, si vous enregistrez le fichier dans votre dossier personnel sous le nom "fixmso.sh", la commande permettant d'exécuter le script est la suivante: sh fixmso.sh
Vous pouvez le faire très simplement via l'interface graphique avec un programme appelé alacratz. Voici un tutoriel assez simple. Le chapitre du bas correspond à ce que vous cherchez http://develop.alpdesigns.ch/pages/linux/add_exe_program_to_linux.html