web-dev-qa-db-fra.com

Changer l'icône de l'application Wine dans Unity Launcher

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:

enter image description here

20
zorkerz

Solution de contournement sur Ubuntu 12.04 LTS et plus


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

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:

enter image description here


Source: https://bugs.launchpad.net/unity-2d/+bug/702452

26
Glutanimate
  1. 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
    
  2. 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\
    
  3. É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)
    
  4. Vous avez terminé!

6
Deepak

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.

2
fossfreedom

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.

1

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

0
Goghard

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

0
John