Dies ist für einen einzelnen Dateityp einfach möglich , wie unter Wie ordne ich einen Dateityp in Wine einer nativen Anwendung zu? , indem Sie einen .reg
für den gewünschten Dateityp erstellen. Dies gilt jedoch nur für AVI. Ich verwende einige Wein-Apps (uTorrent, Soulseek, Eudora, um nur einige zu nennen), mit denen eine Vielzahl von Dateien gestartet werden können. E-Mail-Anhänge können beispielsweise JPG, DOC, PDF, PPS sein. Es ist unmöglich (und nicht wünschenswert), alle möglichen Dateitypen aufzuspüren, die in einer E-Mail empfangen oder in einem Torrent heruntergeladen werden können.
Also brauchte ich eine Lösung, um allgemeiner und umfassender zu sein. Ich benötige die Dateizuordnung, um die derzeit konfigurierte native App zu berücksichtigen. Und ich möchte, dass dies für alle in meinem System konfigurierten Dateitypen durchgeführt wird.
Ich habe bereits herausgefunden, wie die Lösung generisch gemacht werden kann. Einfaches Austauschen der ins Leben gerufen App .reg
für winebrowser
, wie folgt aus :
[HKEY_CLASSES_ROOT\.pdf]
@="PDFfile"
"Content Type"="application/pdf"
[HKEY_CLASSES_ROOT\PDFfile\Shell\Open\command]
@="C:\\windows\\system32\\winebrowser.exe \"%1\""
Ich habe dies getestet und es funktioniert richtig. Da Winebrowser xdg-open
als Backend verwendet und meinen Windows-Pfad in einen Unix-Pfad konvertiert, wird die richtige (Linux-) App gestartet.
Ich brauche also einen "Batch" -Update für die Registrierung von Wine, eine Art wine-update-associations
Skript, das ich ausführen kann, wenn eine neue App installiert wird. Vielleicht ein Werkzeug, das:
- Listen Sie alle Mime-Typ-Typen in meinem System auf , denen eine standardmäßig installierte App zugeordnet ist
- Extrahieren Sie alle benötigten Informationen (Glob, MIME-Typ usw.)
- Generieren Sie die .REG-Datei im obigen Format
Der schwierige Teil ist: Ich habe viel gesucht, um Informationen darüber zu finden, wie die Zuordnung in Ubuntu 10.10 erfolgt, und die Dokumentation ist, gelinde gesagt, knapp und verwirrend. Freedesktop.org hat keine vollständige Spezifikation, und selbst Gnome-Dokumente sind veraltet. Bisher habe ich 4 Dateien gesammelt , die Zuordnungsinformationen enthalten, aber ich weiß nicht, welche (oder warum) ich sie verwenden soll oder wie ich sie zum Generieren der .reg
Datei verwenden soll:
~/.local/share/applications/mimeapps.list
~/.local/share/applications/miminfo.cache
/usr/share/applications/miminfo.cache
/etc/gnome/defaults.list
Jede Hilfe, jedes Skript oder jede Erklärung wäre sehr dankbar!
Vielen Dank!
quelle
Everything
selbst gefunden, aber ich wollte Sie nur informierenBEARBEITEN:
Es gibt einen Weinfehler - der eher eine Verbesserung als ein Fehler ist. Der Punkt ist, einen
ShellExecute
Anruf zu habenxdg-open
und, falls nicht gefunden, nach Gnome- und KDE-Standardeinstellungen zu suchen. Sie sollten in der Lage sein, den Patch anzuwenden und endlich die Magie zu haben :-). Diese Lösung ist sauberer, da sie nicht mit der Registrierung in Konflikt geraten muss.Um vollständiger zu sein, erfahren Sie hier, wie Sie Wein aus der Quelle patchen und kompilieren .
END EDIT
Ich aktualisiere die Weinregistrierung mit dem folgenden Skript, um eine Liste gängiger Dateitypen hinzuzufügen.
Sie können die Liste erweitern, um weitere Typen hinzuzufügen.
Es wird
/usr/bin/gnome-open
in dergstart.exe
Datei verwendet, sodass es für Nicht-Gnome-Desktops nicht so funktioniert, wie es ist .Geben Sie dies ein
conf_wine.sh
:Das
gstart.exe
ist ein Bash-Skript ... und ist die Brücke zu beiden Welten:Anmerkungen:
gstart.exe
Sie es vor dem Ausführen in Ihr aktuelles Arbeitsverzeichnis,conf_wine.sh
da es in den.wine
Ordner kopiert wird .gstart.exe
nicht sitzenc:\
.Wine FAQ: Wie verbinde ich ein native Programm mit einem Dateityp in Wein?
quelle
gnome-open
over zu verwendenxdg-open
, was ich bereits in der Frage erwähnt habe, und es ist weitaus portabler. Zweitens reicht die Hardcodierung einiger Dateierweiterungen für mich nicht aus: Wie gesagt: "Ich benötige die Dateizuordnung, um die derzeit konfigurierte native App zu berücksichtigen. Dies soll für alle in meinem System konfigurierten Dateitypen erfolgen." Und mir ist bewusst, dass dies schwierig ist. Es ist die "Magie", die Sie in Ihrer Notiz Nr. 3 erwähnt haben, die mich interessiert;)mimeapps.lst
, die ich hier nicht installiert habe, und einige verweisen auf eine Wine-App (die Endlosschleifen verursachen würde)Ich habe überall Informationen gesammelt und festgestellt, dass Folgendes funktioniert:
Ich habe eine Datei mit dem Namen ~ / .wine / drive_c / gstart.exe erstellt
mit den folgenden :
Dann: Erstellt eine Datei namens linuxnative.reg in meinem ~ / bin
mit den folgenden :
dann machst du a
regedit linuxnative.reg
Hoffe das hilft.
quelle
gstart.exe
Skripts.