Гид по технологиям

Пользовательские действия в Nautilus

7 min read Linux Обновлено 20 Apr 2026
Nautilus: добавить пользовательские действия
Nautilus: добавить пользовательские действия

Введение

Nautilus — стандартный файловый менеджер рабочего стола GNOME. Большую часть времени вы проводите в нём: копируете файлы, открываете документы и кликаете правой кнопкой мыши. Пользовательские действия (nautilus-actions) добавляют в это привычное пространство дополнительные возможности: конвертацию, отправку, архивацию, монтирование образов и многое другое прямо из контекстного меню — без запуска посторонних приложений.

Эта статья объясняет, как создать собственные пункты контекстного меню в Nautilus. Материал подойдёт как начинающим пользователям Linux, так и продвинутым: вы получите конкретный пример, чек-листы для разных ролей, шаблоны команд и рекомендации по отладке.

Что потребуется

  • Пакет nautilus-actions (графический редактор действий для Nautilus).
  • Команда или скрипт, который выполняет желаемое действие (например, ffmpeg для конвертации видео).
  • Права на установку ПО, если пакет отсутствует в системе.

Определение в одну строку: nautilus-actions — графический редактор, который позволяет привязать команду или скрипт к пункту контекстного меню Nautilus.

Установка пакета

В большинстве дистрибутивов nautilus-actions доступен через менеджер пакетов. Пример для Debian/Ubuntu-подобных систем:

sudo apt update
sudo apt install nautilus-actions

В современных версиях GNOME пакет может называться иначе или интеграция может быть выполнена другими расширениями; если nautilus-actions отсутствует, найдите эквивалент в репозитории или используйте скрипты Nautilus (раздел «Альтернативные подходы» ниже).

Пример задачи и используемая команда

Мы создадим действие «Convert for iPod» — конвертацию FLV в MP4, подходящий для воспроизведения на iPod Touch / iPhone. В примере используется ffmpeg. Перед созданием действия убедитесь, что ffmpeg установлен:

ffmpeg -version
# или на Ubuntu
sudo apt install ffmpeg

При создании действия вы укажете путь к утилите (/usr/bin/ffmpeg) и строку параметров, где специальные плейсхолдеры Nautilus заменяют путь к файлу.

Важно: не обязательно использовать те же опции ffmpeg — они примерные и могут быть изменены под ваши требования качества/размера.

Пошаговое создание действия

  1. Откройте редактор Nautilus Actions: System > Preferences > Nautilus Actions.

Окно настроек Nautilus Actions с меню системы

  1. Нажмите Add для создания нового действия.

Кнопка добавления нового действия в Nautilus Actions

  1. В поле Label введите текст, который увидите в контекстном меню. Опционально выберите иконку и подсказку (tooltip).

  2. На вкладке Path and Parameters укажите путь к утилите и параметры. В Path укажем полный путь до ffmpeg, например /usr/bin/ffmpeg. Если не знаете местоположение утилиты, используйте whereis или which:

whereis ffmpeg
which ffmpeg
  1. В строке Parameters вставьте команду с плейсхолдерами Nautilus. Для нашего примера:
-i %d/%f -f mp4 -vcodec libxvid -maxrate 01000 -qmin 3 -qmax 5 -bufsize 4096 -g 300 -acodec aac -s 480x320 -ab 0128000 -b 400000 %d/%f.mp4

Пояснения к плейсхолдерам:

  • %d — каталог файла, на который вы кликнули.
  • %f — имя выбранного файла.
  • %M — список файлов, если действие поддерживает несколько файлов.

Пример параметров — лишь иллюстрация. Для других задач замените на нужную команду и параметры.

Окно с настройкой пути и параметров для действия Nautilus

  1. На вкладке Condition укажите, для каких файлов отображать действие. Для FLV задайте шаблон по имени файла: *.flv. Также укажите, будет ли действие доступно для файлов, папок или и того, и другого.

Вкладка условий: фильтр по имени файла

  1. На вкладке Advanced Condition можно ограничить действие локальными файлами, Samba, FTP и т.д. Для простоты выберите “local files”.

  2. Нажмите OK и сохраните действие.

Окно сохранённого действия в Nautilus Actions

Теперь найдите файл .flv в Nautilus, кликните правой кнопкой — в контекстном меню появится ваш пункт “Convert for iPod”. После запуска в той же папке появится файл .mp4.

Контекстное меню Nautilus с пунктом Convert for iPod

Полезные советы и трюки

  • Экспериментируйте сначала в терминале. Сложные команды удобнее отлаживать вне Nautilus.
  • Для пакетной обработки используйте %M (многопользовательский список файлов) или пишите скрипт, который принимает несколько аргументов.
  • Сложную логику (логирование, проверка ошибок, отправка почты) лучше реализовать в отдельном shell/Python-скрипте и в качестве Path указать путь к этому скрипту.
  • Если действие должно выполняться в фоне, используйте внутри скрипта nohup или & и лог-файл.

Важно: проверьте права на выполнение скрипта (chmod +x) и правильно экранируйте пробелы/специальные символы в путях.

Примеры альтернативных подходов

  • Nautilus Scripts (папка ~/.local/share/nautilus/scripts). Скрипты в этой папке автоматически появляются в подменю «Scripts» контекстного меню.
  • Нативные расширения на Python для Nautilus (для более глубокой интеграции и сложной логики).
  • Использовать другой файловый менеджер (Nemo, Thunar), у них свои механизмы расширений и скриптов.
  • Создание .desktop файлов с mime-type и передачей файла в команду.

Когда использовать что:

  • Нужна быстрая однокнопочная команда — nautilus-actions или скрипты в папке scripts.
  • Нужна сложная интеграция/UI — писать расширение на Python.
  • Нужна совместимость с другими файловыми менеджерами — использовать независимые скрипты и .desktop файлы.

Когда это может не сработать

  • Если у вас Wayland и ограничены права на выполнение сторонних программ из GUI (редкий кейс).
  • Если утилита отсутствует или её путь отличается от указанного.
  • Если выбранный mime-type или шаблон имени файла не совпадают с реальным (например, файл называется video.flv.mp4).
  • Если действие требует прав root — лучше запускать через polkit или просить пользователя выполнять команды вручную.

Отладка

  1. Проверьте, правильно ли работает команда в терминале с теми же аргументами.
  2. Проверьте полные пути до утилит (which, whereis).
  3. Вставьте в начало скрипта логирование: >> /tmp/nautilus-action.log 2>&1 и просматривайте файл.
  4. Убедитесь, что Nautilus действительно перезагружен после установки/изменения действий (nautilus -q).

Шаблоны и шпаргалка (Cheat sheet)

Общие плейсхолдеры Nautilus:

  • %f — имя файла
  • %d — директория файла
  • %F — все выбранные имена файлов (в некоторых версиях)
  • %M — список файлов, разделённых пробелами

Пример простого однострочного действия (конвертация изображения):

convert %d/%f %d/%f.png

Пример вызова скрипта для нескольких файлов:

Path: /home/user/bin/nautilus-process-files.sh

Памятка: не забывайте делать скрипт исполнимым:

chmod +x /home/user/bin/nautilus-process-files.sh

Пример простого shell-скрипта, который логирует и конвертирует файлы (сохраните как /home/user/bin/convert-for-ipod.sh):

#!/bin/bash
log=/tmp/convert-for-ipod.log
echo "Запуск: $(date)" >> "$log"
for f in "$@"; do
  dir=$(dirname "$f")
  base=$(basename "$f")
  out="$dir/$base.mp4"
  /usr/bin/ffmpeg -i "$f" -f mp4 -vcodec libxvid -acodec aac -s 480x320 "$out" >> "$log" 2>&1
  echo "Сконвертирован: $out" >> "$log"
done

В nautilus-actions укажите Path как /home/user/bin/convert-for-ipod.sh и в Parameters — %M

Роли и чек-листы

Роль: конечный пользователь

  • Убедитесь, что нужная утилита установлена.
  • Создайте простое действие с одной командой.
  • Протестируйте на копии файла.

Роль: администратор

  • Проверяйте безопасность команд и разрешения.
  • Ограничьте видимость действий для пользователей, если требуется.
  • Проводите аудит скриптов (нет вызова sudo без необходимости).

Роль: разработчик расширений

  • Используйте полноценные расширения на Python для сложной логики.
  • Пишите модульные тесты для скриптов и логируйте ошибки.

Методология создания действий (мини-метод)

  1. Определите задачу и ожидаемый результат.
  2. Отладьте команду в терминале с несколькими файлами и путями со пробелами.
  3. Вынесите сложную логику в отдельный исполняемый скрипт.
  4. Создайте действие, укажите Path и параметры.
  5. Ограничьте видимость через Condition.
  6. Протестируйте и добавьте логирование.

Критерии приёмки

  • Действие появляется в контекстном меню для заданных типов файлов.
  • Команда корректно обрабатывает файл(ы) с пробелами и нестандартными символами имени.
  • Ошибки логируются в файл и не приводят к потере исходных данных.
  • Права доступа и безопасность соблюдены (нет несанкционированного повышения привилегий).

Безопасность и конфиденциальность

  • Не выполняйте непроверенные бинарники или скрипты, особенно с правами root.
  • Логируйте только служебную информацию, избегайте записи конфиденциальных данных.
  • Если действие обрабатывает личные файлы, предупредите пользователя о создании временных файлов и их удалении.
  • GDPR/личные данные: при отправке файлов по сети убедитесь, что отправка согласована с политикой конфиденциальности.

Сравнение с альтернативами

  • Nautilus Actions: удобный графический редактор, быстро создать действие.
  • Nautilus scripts: проще для одного-двух скриптов, быстрое добавление в Scripts.
  • Расширения на Python: лучше для сложной интеграции.

Выбор зависит от сложности задачи и потребностей в удобстве поддержки.

Тест-кейсы и приёмка

  1. Тест: конвертация одного файла

    • Шаги: выбрать файл .flv → правый клик → выбрать действие → проверить выходной файл .mp4
    • Ожидаемый результат: файл .mp4 создан в той же папке, проигрывается.
  2. Тест: несколько файлов

    • Шаги: выделить 3 .flv → запустить действие (если поддерживается) → проверить наличие 3 .mp4
    • Ожидаемый результат: все файлы обработаны без ошибок.
  3. Тест: имена с пробелами и спецсимволами

    • Ожидаемый результат: команда корректно обработает файлы, без обрезания имен.

Краткое резюме

Nautilus Actions даёт быстрый способ расширить функциональность Nautilus через контекстное меню. Главное — проверить команду в терминале, при необходимости вынести логику в скрипт и корректно использовать плейсхолдеры (%d, %f, %M). Это удобный инструмент для автоматизации рутинных задач.

Важно: перед массовым применением протестируйте действия на копиях файлов и добавьте логирование.

Спасибо за чтение. Пользовались ли вы nautilus-actions? Какие действия вы добавили? Поделитесь идеями и скриптами — возможно, кто‑то найдёт их полезными.

Поделиться: X/Twitter Facebook LinkedIn Telegram
Автор
Редакция

Похожие материалы

Добавить пользовательские эмодзи в Discord
Discord

Добавить пользовательские эмодзи в Discord

Вентилируемая подставка для ноутбука — 3 DIY-плана
DIY

Вентилируемая подставка для ноутбука — 3 DIY-плана

Смарт‑часы или фитнес‑трекер: как выбрать
Гаджеты

Смарт‑часы или фитнес‑трекер: как выбрать

Chatroulette: как безопасно общаться
Видеочат

Chatroulette: как безопасно общаться

Xbox — 20 лет: как смотреть юбилей
Игры

Xbox — 20 лет: как смотреть юбилей

Создать кинематографический кадр в Photoshop
Графика

Создать кинематографический кадр в Photoshop