Як я можу встановити скрипт Nautilus?


Відповіді:


37

Скажіть, що ви хочете встановити такий скрипт, який ви знайшли під час перегляду Ask Ubuntu:

#!/bin/bash
## Sample Script 0.1
## Dependencies: notify-osd

notify-send "Sample nautilus script" "You Selected $NAUTILUS_SCRIPT_SELECTED_FILE_PATHS"

Залежності

Перше, що ви помітите, це те, що багато скриптів не просто закінчуються. Іноді вони залежать від інших пакунків, які ви могли або не встановили. У цьому випадку залежить наш сценарійnotify-osd , який постачається з Ubuntu за замовчуванням.

В інших дистрибутивах це може бути не так, і вам доведеться встановити залежності перед використанням скрипту. Якщо залежність є частиною офіційних сховищ, ви можете її легко встановити apt-get, наприклад:

sudo apt-get install notify-osd

Налаштування сценарію

Тепер, коли ми задовольнили всі залежності, ми можемо перейти та скопіювати сценарій у нашу систему. Для цього ми спочатку створюємо новий документ у нашій папці сценаріїв, яка є ~/.gnome2/nautilus-scriptsабо ~/.local/share/nautilus/scripts/на Ubuntu 13.04 і вище. Це прихована папка. Для того щоб перейти до нього, вам доведеться відкрити свій файловий менеджер, натисніть CTRL+ Lта вставити шлях до каталогу до рядка розташування.

Далі ми створимо новий порожній документ, клацнувши правою кнопкою миші та вибравши Створити новий документПорожній документ . Назвіть це все, що завгодно, але будьте обережні: назва, яку ви обрали, - це те, як пізніше буде відображатися запис сценарію у контекстному меню nautilus. Тож краще вибрати описову назву для документа:

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

Відкрийте новий документ у текстовому редакторі на ваш вибір і перейдіть до копіювання та вставлення вмісту поля коду вище у нього. Збережіть його та вийдіть із текстового редактора.

Зробити його виконуваним

На даний момент ваш сценарій налаштований правильно, але все ще не працюватиме, оскільки система ще не розпізнає його як виконуваний файл. Щоб зробити його виконуваним, клацніть правою кнопкою миші файл та перейдіть до ВластивостіДозволи . Установіть прапорець у розділі Дозволити виконання як програму та закрийте діалог:

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

Використання

Тепер ви можете мати доступ до скрипту з контекстного меню nautilus. Клацніть правою кнопкою миші на обраний файл та перейдіть до Сценаріїв -> Ім'я сценарію (тут: Зразок сценарію ). Клацніть на запис, щоб виконати скрипт у вибраних файлах:

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

Призначення сценарію комбінації клавіш

Комбінації клавіш для скриптів Nautilus можна призначити, відредагувавши прискорювач клавіатури Nautilus. На Ubuntu 12.04 та нижче цей файл можна знайти під ~/.gnome2/accels/nautilus. У нових версіях цього файлу було переміщено до ~/.config/nautilus/accels. Зауважте, що ваш скрипт з’явиться у файлі прискорювача лише після перезавантаження Nautilus (виконайте nautilus -q, а потім запустіть Nautilus ще раз, натиснувши на його запуск).

Синтаксис файлу акселератора спочатку може виглядати трохи непосильним, але насправді це досить просто. Подивіться, наприклад, цей уривок:

; (gtk_accel_path "<Actions>/ShellActions/ZoomInAccel2" "<Primary>KP_Add")
; (gtk_accel_path "<Actions>/ShellActions/TabsNext" "<Primary>Page_Down")
; (gtk_accel_path "<Actions>/ScriptsGroup/script_file:\\s\\s\\shome\\sglutanimate\\s.gnome2\\snautilus-scripts\\sSample%20script" "")
; (gtk_accel_path "<Actions>/ShellActions/Search" "<Primary>f")
; (gtk_accel_path "<Actions>/ShellActions/Forward" "<Alt>Right")

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

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

Це доступні модифікатори та відповідні їх коди:

  • CTRL = <Primary>
  • ALT = <Alt>
  • SHIFT = <Shift>

Ви можете знайти дійсні ключові коди для всіх інших клавіш за допомогою xev .

Ось як слід змінити розділ вище, щоб призначити зразок сценарію ALT+ SHIFT + S:

; (gtk_accel_path "<Actions>/ShellActions/ZoomInAccel2" "<Primary>KP_Add")
; (gtk_accel_path "<Actions>/ShellActions/TabsNext" "<Primary>Page_Down")
(gtk_accel_path "<Actions>/ScriptsGroup/script_file:\\s\\s\\shome\\sglutanimate\\s.gnome2\\snautilus-scripts\\sSample%20script" "<Alt><Shift>s")
; (gtk_accel_path "<Actions>/ShellActions/Search" "<Primary>f")
; (gtk_accel_path "<Actions>/ShellActions/Forward" "<Alt>Right")

На Ubuntu 12.04 (а можливо, і пізніші версії) Nautilus іноді замінить файл прискорювача, перш ніж ви зможете внести будь-які зміни. Тому може бути хорошою ідеєю виконати всі зміни, які ви вносите, поки Nautilus не працює ( nautilus -q). У будь-якому випадку, ви будете повинні перезапустити Nautilus , щоб побачити зміни.

Автоматизація установки

Цей скрипт Nautilus автоматично встановить сценарії Nautilus для вас. Перегляньте коментарі, щоб побачити, що відбувається за лаштунками:

#!/bin/bash
# AUTHOR:       Glutanimate (/ubuntu//users/81372/)
# LICENSE:      GNU GPLv3 (http://www.gnu.de/documents/gpl-3.0.en.html)
# NAME:         Nautilus Scripts Installer
#
# DESCRIPTION:  This script will install Nautilus scripts on Ubuntu 12.04 and above.
#               Note: scripts of the same name in the destination folder will be
#               overwritten without warning


# general purpose notification function
gui_notify(){
    notify-send -i gnome-app-install "Nautilus Scripts Installer" "$1"
}


# check if any files selected
if [[ -z "$@" ]]
  then
      gui_notify "Error: No files selected."
      exit 1
fi


RELEASE="$(lsb_release -r | cut -f2)"   # detect Ubuntu release

if [[ "$RELEASE" = "12.04" ]]           # set script folder accordingly
  then
      ScriptFolder="$HOME/.gnome2/nautilus-scripts"
  else
      ScriptFolder="$HOME/.local/share/nautilus/scripts/"
fi


for Script in "$@"; do

  ScriptFilename="${Script##*/}"                # get filename via bash string manipulation

  cp "$Script" "$ScriptFolder/"                 # Move script to destination
  chmod u+x "$ScriptFolder/$ScriptFilename"     # Make it executable for the user

done

gui_notify "The following scripts have been installed: $@"

Як осторонь: ось сценарій nautilus, який я використовував для запису скріншотів цієї відповіді.


1
Можливо, ця відповідь може бути ще більш розширеною, включаючи інформацію про призначення значків скриптам за допомогою вікна властивостей файлу Nautilus або командного рядка (наприклад, askubuntu.com/a/376062/53738 ).
дес
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.