Cela se fait facilement pour un seul type de fichier, comme indiqué dans Comment associer un type de fichier dans Wine à une application native? , en créant un .reg
pour le type de fichier souhaité. Mais c'est uniquement pour AVI. J'utilise certaines applications Wine (uTorrent, Soulseek, Eudora, pour n'en nommer que quelques-unes) qui peuvent lancer un large éventail de fichiers. Les pièces jointes aux e-mails, par exemple, peuvent être JPG, DOC, PDF, PPS ... il est impossible (et non souhaitable) de retrouver tous les types de fichiers possibles que l'on peut recevoir dans un e-mail ou télécharger dans un torrent.
J'ai donc besoin d'une solution plus générique et plus large. J'ai besoin de l'association de fichiers pour honorer n'importe quelle application native actuellement configurée. Et je veux que cela soit fait pour tous les types de fichiers configurés dans mon système.
J'ai déjà compris comment rendre la solution générique. Il suffit de remplacer l'application lancée .reg
pour winebrowser
, comme ceci:
[HKEY_CLASSES_ROOT\.pdf]
@="PDFfile"
"Content Type"="application/pdf"
[HKEY_CLASSES_ROOT\PDFfile\Shell\Open\command]
@="C:\\windows\\system32\\winebrowser.exe \"%1\""
J'ai testé cela et cela fonctionne correctement. Étant donné que winebrowser utilise xdg-open
comme backend et convertit mon chemin Windows vers un chemin Unix, l'application (Linux) correcte est lancée.
J'ai donc besoin d'un programme de mise à jour "batch" pour le registre de wine, une sorte de wine-update-associations
script que je peux exécuter chaque fois qu'une nouvelle application est installée. Peut-être un outil qui peut:
- Liste de tous les types de types MIME de mon système auxquels une application installée par défaut est associée
- Extraire toutes les informations nécessaires (glob, type mime, etc.)
- Générez le fichier .REG dans le format ci-dessus
La partie délicate est: j'ai cherché beaucoup pour trouver des informations sur la façon dont l'association se fait dans Ubuntu 10.10 et la documentation est pour le moins rare et confuse. Freedesktop.org n'a pas de spécifications complètes, et même les documents Gnome sont obsolètes. Jusqu'à présent, j'ai rassemblé 4 fichiers qui contiennent des informations d'association, mais je ne sais pas sur lequel (ou pourquoi) utiliser, ni comment les utiliser pour générer le .reg
fichier:
~/.local/share/applications/mimeapps.list
~/.local/share/applications/miminfo.cache
/usr/share/applications/miminfo.cache
/etc/gnome/defaults.list
Toute aide, script ou explication serait grandement appréciée!
Merci!
la source
Everything
ÉDITER:
Il y a un bug de vin à ce sujet - qui est plus une amélioration qu'un bug. Le point est d'avoir un
ShellExecute
appelxdg-open
et, s'il n'est pas trouvé, de rechercher les valeurs par défaut de gnome et kde. Vous devriez pouvoir appliquer le patch et enfin avoir la magie :-). Cette solution est plus propre car elle n'a pas besoin de jouer avec le registre.Pour être plus complet, voici comment patcher et compiler du vin à partir de la source .
FIN DE LA MODIFICATION
Je mets à jour le registre des vins avec le script ci-dessous pour ajouter une liste des types de fichiers courants.
Vous pouvez étendre la liste pour ajouter d'autres types.
Il utilise
/usr/bin/gnome-open
dans legstart.exe
fichier afin qu'il ne fonctionne pas tel quel pour les postes de travail non gnome .Mettez ceci dans
conf_wine.sh
:C'est
gstart.exe
un script bash ... et c'est le pont vers les deux mondes:Remarques:
gstart.exe
dans votre répertoire de travail actuel avant de l'exécuterconf_wine.sh
car il le copiera dans le.wine
dossier.gstart.exe
n'a pas à s'asseoirc:\
.FAQ sur Wine: Comment associer un programme natif à un type de fichier dans Wine?
la source
gnome-open
overxdg-open
, que j'ai déjà mentionné dans la question, et qui est beaucoup plus portable. Deuxièmement, le codage en dur de quelques extensions de fichier est insuffisant pour moi: comme je l'ai dit, "J'ai besoin de l'association de fichiers pour honorer n'importe quelle application native actuellement configurée. Et je veux que cela soit fait pour tous les types de fichiers configurés dans mon système." Et je sais que c'est délicat. C'est la "magie" dont vous avez parlé dans votre note # 3 qui m'intéresse;)mimeapps.lst
que je n'ai pas installés ici, et certains pointent vers une application Wine (ce qui provoquerait des boucles infinies)J'ai rassemblé des informations partout et j'ai trouvé ce qui suit pour fonctionner:
J'ai créé un fichier appelé ~ / .wine / drive_c / gstart.exe
avec ce qui suit:
Ensuite: créé un fichier appelé linuxnative.reg dans mon ~ / bin
avec ce qui suit:
alors tu fais un
regedit linuxnative.reg
J'espère que cela t'aides.
la source
gstart.exe
script.