Linux关联文件扩展名和打开程序 - Go语言中文社区

Linux关联文件扩展名和打开程序


手动为Linux关联文件扩展名与打开程序。

当Linux不认识某种扩展名的时候,需要为此扩展名创建一个MIME类型。Linux是依据MIME类型而不是扩展名来决定打开程序的。

再将此种MIME类型与某程序菜单项关联。

手动关联步骤

  1. 为扩展名建造一个MIME类型

    如果你的Linux已经认得这种扩展名,不需要做这一步。在你的文件管理器中,看看这种扩展名的文件有没有被正确识别。或使用file命令查看。

    创建 application-x-扩展名.xml 内容:

    <?xml version="1.0" encoding="UTF-8"?>
    <mime-info xmlns="http://www.freedesktop.org/standards/shared-mime-info">
       <mime-type type="application/x-扩展名">
           <comment>此种文件类型的描述</comment>
           <icon name="application-x-扩展名"/>
           <glob-deleteall/>
           <glob pattern="*.扩展名"/>
       </mime-type>
    </mime-info> 
    

    application-x-扩展名.xml~/.local/share/mime/packages/
    刷新系统MIME数据库

    $ update-mime-database ~/.local/share/mime
    
  2. 为程序建造一个菜单项

    如果此程序已经有菜单项,略过这一步。

    创建程序.desktop , 内容:

    [Desktop Entry]
    Version=1.0
    Type=Application
    Name=显示的程序名
    Icon="/path-to/图标文件"
    Exec="/path-to/执行程序" %f
    Path="/path-to/" (可选)
    NoDisplay=false (true则不会在系统菜单中出现)
    Categories=Utility;
    StartupNotify=false
    Terminal=false
    

    其关键在于Exec=行中的%f将文件路径传递给执行程序。
    Exec=也可以没有绝对路径直接使用命令,Icon=也可以不用路径而直接写系统认可的图标名称。
    程序.desktop 文件到 ~/.local/share/applications/

  3. 设置用某程序打开MIME类型文件
    修改 ~/.config/mimeapps.list~/.local/share/applications/mimeapps.list(废弃)

    [Added Associations]
    application/x-扩展名=程序.desktop;其他程序.desktop;其他程序2.desktop;
    

    其中application/x-扩展名是你刚刚所创建的MIME类型。如果MIME类型是原有的不是刚刚创建的,替换为原有的MIME类型名称。

参考

https://wiki.archlinux.org/index.php/Default_applications#MIME_database

版权声明:本文来源博客园,感谢博主原创文章,遵循 CC 4.0 by-sa 版权协议,转载请附上原文出处链接和本声明。
原文链接:https://www.cnblogs.com/garyw/p/12769264.html
站方申明:本站部分内容来自社区用户分享,若涉及侵权,请联系站方删除。
  • 发表于 2021-05-31 22:18:34
  • 阅读 ( 860 )
  • 分类:Linux

0 条评论

请先 登录 后评论

官方社群

GO教程

猜你喜欢