如何在 Linux 中将文件扩展名与我自己的 Python 脚本关联起来?

如何在 Linux 中将文件扩展名与我自己的 Python 脚本关联起来?

我编写了Python脚本来打开pickled图形文件,调用它view_fig_pickle.py并将其放入~/bin目录中。

现在如何将其与以“.fig.pickle”结尾的文件关联?

答案1

第 1 步:创建新的 mime 类型

创建~/.local/share/mime/packages/一个包含内容的文件text-fig.pickle.xml

<?xml version="1.0"?>
<mime-info xmlns='http://www.freedesktop.org/standards/shared-mime-info'>
  <mime-type type="text/fig.pickle">
    <comment>my new mime type</comment>
    <glob pattern="*.fig.pickle"/>
  </mime-type>
</mime-info>

准备好此 xml 文件后,更新 mime 类型数据库:

update-mime-database ~/.local/share/mime

如果您的系统上安装了该命令mimetype,您可以进行快速验证:

touch test.fig.pickle
mimetype test.fig.pickle
  test.fig.pickle: text/fig.pickle

第 2 步:.desktop为您的应用程序创建文件

创建~/.local/share/applications/一个包含内容的文件view_fig_pickle.desktop

[Desktop Entry]
Exec=view_fig_pickle.py %F
Icon=view_fig_pickle.png
Name=View Fig Pickle
Terminal=false
Type=Application

在哪里

  • Exec是您的应用程序,它是可执行的并且在您的路径中
  • Icon是一个图标~/.icons(即使该图标不存在,您也可以保留此条目)
  • Name是文件管理器上下文菜单中显示的文本

第 3 步:将您的应用程序与新的 MIME 类型相关联

xdg-mime default view_fig_pickle.desktop text/fig.pickle

核实:

xdg-mime query default text/fig.pickle
  view_fig_pickle.desktop

xdg-open test.fig.pickle

如果您在文件浏览器中单击该文件,该文件也应该test.fig.pickle在 中打开。view_fig_pickle.py

但是,您可能还需要在文件管理器中进行关联(右键单击该文件,选择Open with...,然后View Fig PickleOther子菜单中选择)。

要恢复此修改:

第 1 步:删除 mime 类型

rm ~/.local/share/mime/packages/text-fig.pickle.xml
update-mime-database ~/.local/share/mime

第2步:删除关联

编辑~/.local/share/applications/mimeapps.list并删除该行text/fig.pickle=view_fig_pickle.desktop

步骤 3:删除过时的.desktop文件

rm .local/share/applications/view_fig_pickle.desktop

相关内容