web-dev-qa-db-ja.com

Nautilus-Actionsコンテキストメニューを使用して、選択したファイルでスクリプトを実行できません

印刷、ルートとして編集、PDFへの変換など、いくつかのNautilusスクリプトをコンテキストメニュー(~/.local/share/nautilus/scripts)の "Scripts"フォルダから独自のエントリに移動したいと思っていました。

サンプルファイルを選択し、contextual menu>Scripts>Editをルートエントリとして「ルートとして編集」スクリプトを実行すると、スクリプトが機能します。

#!/bin/bash
path=$NAUTILUS_SCRIPT_SELECTED_FILE_PATHS
path=${path%?}
quoted="file://$path"
gksu gedit "$@"

同じスクリプト(同じファイル、同じ場所)に対してNautilus-Actions Configuration Toolエントリを作成し、同じサンプルファイルを選択すると、空白のファイルが開きます。

私も印刷でこれを試しました。同じ結果。選択されるファイルの指定と関係があります。しかし、Nautilus-Actionsを介してまったく同じスクリプトを実行しているので、それは奇妙に思えます。

選択したファイルを使用してスクリプトを実行するようにNautilus-Actionsに指示するにはどうすればよいですか?

2
Rsync

私はそれを理解したと思います。 ParametersタブのCommandフィールドに%fフラグを設定する必要がありました。 Exampleフィールドは、使用するパラメーターに基づいて起動されるコマンドを示します(パラメーターのリストについては、Legendを参照してください)。 %fは、選択したファイルのパスの後にコマンドを発行するようにNautilus Actionsに指示しました。

これが画像です: enter image description here

これは、edit as rootに対する私の質問のスクリプトを使用して機能します。

Printを使用するのは非常に簡単です。スクリプトは必要ありません(そしてスクリプトを機能させることができませんでした)-lprPathタブのCommandに入れ、パラメータ%fを使用するだけです。これにより、コマンドlpr /path_to_fileが発行されます。

したがって、私が抱えていた問題は、(1)作業するスクリプトのパスを指定しなかったこと、および(2)使用していた印刷スクリプトは自己完結型であるにもかかわらず(後のパスでは機能しない)それら)は、%fパラメーターの有無に関係なく動作することを望んでいないようです。私はまだこれを理解していません。

私がNAに使用するエントリは次のとおりです(他の人が役立つと思った場合):

  • (A)安全な空のゴミ箱:Path> srm -lrz ~/.local/share/Trash/*/*; Parameter> none(注:NAはsrmの後でパーツをパラメーターに移動します)
  • (B)Print:Path> lpr;パラメータ> %f
  • (C)ルートとして編集:Path> /opt/Scripts/edit-as-root.sh;パラメータ> %f
  • (D)PDFに変換:Path> convert;パラメータ> %f %w.pdf
2
Rsync