如何处理不同应用程序(不是 Nautilus 中)中的文件关联?

如何处理不同应用程序(不是 Nautilus 中)中的文件关联?

也许我不了解系统。升级到(重新安装)Ubuntu 11.04。

应用程序是否可以以某种方式使用我在 Nautilus 中设置的内容,或者这只是一个错误的使用想法?

在 nautilus 中,文件关联功能非常好,简单,方便等等......

我遇到的第一个问题是在安装 Chromium 时。下载一个文件,弹出窗口要求关联,设置 Nautilus。它只打开文件夹,对任何文件都显示错误:它不是目录。好的,所以我以为 Google Chrome 变了,因为以前 .pdf 可以打开 Acrobat,.torrent 可以打开 Vuze 等等。但现在我必须用它在下载文件夹中打开 Nautilus,然后手动选择并打开首选应用程序,无法使用我以前使用的任何自动化功能。

然后在 gnome commander 中,它没有遵循我在 nautilus 中设置的默认关联。好吧,也许是 commander 的问题。使用它自己的。

然后在 calibre 中,“读取”再次使用此默认的“无法打开它不是目录”错误

因此在我看来应用程序没有很好地使用这个文件关联或者我真的不明白文件关联系统的目的(mime,.desktop 文件,...)

如果没有解决方案,我想我必须搜索一些程序(如果存在的话),它可以识别和启动应用程序并将其设置为默认值而不是 nautilus。

答案1

注释掉.local/share/applications/mimeapps.list

inode/directory=rhythmbox.desktop;vlc.desktop;smplayer.desktop;

并插入

inode/directory=nautilus-folder-handler.desktop;

答案2

删除或注释掉(在行前添加“#”)

x-scheme-handler/file=exo-file-manager.desktop

来自此文件:

.本地/共享/应用程序/mimeapps.列表

致谢停止使用文件管理器以外的其他应用程序打开文件夹UbuntuForums:无法直接从 Chrome 打开文件 - 打开 Nautilus链接

答案3

您必须.desktop从该应用程序编辑文件并添加 mime 类型

例如(下面的例子来自一个我必须自己修复的应用程序)

[Desktop Entry]
Encoding=UTF-8
Name=Guitar Pro 6
Comment=Tablature Edition Software
Exec=GuitarPro6 %u
Terminal=false
X-MultipleArgs=false
Type=Application
Icon=GuitarPro6.png
Categories=Application;AudioVideo;
MimeType=audio/x-gtp;

示例中的最后一行显示了关联。

如果你想创建一个新的 mimetype,你应该这样做:在以下位置创建一个新文件/usr/share/mime/packages/

例如GuitarPro6.xml

<?xml version="1.0" encoding="UTF-8"?>
<mime-info xmlns="http://www.freedesktop.org/standards/shared-mime-info">
    <mime-type type="audio/x-gtp">
        <comment>Guitar Pro tab</comment>
            <glob pattern="*.gpx"/>
            <glob pattern="*.gp3"/>
            <glob pattern="*.gp4"/>
            <glob pattern="*.gp5"/>
        </mime-type>
</mime-info>

创建文件后,只需运行sudo update-mime-database /usr/share/mime/

答案4

我已经创建了vue.xmlvue.desktop文件,并使用以下内容更新了 mime 类型数据库:

sudo update-mime-database /usr/share/mime/

但收到错误

Unknown media type in type 'office/vue'

然后我将<mime-type type="office/vue">MimeType=office/vue改为<mime-type type="application/vue">MimeType=application/vue,这样就成功了。

正确的 mime 类型文件是:

<?xml version="1.0" encoding="UTF-8"?>  
<mime-info xmlns="http://www.freedesktop.org/standards/shared-mime-info">  
    <mime-type type="application/vue">  
        <comment>Vue file</comment>  
            <glob pattern="*.vue"/>  
            <glob pattern="*.vpk"/>  
        </mime-type>  
</mime-info> 

我的 *.desktop 文件是:

[Desktop Entry]  
Encoding=UTF-8  
Name=VUE  
Categories=Office  
Exec=java -jar /usr/share/VUE/VUE.jar  
Icon=/usr/share/VUE/vue.gif  
StartupNotify=false  
Terminal=false  
Type=Application  
Comment=Visual Understanding Environment Application  
StartupWMClass=tufts-vue-VUE  
MimeType=application/vue

相关内容