Nautilusのコンテキストメニューをカスタマイズするにはどうすればよいですか?


29

ときどき、Nautilusのコンテキストメニューで利用できるようにするアクションのアイデアを思いつきます。そこに追加するにはどうすればよいですか?Nautilus用のThunar UCAプラグインのようなものはありますか?


右クリックでの「新規ドキュメントの作成」については、このaskubuntu.com/questions/777711/…を
HMagdy

回答:


25

以下の答えは時代遅れです:最近更新された答えはこれです。


Nautilusのコンテキストメニューは、以前はNautilus拡張機能によってカスタマイズ可能でした。このリンクはアーカイブされたドキュメントにつながることに注意してください。Gnome開発者はそのドキュメントを削除し、そのようなカスタマイズをサポートしなくなりました。それでも動作する可能性があります。

~/.local/share/nautilus/scripts~/.gnome2/nautilus-scripts初期リリースでは)ディレクトリの下にプレーンシェルスクリプトを配置することもできます。これらは、スクリプトサブメニューの下のファイルコンテキストメニューに表示されます。


3
askubuntu.com/questions/281062/で述べたように、新しいバージョンのNautilusを使用するubuntu 13.04を使用している場合~/.local/share/nautilus/scripts、スクリプトを入れるフォルダを使用することになっていることに注意してください。空のスペースではなく、ファイルまたはフォルダーを右クリックしたとき。
ローガン

2
これは時代遅れではないですか?

@cipricusです。6年前のええと2011年に答えました。12個のUbuntuリリース。
ulidtko

質問はエディション固有としてマークされておらず、ごく最近の回答があります

@dessert-過去に決定的な答えとしてマークされたという理由だけで、質問を時代遅れの答えに調整しても意味がありません。これにより、更新された(および最も投票された)回答がここで場違いに見えるようになります。-もう1つの方法は、更新された回答にリンクしている、今では時代遅れの決定的な回答に短い編集を追加することです。

30

Ubuntu 18.04の更新

Ubuntu 18.04がリリースされた日に、Nautilus-Actionsが使用可能/使用不可になりました。また、Filemanager-Actionsと呼ばれる新しいプログラムに取って代わられたようです。


このプログラムをインストールするには、このソリューションを参照してください。


ノーチラスアクション

nautilus-actionsを 使用して、独自の右クリックコンテキストメニュー項目を定義できますnautilus-actionsをインストールする

  • Nautilus-Actions Configuration Toolをダッシュまたはターミナルから実行します

    nautilus-actions-config-tool
    

ここに画像の説明を入力してください

  • ではアクションタブあなたの行動賢明なラベル、例えば与える「ターミネーターで開く」を選択するか、コンテキストメニューでこれを表示するように選択します。

  • 次に、[ コマンド ]タブを開いて、実行するコマンドを入力します

ここに画像の説明を入力してください

  • コマンド(/usr/bin/command_to_run)およびプログラムオプションへのフルパスを指定します。

  • 後にログアウトし、中下に表示されます再び右クリックしてコンテキストメニュー:

ここに画像の説明を入力してください



1
これはまだ最新ですか?
RolandiXor

2
ノーチラスアクションは、12.04
Takkat


11

の代わりに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-pythonextensionsフォルダを作成する必要があります。
souravc

このトピックのソリューションのほとんどを試したところ、Pythonソリューションが最適であることがわかりました。主にドキュメントがないために完全ではありませんが、より柔軟なスクリプト作成と移植性が可能になります。
リカルドロドリゲス

3

いつでも何かできるようにしたい場合は、ulidtkoが言うように、を使用してください~/.gnome2/nautilus-scripts

表示されたときにカスタマイズできるようにするには、nautilus-actionsパッケージをインストールしてから、[システム]-> [設定]-> [Nautilusアクション設定]に移動します。


3

2016年11月29日時代 Ubuntu 14.04、16.04、および16.10プラス以前のバージョン。

独自のスクリプトを作成するNautilusの手順については、こちら(Ubuntuヘルプ-Nautilusスクリプトの使用方法)を参照してください。基本的にあなた:

  • ディレクトリに移動します ~/.local/share/nautilus/scripts/
  • スクリプトを(Bash、Perl、またはPythonで作成された)そこに配置します。
  • Nautilusを使用して、またはターミナルからスクリプトを実行可能としてマークします。 chmod +x script_name
  • Nautilusは、スクリプトで環境変数を使用可能にします:NAUTILUS_SCRIPT_SELECTED_FILE_PATHS、NAUTILUS_SCRIPT_SELECTED_URIS、NAUTILUS_SCRIPT_CURRENT_URI、およびNAUTILUS_SCRIPT_WINDOW_GEOMETRY

ファイルの電子メール送信、ISOファイルのマウント、読み取り専用ファイルの設定、gedit ROOT特権でのファイルの編集、現在の場所でターミナルを開くなどのサンプルスクリプトが(Help Ubuntu-Nautilus Sample Scripts)にあります。

スクリプトに目を通し、ファイルの暗号化、クラウドへのアップロード、バックアップへの圧縮、または必要な操作のテンプレートとして使用します。


2

TL; DR

アプリ開発者にとって最適なソリューションは、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ファイルがコンテキストメニューに新しいエントリを作成できるようになります。問題は何ですか?どこから始めますか...

  • 常にスクリプトサブメニューの下に表示されます。
  • 何も選択されていない場合は表示されません。
  • エントリを表示するかどうかを決定することはできません。
  • ツールチップまたは異なるタイトルを許可しません。(多分私はうるさいです)

優れたアプリは、ユーザーエクスペリエンスを損なうため、このようなショートカットを使用しません。

python-nautilus

以前のソリューションほど簡単に作成できませんが、両方の長所を提供します。スクリプトとカスタマイズ。

このソリューションにより、nautilusで選択されたファイルを受け取るPythonスクリプトを作成し、エントリを表示するかどうか、およびそのエントリをどう処理するかを決定できます。また、サブメニューやクールなものを作成することもできます。

欠点は、ドキュメントが非常に不足していることであり、エントリを追加したいだけの開発者は、実際のプロトタイプを作成するのに数時間かかることがあります(私の研究では、Cよりもはるかに複雑なソリューションが見つかりました)。

私は通常Visual Studio Codeを使用しますが、Windowsではコンテキストメニューエントリを提供しますが、Open with Visual Studio CodeLinuxでは同じ機能がなく、Pythonソリューションでは問題を簡単に解決できます。Linuxのアプリはnautilusとの統合から利益を得ることができると思います。

この説明が、あなたが何を選ぶべきかを決めるのに役立ったことを願っています。


これがまさにコンテキストメニューを追加したかった理由です。「Open with VS Code」python-nautilusソリューションを投稿してもらえますか?ありがとう。
シャーピロ

Cra0zyは私のバージョンをフィッティングソリューションに改良しました:gist.github.com/cra0zy/f8ec780e16201f81ccd5234856546414
リカルドロドリゲス
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.