手动为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

Linux关联文件扩展名和打开程序的更多相关文章

  1. WIN7/XP用注册表关联指定后缀名和打开程序(手动【图文】和C编程两种实现)

    前言: 本文是基本原理介绍和手动的操作.程序实现该功能在http://blog.csdn.net/arvon2012/article/details/7839556,同时里面有完整代码的下载. 今天在 ...

  2. 三、Linux系统中的文件类型和文件扩展名

    .sock文件也是一类特殊的文件,这类文件通常用在网络之间进行数据连接,如:我们可以启动一个程序来监听客户端的要求,客户端可以通过套接字来进行通信: linux中的文件类型 文件类型介绍 Linux系 ...

  3. Linux文件系统简介一(磁盘分区、开机过程、目录结构、文件权限、文件扩展名、目录管理)

    Linux:就是一组软件,一套操作系统=核心+系统呼叫接口层. 1.操作系统 操作系统 = 核心(内核) + 系统呼叫(接口) 操作系统其实也是一组程序,重点在于管理计算机的所有活动以及驱动系统中的所 ...

  4. Linux文件扩展名

    在linux中,扩展名没什么实际意义.但是为了兼容winodows,同时便于我们大多数习惯了windows的用户区分文件的不同,所以我们还是习惯通过扩展名来表示不同的文件类型. ①系统文件 扩展名 说 ...

  5. Microsoft Excel软件打开文件出现文件的格式与文件扩展名指定格式不一致?

    今天winform代码做一个datagridview数据导出功能,导出的excel文件的后缀是*.xls(Micorsoft Excel 2000), 而本机新建的excel文件的后缀是 *.xlsx ...

  6. 打开Excel时提示"您尝试打开的文件**.xls的格式与文件扩展名指定的格式不一致"

    问题描述:     系统安装了WPS时,Analyzer导出excel时候,会提示"您尝试打开的文件**.xls的格式与文件扩展名指定的格式不一致",这是Excel的安全问题,   ...

  7. Excel:您尝试打开的文件的格式与文件扩展名指定的格式不一致

    报错信息: 打开文件时提示"您尝试打开的文件xxx.xls的格式与文件扩展名指定的格式不一致.打开文件前请验证文件没有损坏且来源可信.是否立即打开该文件?",卸载Office 20 ...

  8. Excel无法打开文件xxx.xlsx,因为文件格式或文件扩展名无效。请确定文件未损坏,并且文件扩展名与文件的格式匹配

    office版本:2016 系统版本:win10 问题描述: 1.桌面新建excel表格后,打开时,提示“Excel无法打开文件xxx.xlsx,因为文件格式或文件扩展名无效.请确定文件未损坏,并且文 ...

  9. 【原创】打开Excel时提示"您尝试打开的文件**.xls的格式与文件扩展名指定的格式不一致"

    问题描述:     系统安装了WPS时,Analyzer导出excel时候,会提示"您尝试打开的文件**.xls的格式与文件扩展名指定的格式不一致",这是Excel的安全问题,   ...

随机推荐

  1. Java Web项目实现写日志功能

    第一步:导入log4j-1.2.16的jar包 第二步:在servlet包里编写写日志的servlet,代码如下: public class InitServlet extends HttpServl ...

  2. docker启动容器报错 Unknown runtime specified nvidia.

    启动docker容器时,报错 问题复现 当我启动一个容器时,运行以下命令: docker run --runtime=nvidia .... 后面一部分命令没写出来,此时报错的信息如下: docker ...

  3. 痞子衡嵌入式:MCUXpresso IDE下添加C++源文件进SDK工程编译的方法

    大家好,我是痞子衡,是正经搞技术的痞子.今天痞子衡给大家介绍的是MCUXpresso IDE下添加C++源文件进SDK工程编译的方法. 最近有客户反映在MCUXpresso IDE下的SDK工程里添加 ...

  4. 第一次软件工程与UML作业

    这个作业属于哪个课程 https://url.cn/IMQa18Jo 这个作业要求在哪里 https://edu.cnblogs.com/campus/fzzcxy/2018SE1/homework/ ...

  5. canvas的简单绘制及设置

    <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> </head> ...

  6. python的多种魔术方法

    目录 new str & repr iter getitem.setitem.delitem getattr.setattr.delattr call slots 定制类和魔法方法 new s ...

  7. 一篇带你快速入门ansible和使用

    #基本概述 ansible是一款开源自动化工具,基于python paramiko模块开发,分布式,无需客户端 官网网址:https://www.ansible.com 官方文档:https://do ...

  8. ansible-doc到底有多好用,助你玩转各种模块

    #使用ansible-doc:查看各种模块的帮助 #命令格式: ansible-doc -l #列出所有的模块列表 ansible-doc -s 模块名 #查看指定模块的参数 ansible-doc ...

  9. Oracle学习(九)存过、游标、RECORD整合

    一.代码 /*1.定义存过*/ CREATE OR REPLACE PROCEDURE PRO_RE_USER_ORD_GOODS( --NOW_DATE格式:YYYYMMDD 如:20190801( ...

  10. 【记】《.net之美》之读书笔记(一) C#语言基础

    前言 工作之中,我们习惯了碰到任务就直接去实现其业务逻辑,但是C#真正的一些基础知识,在我们久而久之不去了解巩固的情况下,就会忽视掉.我深知自己正一步步走向只知用法却不知原理的深渊,所以工作之余,一直 ...