これは、シングルで簡単に実行できます。 .reg
を作成して、Wine内のファイルタイプをネイティブアプリケーションに関連付ける方法で回答されたファイルタイプ 目的のファイルタイプ。ただし、これはAVI専用です。私は、さまざまなファイルを起動できるいくつかのワインアプリ(uTorrent、Soulseek、Eudoraなど)を使用しています。たとえば、電子メールの添付ファイルには、JPG、DOC、PDF、PPSなどがあります。電子メールで受信したりトレントでダウンロードしたりする可能性のあるすべてのファイルタイプを追跡することは不可能です(望ましくありません)。
そのため、より一般的で幅広いソリューションが必要でした。現在構成されているネイティブアプリを尊重するには、ファイルの関連付けが必要です。そして、これをすべてで実行してほしい システムで構成されているファイルの種類。
ソリューションを一般的なものにする方法はすでに理解しています。起動したアプリを.reg
で置き換えるだけです winebrowser
の場合 、このように:
[HKEY_CLASSES_ROOT.pdf]
@="PDFfile"
"Content Type"="application/pdf"
[HKEY_CLASSES_ROOTPDFfileShellOpencommand]
@="C:\windows\system32\winebrowser.exe "%1""
私はこれをテストしました、そしてそれは正しく働きます。 winebrowserはxdg-open
を使用するため バックエンドとして、WindowsパスをUnixパスに変換すると、正しい(Linux)アプリが起動します。
そのため、wineのレジストリへの「バッチ」アップデーター、つまりwine-update-associations
が必要です。 新しいアプリがインストールされるたびに実行できるスクリプト。たぶん次のことができるツール:
- デフォルトでインストールされているシステム内のすべてのMimeタイプタイプを一覧表示します 関連するアプリ
- 必要なすべての情報(グロブ、MIMEタイプなど)を抽出します
- 上記の形式で.REGファイルを生成します
トリッキーな部分は次のとおりです。Ubuntu10.10以降で関連付けがどのように行われるかについての情報を見つけるためにLOTを検索しましたが、控えめに言っても、ドキュメントは不足していて混乱しています。 Freedesktop.orgには完全な仕様がなく、Gnomeのドキュメントでさえ廃止されています。これまでに4を集めました アソシエーション情報を含むが、どの(または理由)を使用するか、またはそれらを使用して.reg
を生成する方法がわからないファイル ファイル:
~/.local/share/applications/mimeapps.list
~/.local/share/applications/miminfo.cache
/usr/share/applications/miminfo.cache
/etc/gnome/defaults.list
ヘルプ、スクリプト、説明をいただければ幸いです。
ありがとう!
承認された回答:
数年後、私は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 "$linen" if ($def || @apps)
}'
デフォルトでは、私のスクリプトはWindowsレジストリにハンドラーを持たないネイティブタイプのみを登録しますが、そのような関連付けをオーバーライドすることもできます(たとえば、jpeg
ファイルは、デフォルトのGeckoワインの代わりにネイティブビューアーで開かれますブラウザ)。
Windowsにハンドラがない場合でも、一部の拡張機能を無視することもできます。
これは、winemenubuilderに対応するように最善を尽くします。つまり、作成するすべてのアソシエーションは、winemenubuilderによってネイティブアソシエーションとして(またはx-wine-extension
mimetypesとして)公開されないため、醜く、ループが発生する可能性があります。 。
これは非常にトリッキーですが、まだ完全ではありません。特に、大文字と小文字が混在する拡張子があります
(たとえば、.Cと.c)
そうは言っても、このスクリプトがすべての人にとって有益であることを願っています:
https://github.com/MestreLion/wine-tools/blob/master/wine-import-extensions
改善を歓迎します!