为什么Firefox尝试使用Gedit打开.deb文件

我在Ubuntu 12.04上运行Firefox 15。

如果我访问带有.deb链接的网站,Firefox会下载该文件,然后尝试使用gedit打开它。 如果我使用Nautilus打开.deb文件,它会在gdebi或Ubuntu软件中心运行它(我已经对它们进行了实验)。

奇怪的是,无论我做了什么,我似乎都无法让Firefox相信不应该通过gedit打开debs。 请参阅下面的mimeapps.list 。 此外,/ /usr/share/applications/defaults.list .deb中没有对我的.deb文件的引用

FF在对话框中打开

〜/。本地/共享/应用/ mimeapps.list

〜/。本地/共享/应用/ mimeapps.list

Firefox也有自己的应用程序列表。 检查Preferences-> Applications,然后找到Debian文件。 如果你没有改变任何东西,它可能会说旁边的“总是问”。 如果你点击“总是问”你可以选择“使用其他”并选择Ubuntu软件中心或Synaptic或任何你想要的东西(虽然不幸的是你将不得不使用文件查找器来实际访问应用程序文件,这可能是一个轻微的烦恼)。 Ubuntu软件中心位于/usr/bin/software-center ,gdebi可以在/usr/bin/gdebi-gtk

我也有使用Firefox的这种行为。 它正在用Gedit打开PDF,.DOC,.DOCX等。 很烦人。 没有比Firefox指定的应用程序列表中指定的LibreOffice,Evince等作为首选应用程序, 除非我点击了下载菜单底部的“显示所有下载”链接(在firefox任务栏中)。

为了解决这个问题 ,我打开了.local/share/applications/mimeapps.list并删除了application/octet-streamgedit.desktop 。 这样做可以恢复正常/预期的行为。

这清楚地突出了Firefox中的一个错误,即它有时使用其应用程序列表,但并非总是如此(从Ubuntu 12.04版本35.0.1开始)。

有默认程序xdg-opengnome-open可以自动为文件选择合适的工具。

我设法发现它足以改变未知类型的关联,一切正常。

这就是你需要的一切

 sed 's#.*octet-stream.*#application/octet-stream=gnome-open.desktop#' ~/.local/share/applications/mimeapps.list -i 

结束

我通过使用find,ubuntu-tweak- inotifywatch得出了这个结论

发生这种情况是因为某些软件包会破坏您的mime-type-application绑定。

我得到了相同的并删除了我的主目录中的列表文件,但这只会持续到你再次更新软件导致这一点。

要解决此问题,您需要相应地设置mime类型的应用程序。 /usr/share/applications/defaults.list中的设置应该是正确的。

您会注意到这些“.desktop”文件位于/ usr / share / applications /; 你可以在那里使用任何东西,甚至可以使用root权限创建自己的。

要添加到SMeznaric的post中:我检查了Firefox首选项,两个deb条目都已经是ubuntu软件中心。 解决方法是将默认选项更改为“保存文件”,因为至少这是有效的。 在Thunar的下载文件夹中单击它们可以正常工作,并且您在逻辑位置有一个副本(而不是/ tmp / mozilla-firefox0)

我遇到了这个问题,Firefox的Preferences-> Applications窗口完全是空白的。

做了以下事情:

 sudo apt-get remove --purge firefox sudo apt-get install firefox 

它修复了这两个问题(现在,如果它再次出现,我会重新检查)并且我的所有设置和插件仍然完好无损。