
우분투가 어떻게 애플리케이션의 적절한 이름을 알아낼 수 있는지 궁금합니다. 예를 들어 상황에 맞는 메뉴에서 선택하면 Open with -> Other application
다음 목록이 표시됩니다.
개발자는 Ubuntu에 애플리케이션 이름을 어떻게 가르치며, 다른 개발자는 시스템에서 애플리케이션 이름을 어떻게 검색할 수 있습니까? 실제 코드는 필요하지 않고 개념적인 측면에만 관심이 있습니다.
답변1
이는 애플리케이션의데스크탑 항목 파일. 데스크톱 항목 파일은 다양한 메타데이터도 포함하는 응용 프로그램의 실행 프로그램(데스크톱에서 생성할 수 있는 실행 프로그램과 동일한 파일 형식)입니다. 응용 프로그램이 설치되면 이러한 데스크탑 항목 파일은 /usr/share/applications에 배치되며 속도 향상을 위해 해당 내용도 캐시되는 것 같습니다.
여기에 정의된 중요한 데이터는 애플리케이션이 열 수 있는 MIME 유형 목록입니다. 이는 데스크탑 항목 파일의 'MimeType' 키에 정의됩니다. 예를 들어, GIMP의 데스크탑 항목에는 다음이 포함됩니다.
MimeType=application/postscript;application/pdf;image/bmp;image/g3fax;image/gif;image/x-fits;image/pcx;image/x-portable-anymap;image/x-portable-bitmap;image/x-portable-graymap;image/x-portable-pixmap;image/x-psd;image/x-sgi;image/x-tga;image/x-xbitmap;image/x-xwindowdump;image/x-xcf;image/x-compressed-xcf;image/tiff;image/jpeg;image/x-psp;image/png;image/x-icon;image/x-xpixmap;image/svg+xml;image/x-wmf;
김프가 열 수 있는 파일 형식의 목록을 지정합니다.
애플리케이션 이름은 'Name' 키로 지정됩니다.
Name=GIMP Image Editor
보시다시피 이름 옆에 아이콘이 있습니다. 이는 또한 데스크탑 항목 파일에 아이콘 이름(아이콘 테마에서 올바른 파일을 조회함) 또는 아이콘 파일 경로로 지정됩니다. 김프에는 다음이 있습니다:
Icon=gimp
'다른 프로그램으로 열기 -> 다른 응용 프로그램' 대화 상자에서 권장 응용 프로그램은 해당 파일 형식을 열 수 있음을 지정하는 응용 프로그램이고 다른 응용 프로그램은 열 수 없는 응용 프로그램입니다.
응용 프로그램을 선택하면 파일 관리자는 파일을 열기 위해 응용 프로그램을 실행하는 방법을 찾습니다. 데스크탑 항목에서 'Exec' 키를 찾습니다. 김프에는 다음과 같은 Exec 키가 있습니다:
Exec=gimp-2.6 %U
이는 다음 명령을 의미합니다.
gimp-2.6 %U
%U
열기 위해 선택한 파일을 나타내는 URL(일반적으로 file:// url) 목록으로 대체된 파일을 열기 위해 실행됩니다 . '%U' 외에도 애플리케이션은 단일 URL에 '%u'를 사용하거나 단일/다중 파일 경로에 '%f'/'%F'를 사용할 수 있습니다.
답변2
그것은 꽤 쉽습니다. 이 정보가 포함된 .desktop 파일이 있습니다.
[Desktop Entry]
Name=Image Viewer
Comment=Browse and rotate images
Exec=eog %U
Type=Application
Categories=GNOME;GTK;Graphics;RasterGraphics;Viewer;
MimeType=image/bmp;image/gif;image/jpeg;image/jpg;image/pjpeg;image/png;image/tiff;image/x-bmp;image/x-gray;image/x-icb;image/x-ico;image/x-png;image/x-portable-anymap;image/x-portable-bitmap;image/x-portable-graymap;image/x-portable-pixmap;image/x-xbitmap;image/x-xpixmap;image/x-pcx;image/svg+xml;image/svg+xml-compressed;image/vnd.wap.wbmp;
/usr/share/applications에서 볼 수 있습니다.