R nowebファイルのデフォルトアプリケーションを設定しようとしていますが、指定する場所が見つかりませんでした。その理由は、ファイルマネージャが指定されたスキームの代わりに、またはファイル拡張子(.Rnw)でファイル形式を決定するようです。無料デスクトップウェブサイト(例:mimeapps.list、mimeinfo.cache、defaults.list...)
pcmanfmとthunarをファイルマネージャとして使ってみました。ファイルタイプの決定については同意しますが、xdg-mime query filetype
ユーティリティについては異なります。以下の最小例と構成ファイルを参照してください。
また、xdg-mime
ユーティリティはlocalを無視しているように見えますが、mimeapps.list
ファイルマネージャはそれを尊重します。
これ質問例: ファイルの種類がこれらのファイル マネージャーの名前拡張子によって決まると仮定していますか?関連する設定はどこにありますか?
私はウィンドウマネージャとpcmanfm
デスクトップマネージャとしてAwesome WMを使用します。
修正する:私が見つけたこのチュートリアルでは、pcmanfmのファイル拡張子について説明します。しかし、私の問題はまだMIMEタイプと推論されたタイプがpcmanfm
一致しないことです(rnoweb.Rnw
MIMEタイプですtext/plain
。rnoweb0.Rnw
はいinode/x-empty
、しかし両方がpcmanfm
リストされていますR Sweave file
)。
アップデート 2 [解決済み]:
@mjiはxmlファイルをに入れることを提案しました。~/.local/share/mime/packages
このファイルはすでに/usr/share/mime/text/x-r-sweave.Rnw
。<comment>
また、x-r-sweave
ファイルにMIMEタイプを割り当てます。私の質問ですでにこれを見つけましたが、無視しました。 (検索しましたx-r-noweb
)
最小限の例:
空のディレクトリに4つのファイルを作成しました。 2つは空で、2つはサンプルの内容です。
touch plain0 rnoweb0.Rnw
cat > plain <<EOF
text
EOF
cat > rnoweb.Rnw <<EOF
<<>>=
1+1
@
EOF
このファイルに対して実行し、xdg-mime query filetype
次xdg-mime query default
の結果を得ます。
filename MIME type Default app
-------------------------------------------------
plain text/plain medit.desktop
plain0 inode/x-empty
rnoweb0.Rnw inode/x-empty
rnoweb.Rnw text/plain medit.desktop
ただし、ファイル形式は「R Sweave File」と表示され、thunar
ファイルはプレーンテキスト文書(ドイツ語で「Einfaches Textdokument」)として表示されます。ファイルマネージャにリストされているデフォルトのアプリケーションは.GVim用です。pcmanfm
*.Rnw
plain*
RStudio
*.Rnw
plain*
xdg-mime
プレーンテキストファイルは、そのユーティリティとは異なりますが、私のローカル設定に一致するGVimを使用して開きます。.local/share/applications/mimeapps.list
私のシステムで唯一一致するファイルは次のとおりlocate mimeinfo
です。locate mimeapps
/etc/xdg/mimeapps.list
/usr/share/applications/mimeinfo.cache
~/.local/share/applications/mimeapps.list
~/.local/share/applications/mimeinfo.cache
grep
rstudio
これらのファイル(rstudio.desktop)が発生するとpingが生成されます(同様の結果はにまとめられています{...}
)。
/usr/share/applications/mimeinfo.cache
application/x-r-data=rstudio.desktop;
application/x-r-project=rstudio.desktop;
text/css=rstudio.desktop;
text/html=firefox.desktop;abiword.desktop;calibre-ebook-edit.desktop;rstudio.desktop;elinks.desktop;
text/javascript=rstudio.desktop;
text/x-R=rstudio.desktop;
text/x-markdown=rstudio.desktop;
text/x-r=rstudio.desktop;
text/x-r-{doc,markdown,history,html,presentation,profile,source,sweave}\
=rstudio.desktop;
text/x-tex=texstudio.desktop;gvim.desktop;rstudio.desktop;
XDG仕様に記載されている他のファイルにはrstudio
。
grep
text/plain
MIMEタイプをpingすると、次のような結果が得られます。
/etc/xdg/mimeapps.list : text/plain=medit.desktop;
/usr/share/applications/mimeinfo.cache : text/plain=medit.desktop;libreoffice-writer.desktop;gvim.desktop;abiword.desktop;
~/.local/share/applications/mimeapps.list : text/plain=gvim.desktop
~/.local/share/applications/mimeapps.list : text/plain=gvim.desktop;
答え1
MIME情報ファイルの作成
$ vi ~/.local/share/mime/packages/x-r-noweb.xml
$ cat ~/.local/share/mime/packages/x-r-noweb.xml
<?xml version="1.0" encoding="UTF-8"?>
<mime-info xmlns="http://www.freedesktop.org/standards/shared-mime-info">
<mime-type type="text/x-r-noweb">
<comment>R noweb</comment>
<glob pattern="*.Rnw"/>
</mime-type>
</mime-info>
MIMEデータベースの更新
$ update-mime-database ~/.local/share/mime/
$ xdg-mime query filetype rnoweb0.Rnw
text/x-r-noweb
$ mimetype -d rnoweb0.Rnw
rnoweb0.Rnw: R noweb
$ mimetype rnoweb0.Rnw
rnoweb0.Rnw: text/x-r-noweb
これで基本アプリケーションを設定できるようになりました
$ xdg-mime default nice-app.desktop text/x-r-noweb
# (or edit ~/.local/share/applications/mimeapps.list)
$ xdg-mime query default text/x-r-noweb
nice-app.desktop