Как настроить контекстное меню в Nautilus?

В этой теме есть два типа «отслеживания» вопросов. Я думаю, что записи zeitgeist ясны другими ответами.

«Недавние документы» и т. Д. Не хранятся этим демоном. Он хранится в 2 файлах в вашем homedir: ./.recently-used ./.local/share/recently-used.xbel

Мне лично это тоже не нравится (он мешает результатам поиска ), поэтому следующие команды «отключить» это. Предупреждение; он действительно не «отключает» что-либо, он просто запретит приложениям писать эти файлы.

cd ~
> ./.recently-used
> ./.local/share/recently-used.xbel
sudo chattr +i ./.recently-used
sudo chattr +i ./.local/share/recently-used.xbel

Некоторые приложения могут сообщать об ошибках или предупреждениях, когда они не могут писать в этот файл, особенно при запуске от терминала («операция не разрешена»)

1
задан 22 December 2015 в 19:50

5 ответов

Действия Nautilus

Мы можем определить наши собственные пункты контекстного меню правой кнопкой мыши с помощью nautilus-действий.

Запустите средство настройки Nautilus-Actions либо из Dash, либо из терминал с
nautilus-actions-config-tool

Запустите средство настройки Nautilus-Actions либо из Dash, либо из терминала с помощью
nautilus-actions-config-tool

Run инструмент настройки Nautilus-Actions либо из Dash, либо из терминала с

Затем откройте вкладку «Command», чтобы ввести команды для запуска

[d8 ] Запустите средство настройки Nautilus-Actions либо из Dash, либо из терминала с помощью

. После выхода из системы и снова появится контекстное меню правой кнопки мыши ниже:

enter image description here

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

В момент выхода Ubuntu 18.04 Nautilus-Actions был / больше недоступно. Он также, кажется, был заменен новой программой под названием Filemanager-Actions, которая в противном случае выглядит идентичной.

27
ответ дан 25 May 2018 в 23:26

Можно использовать расширение 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 будет выполнена:)

10
ответ дан 25 May 2018 в 23:26
  • 1
    вам может понадобиться создать папки nautilus-python и extensions, если их там нет. – souravc 11 June 2014 в 19:38
  • 2
    Я попробовал большинство решений в этом разделе и обнаружил, что решение python является лучшим. Хотя это и не идеально, в основном из-за отсутствия документации, это позволяет использовать более гибкие сценарии и переносимость. – Ricardo Rodrigues 6 March 2017 в 03:33

Если вы хотите что-то сделать в любой момент, сделайте так, как говорит ulidtko, и используйте ~/.gnome2/nautilus-scripts.

Если вы хотите иметь возможность настраивать, когда видите это, установите nautilus- пакета действий, затем перейдите в меню «Система-> Настройки->« Настройка Nautilus ».

3
ответ дан 25 May 2018 в 23:26

29 ноября 2016 года Ubuntu 14.04, 16.04 и 16.10 плюс более ранние версии.

См. инструкции Nautilus для создания вашего собственного скрипта здесь (Справка 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

Есть примеры скриптов, расположенных по адресу ( Справка Ubuntu - Nautilus Scripts Как ) для отправки по электронной почте файлов, монтирования ISO-файла, установки файлов только для чтения, редактирования файла с помощью gedit ROOT priviledges, открытия терминала в текущем местоположении и т. Д.

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

3
ответ дан 25 May 2018 в 23:26

TL; DR

Лучшим решением для разработчиков приложений является использование python-nautilus.

Создайте свой скрипт python ( python-nautilus примеры и плохая документация) и скопируйте его в нужную папку:

mkdir -p ~/.local/share/nautilus-python/extensions && cp script.py ~/.local/share/nautilus-python/extensions

Подробное объяснение

Предположим, вы хотите создать приложение, которое пользователь устанавливает со сценарием или .deb с этим я буду объяснять, почему я думаю, что python-nautilus является лучшим решением по сравнению с примерами и сценариями nautilus.

Nautilus Actions

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

Основной проблема с этим решением заключается в том, что непросто (если вообще возможно) импортировать записи на другой компьютер без Инструмента настройки и пользователя, импортирующего его, давайте просто скажем, что это будет невозможно с помощью скрипта.

Действия Nautilus [!d15 ]

Это более прямое решение, забрать скрипт, поместить его в папку и сделать. Это позволит создать скрипт установки или файл .deb для создания новой записи в контекстном меню. В чем проблемы? С чего начать ...

Он всегда появляется под подменю «Сценарии». Он не показывает, если у вас ничего не выбрано. Это не позволяет вам решить, следует ли показывать запись или нет. Не разрешает всплывающие подсказки или разные заголовки. (возможно, я придирчивый)

Хорошее приложение не использует такие ярлыки, как это, потому что это разрушает пользовательский интерфейс.

python-nautilus

Не так просто создать, как предыдущие решения, но предлагает лучшее из обоих миров. Скрипты и настройка.

Это решение позволяет создать скрипт python, который получает файлы, выбранные в nautilus, и давайте вам решать, хотите ли вы показать запись или нет, и что делать с этой записью. Это также позволяет создавать подменю и классные вещи.

Недостаток - большая нехватка документации, и разработчики, которые просто хотят добавить запись, могут потерять пару часов, чтобы создать рабочую prototype (В моем исследовании я нашел решение на основе C, которое было более сложным, чем это).

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

Надеюсь, это объяснение помогло вам решить, что выбрать.

1
ответ дан 25 May 2018 в 23:26

Другие вопросы по тегам:

Похожие вопросы: