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で使用していますが、デスクトップ環境はありません。
内容を含むファイル~/.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が正しく理解されます。