MIME 형식 변경하기

프로그램이 <MIME>/packages 디렉토리에 설치한 소스 XML 파일들을 절대로 직접 수정해서는 안됩니다. 대신 Overrides.xml 파일을 수정하십시오. 이 파일은 동일한 packages 디렉토리에 설치된 다른 모든 소스 XML 파일보다 높은 우선순위를 가집니다. 만약 여러분이 프로그램 개발자라면 이 규칙이 적용되지 않습니다. 이 때는 적절한 <MIME>/packages 디렉토리에 새로운 소스 XML 파일을 만들어야 합니다. (물론 Makefile에서 이를 처리하도록 할 것입니다).

여러분은 시스템 상의 모든 사용자를 위한 MIME 데이터베이스나, 변경하는 위치에 해당하는 특정 사용자를 위한 MIME 데이터베이스를 수정할 수 있습니다. 모든 사용자에 대한 데이터베이스를 수정하려면 $XDG_DATA_DIRS/mime/packages 디렉토리 내의 Overrides.xml 파일을 변경하면 됩니다. 특정 사용자를 위한 데이터베이스를 수정하려면 $XDG_DATA_HOME/mime/packages 디렉토리 내의 Overrides.xml 파일을 변경하면 됩니다.

수정을 하고나면 항상 MIME 데이터베이스의 디렉토리 위치를 첫번째 인자로 주어 update-mime-database 프로그램을 실행해야 합니다.

5.4.1. MIME 형식 추가 또는 수정하기

모든 사용자에 대한 하나 이상의 MIME 형식을 추가하려면 다음과 같이 하십시오:

  1. MIME 형식의 정의를 포함하고 있는 기존의 Overrides.xml 소스 XML 파일을 수정하거나 새로 만듭니다. 자세한 정보는 5.3항 ― 소스 XML 파일 부분을 보기 바랍니다.
  2. /usr/share/mime/packages 디렉토리에 Overrides.xml 파일을 가져다 놓습니다.
  3. 시스템 계정으로 update-mime-database 프로그램을 실행하여 MIME 데이터베이스를 갱신합니다.
    update-mime-database /usr/share/mime

특정한 사용자에 대한 하나 이상의 MIME 형식을 추가하는 것은 위와 동일한 과정을 거치지만 ~/.local/share/mime/packages 디렉토리 내의 Overrides.xml 파일을 이용한다는 것이 다릅니다. 그리고 update-mime-database 프로그램을 실행할 때는 첫번째 인자로 ~/.local/share/mime/packages를 주어야 합니다.

5.4.2. 변경 내용을 확인하기

MIME 데이터베이스를 변경하고 그 내용을 갱신하고나면 gnomevfs-info 프로그램을 이용하여 변경된 내용이 적용되었는지 확인할 수 있습니다. 이 프로그램은 특정 파일에 대한 MIME 형식 및 다른 유용한 정보들을 출력해 줍니다.

SVG 파일에 대해 gnomevfs-info 프로그램을 실행하면 아래와 같은 출력을 볼 수 있습니다. 이 MIME 형식에 대한 기본 프로그램은 eog.desktop(이)라는 것을 알 수 있을 것입니다. 기본 프로그램에 대한 내용은 5.5항 ― MIME 형식을 위한 등록하기 부분에서 논의할 것입니다.

$ gnomevfs-info mime-diagram.svg
Name              : mime-diagram.svg
Type              : Regular
MIME type         : image/svg+xml
Default app       : eog.desktop
Size              : 14869
Blocks            : 32
I/O block size    : 4096
Local             : YES
SUID              : NO
SGID              : NO
Sticky            : NO
Permissions       : 600644
Link count        : 1
UID               : 1000
GID               : 100
Access time       : Wed Feb 22 18:24:47 2006
Modification time : Wed Feb 22 18:24:42 2006
Change time       : Wed Feb 22 18:24:42 2006
Device #          : 775
Inode #           : 297252
Readable          : YES
Writable          : YES
Executable        : NO
$

5.4.3항 ― application/x-newtype 예제에서는 새로운 MIME 형식을 만들고 gnomevfs-info 프로그램을 이용하여 이를 확인하는 과정을 수행해 볼 것입니다.

5.4.3. application/x-newtype 예제

MIME 형식을 새로 만들고 (혹은 수정하고) 이를 확인하려면 다음과 같이 하십시오:

  1. 홈 디렉토리에 testing.xyz라는 아무 내용없는 새 파일을 만듭니다.

  2. gnomevfs-info 프로그램을 이용하여 이 파일의 MIME 형식을 확인합니다. 이 파일은 어떤 glob 패턴이나 매직 규칙에 해당하지 않으므로 MIME 형식은 text/plain으로 인식될 것입니다.

  3. 5.4.1항 ― MIME 형식 추가 또는 수정하기 부분에서 설명한대로 Overrides.xml 파일을 만듭니다. (이미 있다면 수정합니다.) 파일의 내용은 예제 5-3의 것을 사용합니다.

  4. update-mime-database 프로그램을 이용하여 데이터베이스를 갱신합니다.

  5. gnomevfs-info 프로그램을 이용하여 변경 사항이 적용되었는지 확인합니다. testing.xyz 파일의 MIME 형식이 application/x-newtype으로 인식되는 것을 볼 수 있을 것입니다.

    $ gnomevfs-info testing.xyz | grep MIME
    MIME 형식         : application/x-newtype
    $
예제 5-3Overrides.xml 파일
<?xml version='1.0' encoding='utf-8'?>
<mime-info xmlns="http://www.freedesktop.org/standards/shared-mime-info">
  <mime-type type="application/x-newtype"><comment>new mime type</comment><glob pattern="*.xyz"/></mime-type>
</mime-info>