我想设置一个默认的特定程序来打开任何文件,绝对任何文件(*.*),任何扩展名,任何 MIME 类型。绝对所有
我建立了一个python程序来自动为任何文件选择程序。app-chooser.py内容:
#!/usr/bin/python
import sys, os, os.path
filename = sys.argv[1];
extension = os.path.splitext(filename)[1];
if extension == "txt":
os.system("gedit " + filename);
if extension == "mp4":
os.system("vlc " + filename);
if extension == "html":
os.system("opera " + filename);
if extension == ".py":
os.system("python " + filename);
if extension == ".sh":
os.system("bash " + filename);
if extension == ".exe":
os.system("wine " + filename);
exit()
app-chooser.py 在独立的 Linux 可执行文件中编译,位于“/usr/bin/app-chooser”。
答案1
你可以为你的程序定义一个新的 mimetype:
创建一个文件,例如
~/.local/share/mime/packages/application-x-app-chooser.xml
包含以下内容:<?xml version="1.0" encoding="UTF-8"?> <mime-info xmlns="http://www.freedesktop.org/standards/shared-mime-info"> <mime-type type="application/x-app-chooser"> <comment>mime type matching all files with an extension</comment> <icon name="application-x-app-chooser"/> <glob-deleteall/> <glob pattern="*.*"/> </mime-type> </mime-info>
更新 MIME 数据库:
update-mime-database ~/.local/share/mime
设置
.desktop
用于打开匹配文件的文件:xdg-mime default /path/to/file.desktop application-x-app-chooser
使用~/.local/share/mime
将其安装为用户特定的 mime 类型,将此路径替换/usr/share/mime
为系统范围的安装。