web-dev-qa-db-ja.com

Midnight Commanderをデフォルトのファイルマネージャーとして設定するにはどうすればよいですか?

transmission-gtkやFirefoxなどのグラフィカルアプリケーションが、Debianで実行されているデフォルトのターミナルエミュレータの新しいインスタンスを介してMidnightCommanderでディレクトリを開くようにしたい。

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

Midnight Commanderは実際にFileManagerとしてフラグが付けられており、システムにインストールされている唯一の専用ファイルマネージャーであるため、mimesの何が問題になっているのかわかりません。

/usr/share/applications/mc.desktop

Categories=ConsoleOnly;Utility;FileManager;System;FileTools;
Keywords=file manager;console;

私のmimeinfo.cacheも同じディレクトリにありますが、mc.desktopについてはまったく触れられていません。

ファイルシステムパスを開いて参照するために使用するデフォルトのファイルマネージャーとしてMidnightCommanderを設定するにはどうすればよいですか? Linux Debian 10をX11で使用していますが、デスクトップ環境はありません。

3
David Tamar

内容を含むファイル~/.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)Execは、ターミナル(私の場合はXTerm)を呼び出すジョブを引き受け、ターミナルでmcを実行します(つまり、 -eオプションが指定しているもの)。 (2)%Fを%Uに置き換えると、URIが正しく理解されます。

2
Quasímodo