Время от времени у меня появляются идеи действий, которые я хотел бы иметь в контекстном меню «Наутилуса». Как мне их туда добавить? Есть ли что-то вроде плагина Thunar UCA для Nautilus?
Этот ответ устарел: недавно обновленный ответ - этот.
Разработчики приложений хотят добавить действия своих приложений - смотрите эту страницу ниже, здесь и здесь .
Контекстные меню Nautilus раньше настраивались расширениями Nautilus Nautilus . Предупреждаем, что эта ссылка ведет к архивированному документу; Gnome devs удалили эту документацию и больше не поддерживают такую настройку. Однако, это все еще может работать.
Вы также можете поместить простые скрипты оболочки в каталог ~/.local/share/nautilus/scripts
(~/.gnome2/nautilus-scripts
в ранних релизах), и они появятся в контекстном меню файла в подменю Scripts.
Можно использовать расширение 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 в папку ~ / .local / share / nautilus-python / extensions
и перезапустите nautilus. Когда вы щелкаете правой кнопкой мыши на рабочем столе и выбираете нужный элемент, будет выполнена ваша простая команда bash:)
На дату Ubuntu 18.04 был выпущен Nautilus-Actions был / больше не доступен. Похоже, что она также была заменена новой программой под названием Filemanager-Actions, которая в остальном выглядит идентично.
Чтобы установить эту программу, см. это решение.
Мы можем определите наши собственные пункты контекстного меню, щелкнув правой кнопкой мыши с помощью nautilus-actions .
Запустите Nautilus-Actions Configuration Tool либо из Dash, либо из терминала с
nautilus -action-config-инструмент
На вкладке Действие дайте своему действию разумный ярлык, например «Открыть в Терминаторе» и выберите, чтобы отобразить это в выборе или в контекстном меню.
Затем откройте вкладку Команда , чтобы ввести команды для запуска
Дайте в полный путь к вашей команде ( / usr / bin / command_to_run
) и параметры программы.
После выхода из системы и повторного входа в будет отображено контекстное меню, отображаемое правой кнопкой мыши ниже:
Если вы хотите иметь возможность делать что-то в любое время, делайте, как говорит ulidtko и используйте ~/.gnome2/nautilus-scripts
.
Если вы хотите иметь возможность настроить, когда увидите его, установите пакет nautilus-action, затем перейдите в System->Preferences->Nautilus Actions Configuration.
ноября 29 , Эпоха 2016 года Убунт u 14.04, 16.04 и 16.10 плюс более ранние версии.
См. инструкции Nautilus по созданию собственного сценария здесь ( Справка Ubuntu - Руководство по сценариям Nautilus ). Обычно вы:
~ / .local / share / nautilus / scripts /
chmod + x имя_сценария
Просмотрите скрипты и возьмите один в качестве шаблона для шифрования файлов, загрузки в облако, сжатия в резервную копию или всего, что вам нужно сделать.
Лучшее решение для разработчиков приложений - использовать python-nautilus .
Создайте свой сценарий python ( следуя примерам и плохой документации ) и скопируйте его в нужную папку:
mkdir -p ~/.local/share/nautilus-python/extensions && cp script.py ~/.local/share/nautilus-python/extensions
Допустим, вы хотите создать приложение, которое пользователь устанавливает с помощью сценария или файла .deb
, имея в виду это, я объясню, почему я думаю python-nautilus
является лучшим решением по сравнению с nautilus-actions и сценариями nautilus .
Это единственное решение, предлагающее графический интерфейс и, следовательно, упрощающее создание сложное поведение, например, решить, какие элементы меню отображать, если mime-тип выбранного файла - text / plain
.
Основная проблема с этим решением заключается в том, что это непросто (если даже возможно ble), чтобы импортировать записи на другой компьютер без Configuration Tool и пользователя, импортирующего его, скажем так, это было бы невозможно сделать с помощью сценария.
Это более простое решение, выберите Скрипт, поместите его в папку и готово. Это определенно позволит сценарию установки или файлу .deb
создать новую запись в контекстном меню. Какие проблемы? С чего начать ...
Хорошее приложение не использует такие ярлыки, потому что это портит пользовательский опыт.
Не так просто создать, как предыдущие решения, но предлагает лучший из двух миров. Создание сценариев и настройка.
Это решение позволяет вам создать сценарий Python, который получает файлы, выбранные в наутилусе, и позволяет вам решать, хотите ли вы отображать запись или нет, и что делать с этой записью. Он также позволяет вам создавать подменю и / или другие интересные вещи.
Недостатком является большой недостаток документации, и разработчики, которые просто хотят добавить запись , могут потерять пару часов на создание рабочий прототип (В моем исследовании я нашел решение на основе C, которое было намного сложнее, чем это).
Обычно я использую Visual Studio Code, а в Windows он предлагает пункт контекстного меню Открыть с помощью Visual Studio Code
, ему не хватает той же функциональности в Linux, с решением Python было бы легко решить проблему. Я думаю, что приложения в Linux могут выиграть от интеграции с наутилусом.
Надеюсь, это объяснение помогло вам решить, что выбрать.