ฉันพบสคริปต์หอยโข่งที่ฉันต้องการใช้ ฉันจะติดตั้งได้อย่างไร
ฉันพบสคริปต์หอยโข่งที่ฉันต้องการใช้ ฉันจะติดตั้งได้อย่างไร
คำตอบ:
สมมติว่าคุณต้องการติดตั้งสคริปต์ต่อไปนี้ที่คุณพบขณะเรียกดู 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 เป็นค่าเริ่มต้น
ใน distros อื่น ๆ อาจไม่เป็นกรณีนี้และคุณจะต้องติดตั้งการอ้างอิงก่อนที่จะใช้สคริปต์ หากการพึ่งพาเป็นส่วนหนึ่งของที่เก็บอย่างเป็นทางการคุณสามารถติดตั้งได้อย่างง่ายดายapt-getเช่น:
sudo apt-get install notify-osd
การตั้งค่าสคริปต์
ตอนนี้เราพอใจกับการพึ่งพาทั้งหมดแล้วเราสามารถดำเนินการต่อและคัดลอกสคริปต์ไปยังระบบของเราได้ ในการทำเช่นนั้นเราจะสร้างเอกสารใหม่ในโฟลเดอร์สคริปต์ของเราซึ่งเป็น~/.gnome2/nautilus-scriptsหรือ   ~/.local/share/nautilus/scripts/บน Ubuntu 13.04 ขึ้นไป นี่คือโฟลเดอร์ที่ซ่อนอยู่ ในการมุ่งหน้าคุณจะต้องเปิดตัวจัดการไฟล์ของคุณกดCTRL+ Lและวางเส้นทางไดเรกทอรีลงในแถบที่ตั้ง
ต่อไปเราจะสร้างเอกสารใหม่ที่ว่างเปล่าโดยการคลิกขวาและเลือกสร้างเอกสารใหม่ → เอกสารที่ว่างเปล่า ตั้งชื่อทุกอย่างที่คุณต้องการ แต่ระวัง: ชื่อที่คุณเลือกเป็นวิธีที่รายการสคริปต์จะปรากฏในเมนูบริบท nautilus ในภายหลัง ดังนั้นควรเลือกชื่อที่สื่อความหมายสำหรับเอกสาร:

เปิดเอกสารใหม่ในตัวแก้ไขข้อความที่คุณเลือกและดำเนินการคัดลอกและวางเนื้อหาของกล่องรหัสข้างบน บันทึกและออกจากโปรแกรมแก้ไขข้อความ
ทำให้ปฏิบัติการได้
ณ จุดนี้สคริปต์ของคุณได้รับการตั้งค่าอย่างถูกต้อง แต่ก็ยังใช้งานไม่ได้เนื่องจากระบบยังไม่รู้จักว่าเป็นไฟล์ที่ปฏิบัติการได้ เพื่อให้ปฏิบัติการคลิกขวาที่ไฟล์และศีรษะของคุณไปที่Properties → สิทธิ์ ตั้งเครื่องหมายถูกที่อนุญาตให้เรียกใช้งานเป็นโปรแกรมและปิดกล่องโต้ตอบ:

การใช้
ตอนนี้คุณควรจะสามารถเข้าถึงสคริปต์จากเมนูบริบทของหอยโข่งของคุณ เพียงคลิกขวาที่ไฟล์ที่คุณเลือกและตรงไปที่สคริปต์ -> ชื่อสคริปต์ (ที่นี่: สคริปต์ตัวอย่าง ) คลิกที่รายการเพื่อรันสคริปต์บนไฟล์ที่คุณเลือก:

การกำหนดแป้นพิมพ์ลัดให้กับสคริปต์
แป้นพิมพ์ลัดสำหรับสคริปต์ 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")
ทุกบรรทัดแสดงถึงการกำหนดคีย์เดียว ส่วนที่ยกมาสองครั้งแรกกำหนดการกระทำส่วนที่สองเป็นการรวมคีย์ที่กำหนด บรรทัดที่ขึ้นต้นด้วยเครื่องหมายอัฒภาคจะได้รับการแสดงความคิดเห็นและไม่ได้ใช้งานในปัจจุบัน
ในการกำหนดทางลัดไปยังสคริปต์ของคุณคุณจะต้องค้นหาไฟล์นี้สำหรับชื่อของสคริปต์และยกเลิกการใส่เครื่องหมายบรรทัดที่เกี่ยวข้องโดยลบเครื่องหมายอัฒภาค จากนั้นให้พิมพ์แป้นพิมพ์ลัดที่คุณต้องการกำหนด
นี่คือตัวดัดแปลงที่มีอยู่และรหัสที่เกี่ยวข้อง:
<Primary><Alt><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: $@"
ด้านนอก: นี่คือสคริปต์หอยโข่งที่ฉันเคยบันทึก screencasts ของคำตอบนี้