回答:
以下の答えは時代遅れです:最近更新された答えはこれです。
Nautilusのコンテキストメニューは、以前はNautilus拡張機能によってカスタマイズ可能でした。このリンクはアーカイブされたドキュメントにつながることに注意してください。Gnome開発者はそのドキュメントを削除し、そのようなカスタマイズをサポートしなくなりました。それでも動作する可能性があります。
~/.local/share/nautilus/scripts
(~/.gnome2/nautilus-scripts
初期リリースでは)ディレクトリの下にプレーンシェルスクリプトを配置することもできます。これらは、スクリプトサブメニューの下のファイルコンテキストメニューに表示されます。
~/.local/share/nautilus/scripts
、スクリプトを入れるフォルダを使用することになっていることに注意してください。空のスペースではなく、ファイルまたはフォルダーを右クリックしたとき。
Ubuntu 18.04がリリースされた日に、Nautilus-Actionsが使用可能/使用不可になりました。また、Filemanager-Actionsと呼ばれる新しいプログラムに取って代わられたようです。
このプログラムをインストールするには、このソリューションを参照してください。
nautilus-actionsを 使用して、独自の右クリックコンテキストメニュー項目を定義できます。
Nautilus-Actions Configuration Toolをダッシュまたはターミナルから実行します
nautilus-actions-config-tool
ではアクションタブあなたの行動賢明なラベル、例えば与える「ターミネーターで開く」を選択するか、コンテキストメニューでこれを表示するように選択します。
次に、[ コマンド ]タブを開いて、実行するコマンドを入力します
コマンド(/usr/bin/command_to_run
)およびプログラムオプションへのフルパスを指定します。
後にログアウトし、中下に表示されます再び右クリックしてコンテキストメニュー:
の代わりにpython-nautilus拡張機能を使用できますnautilus-actions
。
インストールする:
sudo apt-get install python-nautilus
簡単な例:
import os
from gi.repository import Nautilus, GObject
class ColumnExtension(GObject.GObject, Nautilus.MenuProvider):
def __init__(self):
pass
def menu_activate_cb(self, menu, file):
os.system("write here your simple bash command & pid=$!")
def get_background_items(self, window, file):
item = Nautilus.MenuItem(name='ExampleMenuProvider::Foo2',
label='Name of your item',
tip='',
icon='')
item.connect('activate', self.menu_activate_cb, file)
return item,
このpythonスクリプトをコピーして、nautilus ~/.local/share/nautilus-python/extensions
を再起動します。デスクトップを右クリックしてアイテムを選択すると、単純なbashコマンドが実行されます:)
nautilus-python
、extensions
フォルダを作成する必要があります。
2016年11月29日時代 Ubuntu 14.04、16.04、および16.10プラス以前のバージョン。
独自のスクリプトを作成するNautilusの手順については、こちら(Ubuntuヘルプ-Nautilusスクリプトの使用方法)を参照してください。基本的にあなた:
~/.local/share/nautilus/scripts/
chmod +x script_name
ファイルの電子メール送信、ISOファイルのマウント、読み取り専用ファイルの設定、gedit ROOT特権でのファイルの編集、現在の場所でターミナルを開くなどのサンプルスクリプトが(Help Ubuntu-Nautilus Sample Scripts)にあります。
スクリプトに目を通し、ファイルの暗号化、クラウドへのアップロード、バックアップへの圧縮、または必要な操作のテンプレートとして使用します。
アプリ開発者にとって最適なソリューションは、python-nautilusを使用することですです。
Pythonスクリプトを作成し(次の 例と不適切なドキュメント)、正しいフォルダーにコピーします。
mkdir -p ~/.local/share/nautilus-python/extensions && cp script.py ~/.local/share/nautilus-python/extensions
ユーザーがスクリプトまたは.deb
ファイルを使用してインストールするアプリケーションを作成するとします。そのことを念頭に置いpython-nautilus
て、nautilus-actionsおよびnautilusスクリプトと比較してより良いソリューションだと思う理由を説明します。。
これはGUIを提供する唯一のソリューションであるため、複雑な動作を簡単に作成できます。たとえば、選択したファイルのMIMEタイプがの場合に表示するメニューエントリを決定しますtext/plain
。
このソリューションの主な問題は、構成ツールとそれをインポートするユーザーなしでエントリを別のコンピューターにインポートすることは(可能な場合でも)簡単ではないことです。スクリプトでは実行できないとしましょう。
これは、より簡単なソリューションであり、スクリプトを選択して、フォルダーに配置して完了します。これにより、インストールスクリプトまたは.deb
ファイルがコンテキストメニューに新しいエントリを作成できるようになります。問題は何ですか?どこから始めますか...
優れたアプリは、ユーザーエクスペリエンスを損なうため、このようなショートカットを使用しません。
以前のソリューションほど簡単に作成できませんが、両方の長所を提供します。スクリプトとカスタマイズ。
このソリューションにより、nautilusで選択されたファイルを受け取るPythonスクリプトを作成し、エントリを表示するかどうか、およびそのエントリをどう処理するかを決定できます。また、サブメニューやクールなものを作成することもできます。
欠点は、ドキュメントが非常に不足していることであり、エントリを追加したいだけの開発者は、実際のプロトタイプを作成するのに数時間かかることがあります(私の研究では、Cよりもはるかに複雑なソリューションが見つかりました)。
私は通常Visual Studio Codeを使用しますが、Windowsではコンテキストメニューエントリを提供しますが、Open with Visual Studio Code
Linuxでは同じ機能がなく、Pythonソリューションでは問題を簡単に解決できます。Linuxのアプリはnautilusとの統合から利益を得ることができると思います。
この説明が、あなたが何を選ぶべきかを決めるのに役立ったことを願っています。