Mes*_*ion 8 wine scripts mime-type file-association
对于单个文件类型,这很容易完成,如如何将 Wine 中的文件类型与本机应用程序关联?, 通过.reg为所需的文件类型创建一个。但这仅适用于 AVI。我使用一些可以启动各种文件的 Wine 应用程序(uTorrent、Soulseek、Eudora 等等)。例如,电子邮件附件可以是 JPG、DOC、PDF、PPS……它不可能(也不可取)追踪一个人可能在电子邮件中收到或在 torrent 中下载的所有可能的文件类型。
所以我需要一个更通用和更广泛的解决方案。我需要文件关联来兑现当前配置的任何本机应用程序。我希望对系统中配置的所有文件类型都执行此操作。
我已经想出了如何使解决方案通用。只需替换.regfor 中启动的应用程序winebrowser,如下所示:
[HKEY_CLASSES_ROOT\.pdf]
@="PDFfile"
"Content Type"="application/pdf"
[HKEY_CLASSES_ROOT\PDFfile\Shell\Open\command]
@="C:\\windows\\system32\\winebrowser.exe \"%1\""
Run Code Online (Sandbox Code Playgroud)
我已经测试过这个并且它工作正常。由于 winebrowserxdg-open用作后端,并将我的 Windows 路径转换为 Unix 路径,因此启动了正确的 (Linux) 应用程序。
所以我需要一个“批量”更新程序到 wine 的注册表,一种wine-update-associations可以在安装新应用程序时运行的脚本。也许一个工具可以:
棘手的部分是:我已经搜索了很多关于如何在 Ubuntu 10.10 及以后的版本中完成关联的信息,并且至少可以说文档是稀缺和混乱的。Freedesktop.org 没有完整的规范,甚至 Gnome 文档也已过时。到目前为止,我已经收集了4 个包含关联信息的文件,但我不知道使用哪个(或为什么),或者如何使用它们来生成.reg文件:
~/.local/share/applications/mimeapps.list
~/.local/share/applications/miminfo.cache
/usr/share/applications/miminfo.cache
/etc/gnome/defaults.list
Run Code Online (Sandbox Code Playgroud)
任何帮助、脚本或解释将不胜感激!
谢谢!
几年后,我制作了一个小实用程序,可以扫描 MIME 数据库(系统和用户)并在 Windows 注册表中注册所有已知的本机 mime 类型。
xdg-open如果存在该 mime 类型的默认(本机)应用程序,则它用于打开文件,否则packagekit用于搜索可以处理该文件的包(就像 Nautilus 所做的那样)。因此,我最初的要求是仅注册已安装的本机应用程序的扩展,而不再需要了。然而,该脚本的早期版本确实仅过滤此类类型。使其成为可能的片段是:
perl -e '
use strict; use warnings;
use File::MimeInfo::Magic; use File::MimeInfo::Applications;
while (my $line = <STDIN>) {
chomp($line);
my ($ext, $mime) = (split/\t/, $line);
my ($def, @apps) = mime_applications_all($mime);
print "$line\n" if ($def || @apps)
}'
Run Code Online (Sandbox Code Playgroud)
默认情况下,我的脚本仅注册在 Windows 注册表中没有处理程序的本机类型,但它也可以覆盖此类关联(例如,jpeg 文件在本机查看器中打开,而不是在默认的 Gecko wine 浏览器中打开)。它也可以忽略一些扩展,即使它们在窗口中没有处理程序。
它尽力做到对 winemenubuilder 友好,这意味着它创建的所有关联都不会由 winemenubuilder 作为本机关联(或 x-wine-extension mimetypes)发布,这会很丑陋并且可能会导致循环。这非常棘手并且还不完美,特别是对于混合大小写的扩展名(例如 .C 和 .c)
也就是说,我希望这个脚本对每个人都有帮助:
https://github.com/MestreLion/wine-tools/blob/master/wine-import-extensions
欢迎改进!
| 归档时间: |
|
| 查看次数: |
5917 次 |
| 最近记录: |