2019-09-06

TeamViewer 14를 설치하던 도중 만나게 된 오류들

1. sudo yum install ./teamviewer_14.5.5819.x86_64.rpm

팀뷰어 홈페이지에서 파일을 다운받아와서 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.. 왜이렇게 설치 실행이 어려울까.



댓글 없음:

댓글 쓰기