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개의 파일을 만들었습니다. 두 개는 비어 있고 두 개는 샘플 내용입니다.
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 유형을 핑하면 다음과 같은 결과를 얻습니다.
/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