ฉันพบสคริปต์หอยโข่งที่ฉันต้องการใช้ ฉันจะติดตั้งได้อย่างไร
ฉันพบสคริปต์หอยโข่งที่ฉันต้องการใช้ ฉันจะติดตั้งได้อย่างไร
คำตอบ:
สมมติว่าคุณต้องการติดตั้งสคริปต์ต่อไปนี้ที่คุณพบขณะเรียกดู 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 ของคำตอบนี้