Як налаштувати контекстне меню в Nautilus?


29

Час від часу я вигадую ідеї дій, які я хотів би мати у контекстному меню Nautilus. Як додати їх туди? Чи є щось на зразок плагіна Thunar UCA для Nautilus?


для "Створення нового документа" клацніть правою кнопкою миші, див. це askubuntu.com/questions/777711/…
HMagdy,

Відповіді:


25

Нижче наведена відповідь застаріла: нещодавно оновлена ​​відповідь - це ця .


Контекстні меню Nautilus використовувались за допомогою розширень Nautilus . Попереджуйте, що це посилання веде до архіву документа; Gnome devs вилучив цю документацію і більше не підтримує таке налаштування. Це все ще може працювати.

Ви також можете розмістити прості сценарії оболонки в каталозі ~/.local/share/nautilus/scripts( ~/.gnome2/nautilus-scriptsу ранніх версіях), і вони з'являться у контекстному меню файлу в підменю Сценарії .


3
Зауважте, що, як сказано в askubuntu.com/questions/281062/…, якщо ви перебуваєте на ubuntu 13.04, який використовує новішу версію Nautilus, ви повинні використовувати ~/.local/share/nautilus/scriptsпапку для розміщення своїх сценаріїв. коли ви клацніть правою кнопкою миші на файл або папку, а не порожнє місце.
Логан

2
це не застаріло?

@cipricus це так. Відповів на 2011 рік, що так 6 років тому . 12 Випуски Ubuntu раніше.
улідко

питання не позначене як конкретне видання, і є дуже останні відповіді

@dessert - Я не бачу сенсу пристосовувати питання до застарілої відповіді лише тому, що ця відповідь була позначена як остаточна в минулому. Це зробило б оновлений (і найбільш голосовий) відповідь виглядати поза місцем, коли шлях буде просто позначити останню відповідь як остаточну. - Ще одним способом було б додати коротке редагування до остаточної застарілої відповіді, що посилається на оновлену: що я тільки що зробив.

30

Оновлення для Ubuntu 18.04

На дату виходу Ubuntu 18.04 Nautilus-Actions був / більше недоступний. Схоже, це було замінено новою програмою під назвою Filemanager-Actions, яка інакше виглядає ідентично.


Щоб встановити цю програму, дивіться це рішення.


Дії Наутілуса

Ми можемо визначити наші власні пункти контекстного меню правою кнопкою миші за допомогою nautilus-дій Встановіть nautilus-дії .

  • Запустіть інструмент налаштування Nautilus-дій або з тире, або з терміналу з

    nautilus-actions-config-tool
    

введіть тут опис зображення

  • На вкладці " Дія" надайте вашій дії чутливу мітку, наприклад "Відкрити в термінаторі" і виберіть її для відображення у виділеному або контекстному меню.

  • Далі відкрийте вкладку Command , щоб ввести команди для запуску

введіть тут опис зображення

  • Дайте повний шлях до ваших параметрів команд ( /usr/bin/command_to_run) та програми.

  • Після виходу з системи та введення знову контекстне меню правою кнопкою миші відобразиться нижче:

введіть тут опис зображення



1
Це все ще актуально?
RolandiXor

2
Дії Nautilus виконуються, як очікувалося, 12.04
Таккат


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 під ~/.local/share/nautilus-python/extensionsта перезапустіть nautilus. Коли ви клацніть правою кнопкою миші на робочому столі і виберіть предмет, ваша проста команда bash буде виконана :)


вам може знадобитися створити nautilus-pythonі extensionsпапки, якщо їх там немає.
souravc

Я спробував більшість рішень у цій темі і виявив, що рішення пітона є найкращим. Хоча не є ідеальним, головним чином через відсутність документації, він дозволяє більш гнучким сценарієм та портативністю.
Рікардо Родрігес

3

Якщо ви хочете в будь-який час вміти щось робити, робіть, як каже улідтко, і використовуйте ~/.gnome2/nautilus-scripts.

Якщо ви хочете мати можливість налаштувати його, побачивши його, встановіть пакет nautilus-action, а потім перейдіть до системи-> Налаштування-> Конфігурація дій Nautilus.


3

29 листопада 2016 року епохи Ubuntu 14.04, 16.04 та 16.10 плюс більш ранні версії.

Дивіться інструкції Nautilus щодо створення власного скрипту тут ( Help Ubuntu - Nautilus Scripts How to ). В основному ви:

  • Перейдіть до каталогу ~/.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

Є зразки скриптів, які розміщені в ( Help Ubuntu - Nautilus Sample Script ) для файлів електронної пошти, встановлення ISO-файлу, встановлення файлів лише для читання, редагування файлу з привілеями gedit ROOT, відкриття терміналу в поточному місці тощо.

Перегляньте сценарії та візьміть один як шаблон для шифрування файлів, завантаження у хмару, стискання до резервного копіювання або все, що вам потрібно зробити.


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-діями та скриптами nautilus .

Дії Наутілуса

Це єдине рішення, що пропонує графічний інтерфейс, тому полегшує створення складного поведінки, наприклад, вирішуйте, які записи в меню відображатимуть, чи є тип mime типу вибраного файлу text/plain.

Основна проблема цього рішення полягає в тому, що імпортувати записи на інший комп'ютер без Інструменту конфігурації та користувача, який імпортує його, непросто (якщо навіть можливо), скажімо, що це не було б можливо зробити із сценарієм.

Наутілус Сценарії

Це більш пряме рішення, підберіть сценарій, помістіть його в папку і зробіть. Це безумовно дозволить встановити сценарій або .debфайл для створення нового запису в контекстному меню. Які проблеми? З чого я починаю ...

  • Він завжди відображається в підменю Сценарії.
  • Не відображається, якщо у вас нічого не вибрано.
  • Це не дозволяє вам вирішити, чи слід показувати запис чи ні.
  • Не дозволяє підказки чи різні заголовки. (можливо, я вибагливий)

Хороший додаток не використовує подібні ярлики, оскільки це руйнує досвід користувача.

пітон-наутілус

Не так просто створити, як попередні рішення, але пропонує найкраще з обох світів. Сценарій та налаштування.

Це рішення дозволяє створити скрипт python, який отримує файли, вибрані в nautilus, і давайте вам вирішити, хочете ви показати запис чи ні, і що робити з цим записом. Це також дозволяє створювати підменю та / або класні речі.

Недолік - велика відсутність документації та розробників, які просто хочуть додати запис можуть втратити пару годин, щоб створити робочий прототип (У своєму дослідженні я знайшов рішення, засноване на C, що було набагато складніше, ніж це).

Я зазвичай використовую Visual Studio Code, тоді як у Windows він пропонує запис у контекстне меню Open with Visual Studio Code , він не має тієї ж функціональності в Linux, з рішенням Python було б легко вирішити проблему. Я думаю, що додатки в Linux можуть отримати користь від інтеграції з наутилусом.

Сподіваюся, що це пояснення допомогло вам вирішити, що вибрати.


Це саме та причина, яку я хотів додати і контекстне меню. Не могли б ви розмістити ваше рішення "Відкрити за допомогою VS Code" python-nautilus? Спасибі.
Шарпіро

Cra0zy вдосконалив мою версію підходящого рішення: gist.github.com/cra0zy/f8ec780e16201f81ccd5234856546414
Рікардо Родрігес
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.