ฉันจะปรับแต่งเมนูบริบทใน Nautilus ได้อย่างไร


29

บางครั้งฉันก็เกิดความคิดเกี่ยวกับการกระทำที่ฉันต้องการให้มีในเมนูบริบทของ Nautilus ฉันจะเพิ่มพวกเขาที่นั่นได้อย่างไร มีบางอย่างที่เหมือนกับ Thunar UCA plugin สำหรับ Nautilus หรือไม่?


สำหรับ“ สร้างเอกสารใหม่” เมื่อคลิกขวาให้อ้างอิงaskubuntu.com/questions/777711/
HMagdy

คำตอบ:


25

คำตอบด้านล่างล้าสมัย: คำตอบที่อัปเดตเมื่อเร็ว ๆ นี้เป็นคนนี้


เมนูบริบทของ Nautilus ใช้ในการปรับแต่งโดยส่วนขยาย Nautilus ถูกเตือนว่าลิงค์นี้นำไปสู่เอกสารที่เก็บถาวร; Gnome devs นำเอกสารนั้นออกและไม่สนับสนุนการปรับแต่งนั้นอีกต่อไป มันอาจยังทำงานได้

คุณยังสามารถวางสคริปต์เชลล์ธรรมดาภายใต้ไดเรกทอรี~/.local/share/nautilus/scripts( ~/.gnome2/nautilus-scriptsในรุ่นก่อนหน้า) และพวกเขาจะปรากฏในเมนูบริบทไฟล์ภายใต้เมนูย่อยของสคริปต์


3
โปรดทราบว่าดังที่ได้กล่าวไว้ในaskubuntu.com/questions/281062/ …ถ้าคุณอยู่บน Ubuntu 13.04 ซึ่งใช้ Nautilus รุ่นใหม่กว่าคุณควรใช้~/.local/share/nautilus/scriptsโฟลเดอร์เพื่อใส่สคริปต์ของคุณและถึงแม้มันจะแสดงสคริปต์เท่านั้น เมื่อคุณคลิกขวาที่ไฟล์หรือโฟลเดอร์และไม่ใช่พื้นที่ว่าง
โลแกน

2
สิ่งนี้ล้าสมัยหรือไม่

@cipricus มันเป็น ตอบในปี 2011 ซึ่งเป็นเอ่อ6 ปีที่แล้ว 12 Ubuntu ออกมาก่อนหน้านี้
ulidtko

คำถามไม่ได้ถูกระบุว่าเป็นรุ่นเฉพาะและมีคำตอบล่าสุด

@dessert - ฉันไม่เห็นจุดในการปรับคำถามเป็นคำตอบที่ล้าสมัยเพียงเพราะคำตอบนั้นถูกทำเครื่องหมายว่าชัดเจนในอดีต นั่นจะทำให้คำตอบที่ได้รับการโหวต (& โหวตมากที่สุด) อัปเดตที่นี่เมื่อทางที่จะไปคือเพียงทำเครื่องหมายคำตอบหลังว่าชัดเจน - อีกวิธีที่จะไปคือเพิ่มการแก้ไขสั้น ๆ ให้กับคำตอบที่ล้าสมัยแล้วซึ่งเชื่อมโยงกับคำตอบที่อัปเดต: ซึ่งฉันเพิ่งทำไป

30

อัปเดตสำหรับ Ubuntu 18.04

ณ วันที่ Ubuntu 18.04 เปิดตัว Nautilus-Actions เดิม / ไม่สามารถใช้ได้อีกต่อไป ดูเหมือนว่าจะถูกแทนที่โดยโปรแกรมใหม่ที่เรียกว่า Filemanager-Actions ซึ่งมีลักษณะเหมือนกัน


เพื่อติดตั้งโปรแกรมนี้เห็นนี้การแก้ปัญหา


การกระทำของ Nautilus

เราอาจกำหนดคลิกขวารายการเมนูบริบทของเราเองด้วยหอยโข่งกระทำ ติดตั้ง nautilus-actions

  • เรียกใช้เครื่องมือกำหนดค่า Nautilus-Actionsจาก Dash หรือจากเทอร์มินัลด้วย

    nautilus-actions-config-tool
    

ป้อนคำอธิบายรูปภาพที่นี่

  • ในการดำเนินการแท็บให้การกระทำของคุณฉลากที่เหมาะสมเช่น"เปิดใน Terminator"และเลือกที่จะแสดงนี้ในการเลือกหรือเมนูบริบท

  • ถัดไปเปิดแท็บคำสั่งเพื่อป้อนคำสั่งที่จะเรียกใช้

ป้อนคำอธิบายรูปภาพที่นี่

  • กำหนดเส้นทางแบบเต็มไปยังคำสั่งของคุณ ( /usr/bin/command_to_run) และตัวเลือกโปรแกรม

  • หลังจากออกจากระบบแล้วคลิกขวาที่เมนูบริบทด้านล่างจะปรากฏขึ้น:

ป้อนคำอธิบายรูปภาพที่นี่



1
ยังคงเป็นปัจจุบันหรือไม่?
RolandiXor

2
การกระทำของ Nautilus ดำเนินการตามที่คาดไว้ใน 12.04
Takkat


11

หนึ่งสามารถใช้หลามหอยโข่ง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,

คัดลอกสคริปต์ไพ ธ อนนี้ใต้~/.local/share/nautilus-python/extensionsและรีสตาร์ทหอยโข่ง เมื่อคุณคลิกขวาที่เดสก์ท็อปและเลือกรายการของคุณคำสั่ง bash อย่างง่ายของคุณจะถูกดำเนินการ :)


คุณอาจต้องสร้างnautilus-pythonและextensionsโฟลเดอร์หากไม่มี
souravc

ฉันได้ลองใช้วิธีแก้ปัญหาส่วนใหญ่ในหัวข้อนี้แล้วและพบว่าวิธีแก้ปัญหาแบบหลามนั้นดีที่สุด แม้ว่าจะไม่สมบูรณ์แบบส่วนใหญ่เป็นเพราะขาดเอกสาร แต่จะช่วยให้การเขียนสคริปต์และพกพามีความยืดหยุ่นมากขึ้น
Ricardo Rodrigues

3

หากคุณต้องการที่จะสามารถที่จะทำบางสิ่งบางอย่างในเวลาใด ๆ ทำเช่นเดียวกับ ulidtko ~/.gnome2/nautilus-scriptsกล่าวและการใช้งาน

หากคุณต้องการที่จะสามารถปรับแต่งเมื่อคุณเห็นมันให้ติดตั้งแพคเกจ nautilus-actions จากนั้นไปที่ System-> Preferences-> Nautilus Actions Configuration


3

พฤศจิกายน 29, 2016 ยุค Ubuntu 14.04, 16.04 และ 16.10 บวกรุ่นก่อนหน้า

ดูคำแนะนำของ Nautilus สำหรับการสร้างสคริปต์ของคุณเองที่นี่ ( ช่วยเหลือ Ubuntu - วิธีใช้ Nautilus ) โดยทั่วไปคุณ:

  • นำทางไปยังไดเรกทอรี ~/.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 ) สำหรับไฟล์อีเมลการติดตั้งไฟล์ ISO การตั้งค่าไฟล์เพื่ออ่านอย่างเดียวแก้ไขไฟล์ด้วยสิทธิ์ ROOT ของ gedit ช่องเปิดที่ตำแหน่งปัจจุบัน ฯลฯ

ดูสคริปต์และใช้เป็นแม่แบบสำหรับเข้ารหัสไฟล์อัพโหลดไปยังคลาวด์บีบอัดเพื่อสำรองข้อมูลหรือสิ่งที่คุณต้องทำ


2

TL; DR

ทางออกที่ดีที่สุดสำหรับนักพัฒนาแอพพลิเคคือการใช้หลามหอยโข่ง

สร้างสคริปต์ไพ ธ อนของคุณ ( ตัวอย่างต่อไปนี้ และเอกสารประกอบไม่ดี) และคัดลอกไปยังโฟลเดอร์ที่ถูกต้อง:

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

คำอธิบายโดยละเอียด

สมมติว่าคุณต้องการที่จะสร้างโปรแกรมที่ผู้ใช้ติดตั้งกับสคริปต์หรือ.debไฟล์ด้วยที่ในใจฉันจะอธิบายว่าทำไมผมคิดว่าpython-nautilusเป็นทางออกที่ดีกว่าเมื่อเทียบกับกระทำหอยโข่งและสคริปต์หอยโข่ง

การกระทำของ Nautilus

นี้เป็นเพียงการแก้ปัญหาที่จะนำเสนอ GUI text/plainและดังนั้นจึงทำให้ง่ายต่อการสร้างพฤติกรรมที่ซับซ้อนเช่นตัดสินใจเมนูรายการสิ่งที่จะแสดงว่าละครใบ้ชนิดไฟล์ที่เลือกคือ

ปัญหาหลักของการแก้ปัญหานี้คือมันไม่ใช่เรื่องง่าย (ถ้าเป็นไปได้) ในการนำเข้ารายการไปยังคอมพิวเตอร์เครื่องอื่นที่ไม่มีเครื่องมือการกำหนดค่าและผู้ใช้นำเข้ามาสมมติว่ามันเป็นไปไม่ได้ที่จะทำกับสคริปต์

สคริปต์ Nautilus

นี่เป็นทางออกที่ตรงไปตรงมาหยิบสคริปต์วางไว้ในโฟลเดอร์และทำ สิ่งนี้จะทำให้สคริปต์ติดตั้งหรือ.debไฟล์สร้างรายการใหม่ในเมนูบริบท ปัญหาคืออะไร ฉันจะเริ่มที่ไหน ...

  • มันจะปรากฏขึ้นภายใต้เมนูย่อยสคริปต์
  • มันจะไม่แสดงหากคุณไม่ได้เลือกอะไรเลย
  • ไม่อนุญาตให้คุณตัดสินใจว่าคุณควรแสดงรายการหรือไม่
  • ไม่อนุญาตให้ใช้เคล็ดลับเครื่องมือหรือชื่ออื่น (บางทีฉันกำลังจู้จี้จุกจิก)

แอพที่ดีไม่ได้ใช้ทางลัดเช่นนี้เพราะมันทำให้ประสบการณ์การใช้งานของคุณเสียหาย

หลามหอยโข่ง

ไม่ใช่เรื่องง่ายที่จะสร้างเป็นโซลูชั่นก่อนหน้านี้ แต่เสนอที่ดีที่สุดของโลกทั้งสอง การเขียนสคริปต์และการปรับแต่ง

วิธีนี้ช่วยให้คุณสร้างสคริปต์ python ที่รับไฟล์ที่เลือกใน nautilus และให้คุณตัดสินใจว่าคุณต้องการแสดงรายการหรือไม่และจะทำอย่างไรกับรายการนั้น นอกจากนี้ยังช่วยให้คุณสร้างเมนูย่อยและหรือสิ่งที่น่าสนใจ

ข้อเสียเปรียบคือการขาดเอกสารขนาดใหญ่และนักพัฒนาที่ต้องการเพิ่มรายการอาจพบว่าตัวเองเสียเวลาสองสามชั่วโมงในการสร้างต้นแบบการทำงาน (ในงานวิจัยของฉันฉันพบวิธีแก้ปัญหาบน C ที่ซับซ้อนกว่านี้)

ปกติฉันใช้ Visual Studio Code ในขณะที่บน Windows มันมีรายการเมนูบริบทOpen with Visual Studio Codeมันขาดฟังก์ชั่นเดียวกันบน Linux ด้วย Python solution มันจะง่ายต่อการแก้ไขปัญหา ฉันคิดว่าแอพใน Linux อาจได้ประโยชน์จากการรวม nautilus

หวังว่าคำอธิบายนี้จะช่วยให้คุณตัดสินใจได้ว่าจะเลือกอะไร


นี่คือเหตุผลที่ฉันต้องการเพิ่มเมนูบริบทด้วย คุณสามารถโพสต์คำว่า "Open with VS Code" ของ python-nautilus ได้ไหม ขอบคุณ
Sharpiro

Cra0zy ปรับปรุงเวอร์ชันของฉันเป็นโซลูชันที่เหมาะสม: gist.github.com/cra0zy/f8ec780e16201f81ccd5234856546414
Ricardo Rodrigues
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.