我希望 Firefox 等图形应用程序transmission-gtk
通过在 Debian 上运行的默认终端模拟器的新实例使用 Midnight Commander 打开目录。
我注意到,每次我尝试在各种 X11/GTK 应用程序中打开目录时,它们宁愿转向我的 Firefox 浏览器来显示路径,而不是转向我的文件管理器 - MC,包括 Firefox 本身。
我不知道我的 mime 有什么问题,因为 Midnight Commander 确实被标记为文件管理器,并且它是我的系统上安装的唯一专用文件管理器。
/usr/share/applications/mc.desktop
:
Categories=ConsoleOnly;Utility;FileManager;System;FileTools;
Keywords=file manager;console;
我的也存在于同一目录中,但根本mimeinfo.cache
没有提及。mc.desktop
如何将 Midnight Commander 设置为默认文件管理器以用于打开和浏览文件系统路径?我正在使用带有 X11 的 Linux Debian 10,但没有桌面环境。
答案1
创建文件~/.local/share/applications/mc.desktop
及其内容
[Desktop Entry]
Name=Midnight Commander
MimeType=inode/directory
Exec=mc %F
Terminal=true
Type=Application
Categories=FileManager
注意这一行Terminal=true
,也许你错过了。众所周知,MC 需要在终端内运行才能工作,这与许多其他应用程序不同。
然后发出xdg-mime default mc.desktop inode/directory
.
我在 Firefox 上测试了它(通过转到“下载”,然后单击文件夹图标以打开其目录中的项目),它的工作非常顺利。
编辑:上述步骤对某些应用程序(例如 Telegram 和 GNOME 的磁盘使用情况分析器)仍然不起作用。显然,有些(1)忽略或不处理Terminal=true
,而另一些(2)传递文件 URI 方案作为文件路径。
要同时解决这两个问题,请尝试以下操作mc.desktop
:
[Desktop Entry]
Name=Midnight Commander
MimeType=inode/directory
Exec=xterm -e mc %U
Type=Application
Categories=FileManager
说明: (1)执行者承担调用终端的工作(在我的例子中是 XTerm),然后它mc
在终端中运行(这就是-e
指定的选项)。 (2) 将%F 替换为%U,URI 被正确理解。