팀뷰어 홈페이지에서 파일을 다운받아와서 yum으로 설치했다.
그러자 CentOS 7가 내게 내놓은 대답은
Error in file "/usr/share/applications/org.gnome.font-viewer.desktop": "font/ttf" is an invalid MIME type ("font" is an unregistered media type)
Error in file "/usr/share/applications/org.gnome.font-viewer.desktop": "font/otf" is an invalid MIME type ("font" is an unregistered media type)
이게 무슨 뜻인지 알기 위해 검색해보았다.
2. 'font/ttf'랑 'font/otf'라는 MIME 타입이 유효하지 않다는 뜻이다.
MIME 타입은 컨텐츠 타입이라고도 하는데, 해당 데이터가 어떤 타입인지를 알아야
이메일을 받는 입장에서 이 데이터를 해석할 수 있다.
게다가 'font' 자체가 미디어 타입에 등록이 안 되어있다고 한다.
그럼 미디어 타입에 등록되어 있는건 뭐가 있을까?
마이크로소프트 윈도우즈 사용자는 많이 접해봤을 화면이 있다.
만약 .pdf로 된 파일을 열려고 하면 위와 같은 화면을 보게 될지도 모른다.
해당 파일이 가진 데이터 타입을 처리할 수 있는 앱으로 데이터를 열어달라는 소리이다.
마찬가지로 GNOME Desktop에도 비슷한 기능이라고 보면 될 것 같다.
리눅스 데스크탑에서 어떤 파일의 속성을 보면 아래와 같은 창을 만날 수 있다.
이 파일은 image/png라는 MIME type을 가지고 있다.
(Terminal에선 'file' 명령어로 확인 가능하다. 아래는 예시이다.
$ file ./picture.png --mime-type
./Downloads/picture.png: image/png
3. 그래서 어떤 타입들이 있는가?
MIME database는 GNOME에서 사용하기 위해 모든 MIME type들을 저장해놓은 꾸러미이다.
$ vi /usr/share/mime/packages/freedesktop.org.xml
에서 MIME type에 대한 정보들을 확인할 수 있다.
4. 모든 유저를 위해 커스텀 MIME type을 추가하고 싶어요!
이 곳의 12.3.2. Adding a Custom MIME Type for All Users 파트를 따라가도록 하자.
5. 리눅스에는 이러한 데스크톱 파일들을 관리하기 위한 유틸리티가 존재한다.
desktop-file-utils는 다음의 네 가지 프로그램을 포함하고 있다.
desktop-file-edit : is used to modify an existing desktop file entry.
desktop-file-install : is used to install a new desktop file entry. It is also used to rebuild or modify the MIME-types application database.
desktop-file-validate : is used to verify the integrity of a desktop file.
update-desktop-database : is used to update the MIME-types application database.
자신의 desktop-file-utils의 버전을 확인하고 싶다면
$ rpm -qa | grep "desktop-file"
을 입력해서 확인해보자.
이렇게.
6. 그래서 팀뷰어 설치할 때 생기는 에러는 어떻게 없애는데?
삼천포로 빠져버렸다.
이 곳에서 나와 같은 문제로 고민하는 사람들이 남긴 대화 내역이 있다.
$ update-desktop-database
를 해봐도 위의 에러는 여전히 등장했다. 즉 데이터베이스를 업데이트 하려 해도
에러는 동일하게 발생했다는 것.
아마도 desktop-file-utils의 버전이 0.23-1보다 높은 곳에서 패치가 된 듯 한데
우분투, 페도라에 관한 글들은 많았지만 CentOS(RHEL)에 대한 얘기는 없었다.
7. desktop-file-utils 0.24를 찾아냈다. 컴파일해보려 했다.
근데 $ ./configure 부터 애를 먹었다.
(No package 'glib-2.0' found in CentOS 7)
glib-2.0이 없다고 한다.
그래서
$ sudo yum install glib2 glib2-devel
명령어로 설치해보았다.
뭔가 잘 된 것 같다.
그 다음 make
그리고 make install
(root 권한으로 진행해야 한다.)
(에러가 나지 않는다)
8. 그런데 진짜 문제는..
근데도 설치 안 된다.
TeamViewer.. 왜이렇게 설치 실행이 어려울까.
댓글 없음:
댓글 쓰기