salut
je cherche à ouvrir des fichiers d’algorigramme, ( algorithmes ) qui finissent en .alg
Plus généralement, si j’ai un fichier .truc, peut-on explorer la base de fichiers pour trouver tous ceux qui l’ouvrent , avec une commande du genre
apt-cache suffixe truc
?
Imagines que tu trouves un fichier .lmk
Existe-t-il un moyen de connaître les programmes ( les .deb) qui peuvent ouvrir ce fichier ( qui vont à l’installation créer un lien mime entre le programme et les .lmk ).
Et ce sans les installer.
Un peu comme apt-cache search cherche des données sur les .deb
J’ai pensé à ça car j’ai retrouvé des vieux fichiers algobox, et je ne savais par comment les ouvrir.
Dans mes souvenirs, si Windows se base sur l’extension d’un fichier pour savoir comment l’ouvrir, ce n’est pas le cas de Linux. L’information est stockée à l’intérieur du fichier, dans son header typiquement. Voir man file pour plus d’informations.
Donc peu de chance de trouver un utilitaire qui se base sur l’extension, puisque ce n’est pas comme ça que fonctionne le système.
Pour aller plus loin, tu peux demander à file ne te donner le type MIME du fichier (option --mime), tu peux prendre le résultat et le chercher dans ton moteur de recherche favori (ou pas).
Alors en cherchant sur le web comment trouver les applications selon le type MIME, on peut trouver des solutions comme ce script python (ici) qui fonctionne :
#!/usr/bin/env python3
from gi.repository import Gio
import sys
if len(sys.argv) != 2:
print('Error: Exactly one command line argument needed')
sys.exit(1)
for app in Gio.app_info_get_all_for_type(sys.argv[1]):
print(app.get_id())
Il se base sur le module gi.repository de Python : gi.repository is the Python module for PyGObject (which stands for Python GObject introspection) which holds Python bindings and support for the GTK+ 3 toolkit and for the GNOME apps.
Maintenant qu’est-ce qu’il couvre exactement comme applications ? y-a-t-il moyen de mieux l’adapter à Debian ? Cela dépasse mes compétences, mais c’est intéressant…
Mais tout cela ne répond pas à la question : ils ne donnent un programme que s’il est déjà installé et uniquement par rapport au type mime , pas au suffixe
mais on avance, merci à tous
Si si ta question 2 a été répondue : Linux n’utilisant pas les extensions de fichiers, la réponse est NON, tout simplement.
Si tu veux absolument te baser sur l’extension d’un fichier, il faut te tourner vers des sites comme FileInfo, qui fonctionnent avec une base de données.
Oui et non.
je sais qu’il se base sur les mime, mais :
Je viens de créer un fichier html, je clique dessus, ça ouvre firefox ; je le renomme en .pdf et il essaie de s’ouvrir avec atril/evince
donc il se base sur l’extension
si je fais file HTML5.html.pdf, j’obtiens
HTML5.html.pdf: HTML document, ASCII text
mais si je clique droit , propriétés, ( avec nemo ) il me dit file Document (application/pdf) alors que le m$ême document avec html : Texte (text/html)
Donc linux/bash utilise les mime
L’explorateur de fichiers les extensions
reste plus qu’à trouver le fichier qui référence les extensions dans nemo
au début, tu parlais d’une appli genre apt-cache : là, je pense que ça n’existe pas, et pour de bonnes raisons.
ensuite, je ne sais pas quel DE tu utilises, mais il existe dans les paramètres (au moins sous Gnome) les « applications par défaut », et quand tu cliques sur un fichier dans un explorateur, c’est ça qu’on utilise, pour les extensions les plus connues comme .html. Pour les .txt, un click droit, « ouvrir avec… » et tu peux choisir aussi ton appli préférée et toujours l’utiliser. Cette action doit effectivement être stockée dans un fichier, mais nécessite une action de ta part. Et c’est lié au DE pas à l’OS.
Tout ça pour dire : si tu cliques sur un fichier .alg (avec l’appli algobox d’installée), est-ce que l’association fonctionne par défaut ?
Sinon, tu auras le même choix sur un click droit pour faire l’association.
Tout ça pour dire qu’il n’y a pas de règle unique mais file, comme l’extension ou le contenu aident à savoir à quoi on a affaire.
Un fichier avec une extension .pk3, utilisé dans Quake 3, n’est rien d’autre qu’une archive zip.
Un script en python ou un fichier pour algobox ne sont rien d’autre que du texte, voir aussi ligne suivante.
Un fichier avec une extension .txt peut être du texte encodé en utf8, en lat1, ou autre.
Un fichier avec une extension .doc peut être, hou là, plein de choses, merci MicroMou.
6 jours pour un problème de mime, ça fait beaucoup quand-même.
Il n’y a pas de problème spécifique de fichier .alg, ou algobox, vérification en 5 minutes, sans même installer algobox, mais seulement avec 3 fichiers système du paquet algobox:
$ file ftest.alg
ftest.alg: XML 1.0 document, ASCII text
Test d’ouverture dans environnement KDE, à partir de Dolphin, ou Nemo (Gtk3): aucun problème.
Hypothèse: le fichier ~/.config/mimeapps.list a été trop tripatouillé.
Solution à essayer: le supprimer.
Les choix mimes seront ceux par défaut du système pour repartir propre.
la question comment ouvrir des fichiers .alg est résolue depuis longtemps avec blunt , point 2 : avec algobox.
la question suivante est : si j’ai un fichier avec une extension que je ne connais pas et qu’aucun programmes n’est associé avec, comment puis-je savoir le programme à installer.
file donnera une indication, ou ouvrir le contenu du fichier (si format texte par exemple, xml ou autre) permettra de savoir de quoi il s’agit, voir regarder le header en hexa pour un binaire.
Plutôt que de tirer des plans sur la comète sur un problème virtuel, ouvre un sujet le jour où ça arrivera, avec un exemple concret.
Pour un type de fichier, il peut y avoir X solutions d’applications.
Donc pas de solution générale miracle pour trouver un ‹ .deb › qui corresponde à un type d’extension de fichier.
Ça ne doit pas arriver tous les jours non plus…
Au cas par cas.