如何将 Midnight Commander 设置为默认文件管理器?

如何将 Midnight Commander 设置为默认文件管理器?

我希望 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 被正确理解。

相关内容