Yanıtlar:
Aşağıdaki cevap modası geçmiş: yakın zamanda güncellenmiş bir cevap bu .
Nautilus'un bağlam menüleri, Nautilus uzantılarıyla özelleştirilebilirdi . Bu bağlantının arşivlenmiş dokümana yol açtığı konusunda uyarılmalıdır; Gnome devs bu dokümantasyonu kaldırmıştır ve artık bu tür bir özelleştirmeyi desteklememektedir. Yine de işe yarayabilir.
Ayrıca düz kabuk komut dosyalarını ~/.local/share/nautilus/scripts
( ~/.gnome2/nautilus-scripts
ilk sürümlerde) dizinin altına yerleştirebilirsiniz; komut dosyaları alt menüsünde dosya bağlam menüsünde görünürler .
~/.local/share/nautilus/scripts
, komut dosyalarınızı koymak için klasör kullanmanız gerektiğini unutmayın. Bir dosya veya klasörü sağ tıklattığınızda boş alana değil.
Ubuntu 18.04'ün yayınlandığı tarihte Nautilus-Actions artık mevcut değildi. Ayrıca Filemanager-Actions adlı başka bir programla aynı görünen yeni bir programın yerini almış görünüyor.
Bu programı yüklemek için bu çözüme bakın .
Kendi sağ tıklama bağlam menü öğelerini nautilus eylemleriyle tanımlayabiliriz .
Çalışma Nautilus Eylemler yapılandırma aracı Dash, ya da bir uç ile ilgili ya da
nautilus-actions-config-tool
Gelen Eylem sekmesinden sizin eyleme bir mantıklı etiket, örn vermek "Terminator Aç" ve seçim veya bağlam menüsünde bu görüntülemeyi tercih.
Ardından çalıştırılacak komutları girmek için Komut sekmesini açın
Komutun ( /usr/bin/command_to_run
) ve program seçeneklerinin tam yolunu verin .
Oturumu kapattıktan ve tekrar girdikten sonra , aşağıdaki sağ tıklama içerik menüsü görünecektir:
nautilus-actions-config-tool
ve ekleme Nautilus içerik menüsüne 'başlatıcısı Yarat' (olmadan gnome-desktop-item-edit
)
Bir alternatif olarak python-nautilus uzantısını kullanabilirsiniz nautilus-actions
.
Yüklemek:
sudo apt-get install python-nautilus
Basit bir örnek:
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,
Bu python betiğini kopyalayın ~/.local/share/nautilus-python/extensions
ve nautilus'u yeniden başlatın. Masaüstüne sağ tıklayıp öğenizi seçtiğinizde, basit bash komutunuz yürütülecektir :)
nautilus-python
ve extensions
klasörleri oluşturmanız gerekebilir .
29 Kasım 2016 dönemi Ubuntu 14.04, 16.04 ve 16.10 ve önceki sürümleri.
Burada kendi betiğinizi oluşturmak için Nautilus talimatlarına bakın ( Yardım Ubuntu - Nautilus Scripts Nasıl Yapılır ). Temelde sen:
~/.local/share/nautilus/scripts/
chmod +x script_name
(Bulunan örnek komut dosyası vardır - Nautilus Örnek Komut Dosyaları Yardım Ubuntu ISO dosyasını montaj E-posta dosyaları için, vb gedit KÖK ayrıcalığı olmayan dosyasını düzenleyerek, sadece okumak için ayar dosyaları geçerli konum terminal açarak)
Komut dosyalarına göz atın ve dosyaları şifrelemek, buluta yüklemek, yedeklemeye sıkıştırmak veya yapmanız gerekenleri sıkıştırmak için şablon olarak alın.
Uygulama geliştiricileri için en iyi çözüm python-nautilus kullanmaktır .
Python betiğinizi oluşturun ( aşağıdaki örnekler ve hatalı belgeler ) ve doğru klasöre kopyalayın:
mkdir -p ~/.local/share/nautilus-python/extensions && cp script.py ~/.local/share/nautilus-python/extensions
Diyelim ki, kullanıcının bir komut dosyası veya .deb
dosyayla yüklediği bir uygulama oluşturmak istediğinizi varsayalım , bunun neden nautilus eylemleri ve nautilus komut dosyalarıpython-nautilus
ile karşılaştırıldığında daha iyi bir çözüm olduğunu düşündüğümü açıklayacağım .
Bu bir GUI sunmak için tek çözümdür ve bu nedenle karmaşık davranışın oluşturulmasını kolaylaştırır; örneğin, seçilen dosyanın mime türünün hangi menü girişlerinin gösterileceğine karar verin text/plain
.
Bu çözümle ilgili temel sorun, girişleri Konfigürasyon Aracı ve kullanıcı içe aktarmadan başka bir bilgisayara aktarmanın kolay olmamasıdır (mümkün olsa bile), sadece bir komut dosyası ile yapmanın mümkün olmadığını söyleyelim.
Bu daha yalındır bir çözümdür, bir senaryo alın, bir klasöre yerleştirin ve tamamlayın. Bu kesinlikle bir kurulum komut dosyasının veya .deb
dosyanın bağlam menüsünde yeni bir giriş oluşturmasına izin verecektir . Sorun ne? Nereden başlayacağım ...
İyi bir uygulama bu gibi kısayolları kullanmaz, çünkü kullanıcı deneyimini mahveder.
Önceki çözümler kadar kolay değil, her iki dünyanın da en iyisini sunar. Komut dosyası oluşturma ve özelleştirme.
Bu çözüm, nautilus'ta seçilen dosyaları alan bir python betiği oluşturmanıza izin verir ve bir giriş göstermek isteyip istemediğinize ve bu girişle ne yapılacağına karar vermenize izin verir. Ayrıca, alt menüler ve veya harika şeyler oluşturmanıza olanak sağlar.
Tek dezavantajı, sadece bir giriş eklemek isteyen dokümantasyon ve geliştiricilerin eksikliği, çalışan bir prototip oluşturmak için kendilerini birkaç saat kaybedebilir (Araştırmamda bundan daha karmaşık olan C'ye dayanan bir çözüm buldum).
Normalde Visual Studio Kodunu kullanıyorum, Windows'ta bir bağlam menüsü girişi sunarken Open with Visual Studio Code
, Linux'taki aynı işlevselliğe sahip değil, Python çözümü ile sorunu çözmek kolay olurdu. Linux'taki uygulamaların nautilus entegrasyonuna sahip olabileceğini düşünüyorum.
Umarım bu açıklama ne seçeceğinize karar vermenize yardımcı olmuştur.