web-dev-qa-db-fra.com

Comment afficher toutes les applications lors du choix d'une application avec laquelle ouvrir un fichier?

J'essaie d'ouvrir un fichier d'un type inconnu (Pokemon Gold.gbc). Je double-clique dessus et je reçois le message "Impossible d'afficher '/ home/josh/Téléchargements/Pokemon ROMS/Pokemon Gold.gbc'. Le fichier est d'un type inconnu." Je clique sur "Sélectionner une application" puis sur "Afficher les autres applications". Cependant, toutes mes applications ne sont pas répertoriées dans cette liste, pas plus que celle que je souhaite (VBA-M [nom du package vbam-gtk]). Comment puis-je afficher toutes les applications installées dans ce menu afin de ne pas avoir à ouvrir le fichier du programme souhaité, je peux simplement le lancer en double-cliquant sur le fichier dans Nautilus?

Mise à jour: j'ai découvert que l'application peut être lancée à partir de

/usr/bin/vbam

ou de

/usr/share/applications/VBA-M

ou ligne de commande:

gvbam

Détails supplémentaires: j'ai installé ce package à partir d'un fichier .deb que j'ai reçu de Sourceforge, et non des référentiels (l'émulateur GameBoy dans les référentiels n'est pas satisfaisant).

Y at-il donc au moins un moyen de sélectionner le fichier exécutable avec lequel ouvrir le fichier inconnu?

Mise à jour 2:

J'ai tout essayé dans la première réponse ci-dessous sans succès. En guise de solution temporaire, j'ai changé l'extension de fichier de .gbc à .gb et jusqu'à présent, tout semble bien fonctionner. Cependant, je ne veux pas rester dans cette voie car je ne sais pas si cela va causer des problèmes.

4
Josh

Solution:

Dans le terminal, exécutez gedit ~/.local/share/applications/mimeapps.list. Dans le document texte qui s'ouvre, ajoutez la ligne application/octet-stream=gvbam.desktop; sous "[Associés associés]", qui devrait être en haut. Cela devrait forcer les fichiers .gbc, reconnus par Ubuntu comme flux d'octets, à s'ouvrir à l'aide de VBA-M.

Vous devrez également indiquer à VBA-M de charger une rom au lancement en procédant comme suit:

  • Dans le terminal, lancez gksudo gedit /usr/share/applications/gvbam.desktop
  • Dans le fichier qui s'ouvre, remplacez Exec=gvbam par Exec=gvbam %U

Ensuite, vous devrez exécuter Sudo update-desktop-database in terminal pour "appliquer" les modifications.

Lorsque vous cliquez sur "Ouvrir avec une autre application ..." dans le menu contextuel, puis sur "Afficher les autres applications", VBA-M devrait maintenant figurer dans la liste et le jeu devrait s'ouvrir correctement.

Si le fichier n'est pas reconnu comme une ROM de couleur GameBoy ou ne s'ouvre pas, renommez l'extension. Par exemple, si l'extension est ".gbc" (c.-à-d. GameBoy Color), renommez-la en ".gb" (c.-à-d. GameBoy) devrait le faire reconnaître en tant que ROM GameBoy.


Comment je suis arrivé à ma conclusion

Dans le terminal, exécutez gksudo gedit /usr/share/applications/gvbam.desktop. Dans la ligne "Exec = gvbam", ajoutez %U par la suite. Donc à la fin, la ligne entière devrait être Exec=gvbam %U.

Bien que cela ait ajouté VBA-M à la liste "Autres applications", (et me permet ainsi de définir VBA-M comme programme par défaut pour les fichiers .gbc ) le jeu ne fonctionne pas réellement; En fait, la fenêtre VBA-M ne s'affiche absolument nulle part. Je pense que cela est dû à la façon dont VBA-M fonctionne actuellement; dans un terminal, j'ai exécuté gvbam "Pokemon Gold.gbc", et l'erreur suivante a été renvoyée:

The program 'gvbam' received an X Window System error.
This probably reflects a bug in the program.
The error was 'BadAlloc (insufficient resources for operation)'.
  (Details: serial 474 error_code 11 request_code 154 minor_code 3)
  (Note to programmers: normally, X errors are reported asynchronously;
   that is, you will receive the error a while after causing it.
   To debug your program, run it with the --sync command line
   option to change this behavior. You can then get a meaningful
   backtrace from your debugger if you break on the gdk_x_error() function.)

Pour mieux tester cela, j'ai téléchargé une autre rom et j'ai choisi The Legend of Zelda: un lien vers le passé . Ayant déjà suivi les instructions ci-dessus pour ajouter VBA-M à la liste des applications, je l’ai choisi par défaut pour le jeu Zelda, qui était un fichier .gba; le jeu chargé bien. J'ai remarqué dans les propriétés des fichiers que le type .gbc était unknown (application/octet-stream), tandis que le type .gba était Game Boy Advance ROM (application/x-gba-rom); de toute évidence, quelque chose manquait dans l'association des roms GameBoy Color, qui ne manquait pas avec les roms GameBoy Advance.

J'ai essayé d'ajouter gbc en tant que type de fichier associé à application/octet-stream, et cela semblait résoudre le problème de l'ouverture du fichier .gbc. Cependant, je l'ai ensuite retiré et j'ai essayé d'ouvrir à nouveau le fichier .gbc, et cela fonctionnait toujours. Je ne suis pas sûr de ce que j'ai fait, mais maintenant cela fonctionne.


Réponse originale

Cela a eu un vote positif, donc puisque quelqu'un a pensé que c'était bon, je le laisse ici à quelqu'un d'autre qui s'en soucie. Cela étant dit, les informations ci-dessus sont probablement plus pertinentes pour la question.

Pour commencer, vous devez vous assurer que le type MIME de votre extension de fichier n'existe pas déjà. Ouvrez un terminal et entrez:

  • grep 'gbc' /etc/mime.types

S'il n'y a pas eu de sortie ou si la sortie donnée n'inclut pas votre extension, vous devez ajouter un type MIME.

Dans un terminal, ouvrez le fichier mime.types en exécutant gksudo gedit /etc/mime.types. Dans ce fichier, ajoutez la ligne suivante à la section "application":

application/gbc gbc

Il devrait y avoir des espaces supplémentaires entre les deux gbc - assurez-vous juste de bien aligner le deuxième gbc avec les autres extensions. Je montrerais, mais je ne suis pas sûr de savoir comment faire ceci sur askubuntu.


Sources:

2
DaimyoKirby