0

にあるプログラムを作成しようとしていますが/usr/bin、現在はターミナルから正常に動作します(すべての初心者向けチュートリアルでターミナルコマンドの使用方法が説明されているため)が、ファイルマネージャーから実行しようとすると動作しません。

ファイルをダブルクリックまたは右クリックして[プログラムから開く]オプションを選択したときにNautilus/Caja / Dolphin / PCManFMから送信されるコマンド/データ/内容、およびその中のプログラムを知りたい言語は、そこから操作する必要のあるファイルへのパスを取得するために行う必要があります。私がこれを行う方法を知っている唯一の言語はBASHスクリプトであり、BASHの構文により、コードの機能に関する情報を検索できません。

このテーマは一般的に検索するのが非常に難しいので、それについての情報をいただければ幸いです。

編集:明確にするために、私がここをクリックすると:

右クリックメニューの画像

プログラム「bleh」にはどのようなデータが送信され、そのデータをどのように使用する必要がありますか?

私はこれを言い直す必要はないはずです...

4

2 に答える 2

2

アプリケーションには .desktop ファイルが付属している必要があり、これらのファイルは標準化された場所に配置されます。

ここで仕様を参照してください: http://standards.freedesktop.org/desktop-entry-spec/desktop-entry-spec-latest.html とここでいくつかの説明: http://library.gnome.org/admin/system-admin -guide/stable/mimetypes-registering.html.en

あなたの質問に答えるために特に重要なのは、「MIME タイプの登録」セクションです。

于 2012-08-31T23:05:12.537 に答える
0

わかりました、私はこれを自分で考え出しました。

右クリックしたファイル名を引数として渡し、作業ディレクトリをユーザーのホームに設定します。

私の問題は、プログラムが 2 つの異なるターゲットを同時に処理しようとしたことが原因でした。ファイル マネージャから送信されたファイル名と、(無関係な) ホーム ディレクトリです。自分で新しいターゲット ディレクトリを指定したところ、問題なく動作するようになりました。

編集: これは TCL に固有のものである可能性があります。もしそうなら、この質問を投稿して申し訳ありません。

于 2012-09-01T14:47:03.493 に答える