Midnight Commanderをデフォルトのファイルマネージャに設定するには?

Midnight Commanderをデフォルトのファイルマネージャに設定するには?

transmission-gtk私は、Debianで実行されているデフォルトの端末エミュレータの新しいインスタンスを介してMidnight Commanderを使用して、Firefoxなどのグラフィックアプリケーションがディレクトリを開くことができるようにしたいと思います。

私はさまざまなX11 / GTKアプリケーションでディレクトリを開こうとするたびに、Firefox自体を含むファイルマネージャであるMCにリダイレクトするのではなく、パスを表示するためにFirefoxブラウザにリダイレクトすることに気づきました。

Midnight Commanderは実際にはファイルマネージャとしてマークされていて、私のシステムにインストールされている唯一の専用ファイルマネージャですので、私のMIMEに何が問題なのかわかりません。

/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が正しく理解されます。

関連情報