だから私はアンインストールしなければならなかったPPA バージョンのxournalとをしてからビルドソース(と変更)。そして今、.xojファイルはKDEのアーカイブマネージャーArkで自動的に開き、Dolphinの右クリックメニューから[プロパティ]を選択すると、タイプが「Gzipアーカイブ」である
と識別されます。 。)以下のすべてにもかかわらず、この状況は持続します。
1)ソースパッケージに付属しているこれらのファイルをコピーした:
- xournal.xml
/ usr / share / mime / packagesという/に
- xournal.desktop
には、/ usr / share /アプリケーション/
- x-xoj.desktop
には、/ usr / share / mimelnk /アプリケーション/
2)
application/x-xoj=xournal.desktop;
〜/ .local / share / applications / mimeapps.listに行を 追加しました
3)ファイルの関連付けのシステム設定にMIMEタイプapplication/x-xoj
を追加しました
(適切なコンテンツを使用):(. gz拡張子のみ
を指定することに注意してください:。)
application/x-gzip
4)ここで
提案されているxournal.xml
ように/ usr / share / mime / applicationにコピー
5) sudo update-mime-database /usr/share/mime
6)コンピューターを再起動しました
編集した追加する:
7)[.xojファイルを右クリック] - >で開く- >その他... - >、ダニが'ファイルのこのタイプのアプリケーションの関連付けを保存する] [「xournalと」を選択]もあり無効。
編集の終わり
これはKubuntu 12.04にあります。
だから、私は何が欠けていますか?
編集して追加しましたが、この質問のように
、file --mime-type [filename]
とmimetype [filename]
コマンドが異なる結果を生成することを発見しました:
archelon@ingelrayok:~/Documents/xournal$ file --mime-type 2014-02-22-Note-02-09.xoj
2014-02-22-Note-02-09.xoj: application/x-gzip
archelon@ingelrayok:~/Documents/xournal$ mimetype 2014-02-22-Note-02-09.xoj
2014-02-22-Note-02-09.xoj: application/x-xoj
ただし、application/x-gzip
/ etc / mime.types にはエントリがありません(file
コマンドはそこから情報を取得すると思われます)。そして、実際には、そのファイルの冒頭のコメントによると、部分的に読み取るべきではありません:
注:「gzip」、「bzip」、「compress」などの圧縮スキームは、実際には「mime-types」ではありません。これらは「エンコーディング」であるため、このファイルに拡張子をマッピングするエントリを含めることはできません。エンコードされたファイルの「MIMEタイプ」とは、エンコードのタイプではなく、エンコードされたデータのタイプを指します。
そのコメントはまた言っている
ユーザーは、ホームディレクトリに「.mime.types」ファイルを作成して、必要に応じて独自のタイプを追加できます。そこに含まれる定義は、ここにリストされている定義よりも優先されます。
現在、そのようなファイルはありません。私のホームディレクトリには、mimetype
コマンドの出力に明らかに関連するファイルがいくつかあります(作成しませんでした)。これらには
~/.local/share/mime/application/x-xoj.xml
、
~/.local/share/mime/packages/application-x-xoj.xml
、および
~/.local/share/mime/types
そのテキストのみが含まれていますapplication/x-xoj
。
実際、ディレクトリ〜/ .local / share / mime /とその中のすべては同じタイムスタンプ(昨夜22:19)を持っているため、おそらく同じプロセスで生成されたと思われます。
mimetypeとfileのマンページを見て、環境変数$XDG_DATA_HOME
とを確認することにしました$XDG_DATA_DIRS
。しかし、私は、環境変数の値を報告する方法を知りませんでしたので、私が試したcat $XDG_DATA_HOME
、その設定(何も)の値を代わりにそれを報告します。 追加するために編集:またはそう私は最初に考えました。後で説明するように、実際には既に設定されていません。ここでecho $XDG_DATA_HOME
環境変数について読んで学んだように、正しいコマンドはです。それで、それ$XDG_DATA_DIRS
が設定されていることを発見しました/usr/share/default:/usr/local/share/:/usr/share/
; これらの最初のものは存在しません。私はそれは重要ではないと思いますが、とにかくコマンドを実行しました
XDG_DATA_HOME=$HOME/.local/share
そして
XDG_DATA_DIRS=/usr/local/share/:/usr/share/
標準に一致する。これらのいずれも違いをもたらすとは思いませんが、今度は別の再起動を試みます(とにかく、これらの環境変数は自動的にリセットされると思いますが)。次の編集:はい、そうでした。実際、変数XDG_DATA_HOME
は再びヌルになりました。
とにかく、KDEは使用している機能でfile
はなく、使用している機能を使用しているようですmimetype
。私が物事を正しく理解していれば、これはMIMEタイプの代わりに魔法を使用していることを意味します。私は今、この問題全体に魔法が関与しているのではないかと疑っています。
新しい編集
そのため、file
マンページでは、これらがベースラインマジックファイルであると言っているようです。
/usr/share/misc/magic.mgcマジックのデフォルトのコンパイル済みリスト。
/ usr / share / misc / magicデフォルトのマジックファイルを含むディレクトリ。
(私はこれらを持っています; / usr / share / misc / magicは空のフォルダー/ usr / share / file / magicへのリンクで、/ usr / share / misc / magic.mgcはファイル/ usr / share /へのリンクですfile / magic.mgc-後者はgobbledygookでいっぱいの2.1 MBファイルです)および次のテキスト:
これらのファイルを識別する情報
(つまり、「ファイルの先頭近くの特定の場所に「マジックナンバー」が保存されているファイル」)
/ etc / magicおよびコンパイルされたマジックファイル
/usr/share/misc/magic.mgcから、または
コンパイルされたファイルが存在しない場合はディレクトリ/ usr / share / misc / magicのファイルから読み込まれます。さらに、
$ HOME / .magic.mgcまたは$ HOME / .magicが存在する場合、
システムマジックファイルよりも優先して使用されます。
(ここでstrace
提案されているように、これで確認しました。)$ HOME / .magic.mgcも$ HOME / .magicもシステムに存在しません。しかし、おそらくxojファイルにはファイルを魔法のように識別するgobbledygookが正確に含まれapplication/x-gzip
ているため、それらを作成しても意味がありません(間違っている場合は修正してください)。
したがって、私が探している解決策は、MIMEタイプ仕様で特定のファイル拡張子のマジックをオーバーライドする方法です。私はそれがどのように達成されるかについてのヒントを提供するかもしれないように見える何かを見たと思ったが、私は今それを見つけることができない。しかし、確かにそのような方法が存在します。
xoj
Dolphinのファイルでコンテキストメニューを開き、[開く... ] を選択してから[アプリケーションの関連付けを記憶する...]をチェックしましたか?