4 votes

Comment fonctionne le champ EXEC du fichier .desktop ?

Cela fait plusieurs mois que j'ai ce problème horrible. Je suis actuellement en train d'utiliser Unity 2D, et je gère mes entrées de menu en utilisant des fichiers .desktop, ce qui est fatigant. Y a-t-il un meilleur moyen de les gérer? Quoi qu'il en soit, le problème vient du champ EXEC. J'en ai tellement marre! J'ai lutté pour résoudre ce problème pendant des jours! Cela m'a presque donné une crise de nerfs une fois. Par exemple, la dernière entrée que j'ai essayé d'ajouter était une entrée pour un jeu Windows (en utilisant Wine):

[Desktop Entry]
Name=Venus Patrol 1.1
Icon=/usr/share/icons/venuspatrol.jpg
Type=Application
Categories=Game;
Exec=wine "/home/LOL/Autres/ProgramFiles/Games/Venus Patrol 1.1/VENUS PATROL.exe"
Path="/home/LOL/Autres/ProgramFiles/Games/Venus Patrol 1.1"
Keywords=game;indie;jam;
Terminal=true
GenericName=Jeu indépendant de Neil Thapen initialement créé pour le concours TIGSource Cockpit Competition 2009

Je mets directement des programmes exécutables et des jeux (pas besoin d'installation, principalement des jeux Windows) dans le répertoire "/home/LOL/Autres/ProgramFiles". Je n'aime pas manipuler les dossiers root, car je suis obligé d'ouvrir le Gestionnaire de fichiers en tant que root et de parcourir tous les dossiers du système.

Que le chemin contienne des espaces ou non, cela ne fonctionne pas. Que je précise le chemin de l'environnement WINEPREFIX ou non, cela ne fonctionne pas. J'ai essayé Alacarte, mais cela ne fonctionne pas non plus. J'ai lu ceci, mais ça n'a pas aidé.

S'il vous plaît, aidez-moi, j'ai besoin d'aide. Avez-vous des idées?

PS: ... Eh bien, oui, je suis une personne tatillonne

ÉDITER: Ainsi, après la réponse de M. Gruber, j'ai mis à jour mon fichier .desktop, sans succès:

[Desktop Entry]
Name=Venus Patrol 1.1
Icon=/usr/share/icons/venuspatrol.jpg
Type=Application
Categories=Game;
TryExec=/home/LOL/Autres/ProgramFiles/Games/Venus\sPatrol\s1.1/VENUS\sPATROL.exe
Exec=wine "/home/LOL/Autres/ProgramFiles/Games/Venus Patrol 1.1/VENUS PATROL.exe"
Path="/home/LOL/Autres/ProgramFiles/Games/Venus Patrol 1.1"
Keywords=game;indie;jam;
Terminal=true
GenericName=Jeu indépendant de Neil Thapen initialement créé pour le concours TIGSource Cockpit Competition 2009.

Que je précise la variable Path ou non, comme toujours, cela ne fonctionne pas. Ça peut être lié à Wine (WINEPREFIX, ce genre de choses), car j'ai (supposément) finalement bien écrit le champ Exec.

2voto

SiIverTongue Points 135

Si vous utilisez des fonctionnalités de shell, vous devez utiliser sh -c "la commande". De plus, avec Wine, vous devez définir le répertoire en cours pour certaines choses. man wine

0voto

John S Gruber Points 12997

Je vous suggère d'essayer de changer votre ligne Exec en :

Exec="/usr/bin/wine /home/LOL/Autres/ProgramFiles/Games/Venus Patrol 1.1/VENUS PATROL.exe"

0voto

Cyriuz Points 1

J'ai également rencontré ce problème exact et je ne pouvais pas le résoudre avec aucune des réponses que j'ai pu trouver nulle part. Il s'est avéré que j'avais accidentellement défini les mauvaises autorisations sur le fichier du bureau. Si les autorisations ne sont pas définies sur 644 (sudo chmod 644 [nom_fichier]), le lien dans le lanceur ne fonctionnera pas pour moi pour une raison quelconque. Peut-être que cela pourrait être aussi votre problème?

0voto

Thevirtua Points 1

Sur le chemin= Mettez le / à la fin

exemple:

Chemin="/home/LOL/Autres/ProgramFiles/Games/Venus Patrol 1.1/"

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X