Thỉnh thoảng tôi nảy ra ý tưởng về các hành động tôi muốn có sẵn trong menu ngữ cảnh của Nautilus. Làm thế nào để tôi thêm chúng ở đó? Có cái gì đó giống như plugin Thunar UCA cho Nautilus không?
Thỉnh thoảng tôi nảy ra ý tưởng về các hành động tôi muốn có sẵn trong menu ngữ cảnh của Nautilus. Làm thế nào để tôi thêm chúng ở đó? Có cái gì đó giống như plugin Thunar UCA cho Nautilus không?
Câu trả lời:
Câu trả lời dưới đây đã lỗi thời: một câu trả lời được cập nhật gần đây là câu trả lời này .
Các menu ngữ cảnh của Nautilus từng được tùy chỉnh bởi các phần mở rộng Nautilus . Được cảnh báo rằng liên kết này dẫn đến tài liệu lưu trữ; Các nhà phát triển Gnome đã xóa tài liệu đó và không còn hỗ trợ loại tùy chỉnh đó nữa. Nó vẫn có thể làm việc mặc dù.
Bạn cũng có thể đặt kịch bản shell đơn giản dưới ~/.local/share/nautilus/scripts
( ~/.gnome2/nautilus-scripts
thư mục trong phiên bản đầu), và họ sẽ xuất hiện trong menu ngữ cảnh tập tin dưới Scripts menu con.
~/.local/share/nautilus/scripts
thư mục để đặt tập lệnh của mình vào. Và thậm chí sau đó nó sẽ chỉ hiển thị tập lệnh khi bạn nhấp chuột phải vào một tập tin hoặc thư mục và không có không gian trống.
Vào ngày Ubuntu 18.04 được phát hành, Nautilus-Action đã / không còn khả dụng. Nó dường như cũng đã được thay thế bởi một chương trình mới, được gọi là Filemanager-Action, nếu không thì trông giống hệt nhau.
Để cài đặt chương trình này, xem giải pháp này .
Chúng tôi có thể xác định các mục menu ngữ cảnh nhấp chuột phải của riêng mình bằng các hành động nautilus .
Chạy Công cụ cấu hình hành động Nautilus từ Dash hoặc từ thiết bị đầu cuối với
nautilus-actions-config-tool
Trong tab Hành động, cung cấp cho hành động của bạn một nhãn hợp lý, ví dụ: "Mở trong Terminator" và chọn hiển thị mục này trong phần chọn hoặc menu ngữ cảnh.
Tiếp theo mở tab Lệnh để nhập các lệnh để chạy
Đưa ra đường dẫn đầy đủ đến các /usr/bin/command_to_run
tùy chọn lệnh ( ) và chương trình của bạn.
Sau khi đăng xuất và nhập lại, menu ngữ cảnh nhấp chuột phải bên dưới sẽ được hiển thị:
nautilus-actions-config-tool
, và Thêm 'Tạo trình khởi chạy' vào menu ngữ cảnh Nautilus (không có gnome-desktop-item-edit
)
Người ta có thể sử dụng phần mở rộng python-nautilus để thay thế nautilus-actions
.
Để cài đặt:
sudo apt-get install python-nautilus
Một ví dụ đơn giản:
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,
Sao chép tập lệnh python này bên dưới ~/.local/share/nautilus-python/extensions
và khởi động lại nautilus. Khi bạn nhấp chuột phải vào màn hình nền và chọn mục của bạn, lệnh bash đơn giản của bạn sẽ được thực thi :)
nautilus-python
và extensions
thư mục nếu chúng không có ở đó.
Ngày 29 tháng 11 năm 2016 kỷ nguyên Ubuntu 14.04, 16.04 và 16.10 cộng với các phiên bản trước đó.
Xem hướng dẫn của Nautilus để tạo tập lệnh của riêng bạn tại đây ( Trợ giúp Ubuntu - Tập lệnh Nautilus Cách thực hiện ). Về cơ bản bạn:
~/.local/share/nautilus/scripts/
chmod +x script_name
Có các tập lệnh mẫu được đặt tại ( Trợ giúp Ubuntu - Tập lệnh mẫu Nautilus ) cho các tệp email, gắn tệp ISO, cài đặt tệp để chỉ đọc, chỉnh sửa tệp với các đặc quyền ROOT gedit, mở thiết bị đầu cuối tại vị trí hiện tại, v.v.
Xem qua các tập lệnh và lấy một tập tin làm mẫu để mã hóa các tập tin, tải lên đám mây, nén để sao lưu hoặc bất cứ điều gì bạn cần làm.
Giải pháp tốt nhất cho các nhà phát triển ứng dụng là sử dụng python-nautilus .
Tạo tập lệnh python của bạn ( ví dụ sau và tài liệu xấu ) và sao chép nó vào thư mục chính xác:
mkdir -p ~/.local/share/nautilus-python/extensions && cp script.py ~/.local/share/nautilus-python/extensions
Hãy nói rằng bạn muốn tạo một ứng dụng mà người dùng cài đặt với một kịch bản hay một .deb
tập tin, với ý nghĩ đó tôi sẽ giải thích lý do tại sao tôi nghĩ rằng python-nautilus
là một giải pháp tốt hơn so với nautilus-hành động và kịch bản nautilus .
Đây là giải pháp duy nhất để cung cấp GUI và do đó giúp dễ dàng tạo hành vi phức tạp, ví dụ như quyết định mục nào sẽ hiển thị nếu loại mime của tệp được chọn là text/plain
.
Vấn đề chính với giải pháp này là không dễ dàng (thậm chí có thể) nhập các mục vào máy tính khác mà không có Công cụ cấu hình và người dùng nhập nó, hãy nói rằng sẽ không thể thực hiện được với tập lệnh.
Đây là giải pháp đơn giản hơn, chọn một tập lệnh, đặt nó vào một thư mục và thực hiện. Điều này chắc chắn sẽ cho phép một tập lệnh cài đặt hoặc một .deb
tập tin để tạo một mục mới trong menu ngữ cảnh. Vấn đề là gì? Tôi bắt đầu từ đâu...
Một ứng dụng tốt không sử dụng các phím tắt như thế này, vì nó làm hỏng trải nghiệm người dùng.
Không dễ dàng để tạo ra như các giải pháp trước đây, nhưng cung cấp tốt nhất của cả hai thế giới. Viết kịch bản và tùy biến.
Giải pháp này cho phép bạn tạo tập lệnh python nhận các tệp được chọn trong nautilus và để bạn quyết định xem bạn có muốn hiển thị mục nhập hay không và phải làm gì với mục đó. Nó cũng cho phép bạn tạo các menu phụ và hoặc những thứ hay ho.
Hạn chế là thiếu tài liệu và nhà phát triển chỉ muốn thêm một mục có thể thấy mất vài giờ để tạo một nguyên mẫu hoạt động (Trong nghiên cứu của tôi, tôi đã tìm thấy một giải pháp dựa trên C phức tạp hơn thế này).
Tôi thường sử dụng Visual Studio Code, trong khi trên Windows, nó cung cấp một mục trình đơn ngữ cảnh Open with Visual Studio Code
, nó thiếu chức năng tương tự trên Linux, với giải pháp Python sẽ dễ dàng giải quyết vấn đề. Tôi nghĩ các ứng dụng trong Linux có thể được hưởng lợi từ việc tích hợp nautilus.
Hy vọng lời giải thích này đã giúp bạn quyết định chọn gì.