Đối với những người đang tìm cách thiết lập một hiệp hội ứng dụng cho các phần mở rộng tệp , KHÔNG phải là một mô phỏng:
Rõ ràng, Ubuntu / Linux giữ điều này một cách gián tiếp: * phần mở rộng tệp -> loại MIME * loại MIME -> ứng dụng để mở * Ứng dụng -> danh sách các loại MIME tương thích
Đối với Ubuntu (18.x), chúng được mô tả trong:
phần mở rộng tệp -> loại MIME
Đây là trong các tập tin trong /usr/share/mime/packages/
. Ví dụ:
sudo touch /usr/share/mime/packages/staruml.xml
sudo cat << EOF > /usr/share/mime/packages/staruml.xml
<?xml version="1.0" encoding="UTF-8"?>
<?xml version="1.0" encoding="UTF-8"?>
<mime-info xmlns='http://www.freedesktop.org/standards/shared-mime-info'>
<mime-type type="application/staruml-project">
<comment>StarUML project</comment>
<glob pattern="*.MDJ"/>
<glob pattern="*.mdj"/>
</mime-type>
</mime-info>
EOF
Loại MIME -> ứng dụng để mở
Điều này được thúc đẩy bởi ~/.local/share/applications/mimeapps.list
và chi tiết các câu trả lời khác.
[Default Applications]
echo 'application/staruml=staruml.desktop' >> ~/.local/share/applications/mimeapps.list
## Or, for global:
echo 'application/staruml=staruml.desktop' >> /usr/share/applications/mimeapps.list
Ứng dụng -> danh sách các loại MIME tương thích
Điều này được thúc đẩy bởi các .desktop
tập tin trong /usr/share/applications/
. Tập tin đó có thể chứa một MimeType=
mục với danh sách các loại MIME được phân tách bằng dấu chấm phẩy. Chẳng hạn, ứng dụng EOG có: MimeType=image/bmp;image/gif;image/jpeg;image/jpg;...
v.v.
sudo touch /usr/share/applications/staruml.desktop
sudo cat << EOF > /usr/share/applications/staruml.desktop
[Desktop Entry]
Name=StarUML
Comment=StarUML
GenericName=StarUML
Exec=/sw/prog/StarUML/StarUML-3.1.0-x86_64.AppImage %U
Icon=/sw/prog/StarUML/staruml.png
Type=Application
StartupNotify=false
Categories=Development;Programming;Modeling;UML
MimeType=application/staruml-project;
EOF
Điều này làm cho nó một vòng tròn đầy đủ. Các thay đổi có hiệu lực sau khi chạy
sudo update-mime-database /usr/share/mime
và, cho các biểu tượng,
sudo gtk-update-icon-cache /usr/share/icons/gnome -f
Hoặc, nó có thể cần bạn đăng xuất / đăng nhập.
Sau đó, bạn sẽ có thể thấy điều này:
$ mimetype .mdj
.mdj: application/staruml-project
Tham khảo: https://coderwall.com/p/qjda2q/create-new-mime-type-and-assign-an-icon-to-it-in-ubfox