
이름을 기반으로 파일을 여는 애플리케이션을 정의하고 싶습니다.
예를 들어, 숭고한 또는 원자로 열리거나 Gemfile
라는 파일을 원합니다 .Dockerfile
MIME 유형을 사용할 수 있다는 것을 알고 있지만 두 파일 모두 text/plain
.
아니면 무언극 장르가 있나요 Gemfile
?
답변1
파일 이름 기반 일치는 MIME 유형을 정의하는 가장 간단한 방법 중 하나입니다. Gemfiles 또는 Dockerfiles에 대한 공식 MIME 유형은 없지만 살펴보면 많은 비공식 MIME 유형이 , 또는 와 같이 일반적으로 이름이 지정되어 있음 /usr/share/mime/packages/
을 알 수 있습니다 .<sub-class-of type="text/plain"/>
text/x-*
text/x-python
text/x-markdown
사용자 정의 MIME 유형을 추가하는 것은 일반적으로 간단합니다. 특히 파일 이름만 사용할 수 있는 경우에는 더욱 그렇습니다.
현재 mimetype을 관찰하면 Dockerfile
둘 Gemfile
다 다음과 같습니다 text/plain
.
$ xdg-mime query filetype Dockerfile
text/plain
$ xdg-mime query filetype Gemfile
text/plain
또는이라는 text/x-dockerfile
파일에 대한 새 MIME 유형을 생성 하고 파일에 대한 새 MIME 유형을 생성합니다. 이렇게 하려면 다음 내용으로 이름이 지정된 XML 파일을 만듭니다.Dockerfile
*.dockerfile
text/x-gemfile
Gemfile
x-dockerfile.xml
<?xml version="1.0"?>
<mime-info xmlns='http://www.freedesktop.org/standards/shared-mime-info'>
<mime-type type="text/x-dockerfile">
<comment>Dockerfile</comment>
<sub-class-of type="text/plain"/>
<glob pattern="Dockerfile"/>
<glob pattern="*.dockerfile"/>
</mime-type>
</mime-info>
그리고 x-gemfile.xml
다음 내용으로 이름이 지정된 또 다른 파일은 다음과 같습니다.
<?xml version="1.0"?>
<mime-info xmlns='http://www.freedesktop.org/standards/shared-mime-info'>
<mime-type type="text/x-gemfile">
<comment>Gemfile</comment>
<sub-class-of type="text/plain"/>
<glob pattern="Gemfile"/>
</mime-type>
</mime-info>
다음으로 mimetype을 설치합니다. 로컬 사용자의 경우 다음 명령을 실행합니다.
xdg-mime install --mode user x-dockerfile.xml
xdg-mime install --mode user x-gemfile.xml
update-mime-database ~/.local/share/mime
시스템 전체에 설치하려면 다음 명령을 실행하십시오.
xdg-mime install --mode system x-dockerfile.xml
xdg-mime install --mode system x-gemfile.xml
update-mime-database /usr/share/mime
감지된 MIME 유형이 이제 변경된 것을 확인했습니다.
$ xdg-mime query filetype Dockerfile
text/x-dockerfile
$ xdg-mime query filetype Gemfile
text/x-gemfile
이제 원하는 텍스트 편집기에 할당할 수 있습니다.