Nautilus'taki bağlam menüsünü nasıl kişiselleştiririm?


29

Zaman zaman Nautilus'un bağlam menüsünde yer almasını istediğim eylem fikirleri ile geliyorum. Onları oraya nasıl eklerim? Nautilus için Thunar UCA eklentisi gibi bir şey var mı?


sağ tıklamayla “yeni belge oluştur” için bu askubuntu.com/questions/777711/…
HMagdy

Yanıtlar:


25

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-scriptsilk sürümlerde) dizinin altına yerleştirebilirsiniz; komut dosyaları alt menüsünde dosya bağlam menüsünde görünürler .


3
Lütfen , daha yeni bir Nautilus sürümü kullanan ubuntu 13.04 kullanıyorsanız , askubuntu.com/questions/281062/… adresinde belirtildiği gibi ~/.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.
Logan,

2
bu modası geçmiş değil mi?

@cipricus öyle. 6 yıl önce uh 2011 tarihinde yanıtladı . 12 Ubuntu daha önce yayınladı.
ulidtko

soru, baskıya özel olarak işaretlenmemiş ve çok yeni cevaplar var

@ tatlı - Ben sadece bu cevap geçmişte kesin olarak işaretlendi çünkü soruyu modası geçmiş bir cevap için ayarlama hiçbir anlamı görmüyorum. Bu, güncellenmiş (ve en çok oylanan) cevabın buradaki yeri dışına bakmasını sağlar, gidilecek yol basit bir cevap olarak kesindir. - Gitmenin başka bir yolu da güncellenmiş olana bağlantı veren kesin şimdi güncel olmayan cevaba kısa bir düzenleme eklemek olacaktır: ki ben sadece yaptım.

30

Ubuntu 18.04 Güncellemesi

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 .


Nautilus Aksiyonları

Kendi sağ tıklama bağlam menü öğelerini nautilus eylemleriyle tanımlayabiliriz Nautilus-actions'ı yükleyin.

  • Çalışma Nautilus Eylemler yapılandırma aracı Dash, ya da bir uç ile ilgili ya da

    nautilus-actions-config-tool
    

görüntü tanımını buraya girin

  • 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

görüntü tanımını buraya girin

  • 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:

görüntü tanımını buraya girin



1
Bu hala güncel mi?
RolandiXor

2
Nautilus Eylemleri 12.04
Takkat


11

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/extensionsve nautilus'u yeniden başlatın. Masaüstüne sağ tıklayıp öğenizi seçtiğinizde, basit bash komutunuz yürütülecektir :)


orada yoksa klasörleri nautilus-pythonve extensionsklasörleri oluşturmanız gerekebilir .
souravc

Bu konudaki çözümlerin çoğunu denedim ve python çözümünün en iyisi olduğunu gördüm. Mükemmel olmamasına rağmen, temel olarak dokümantasyon eksikliği nedeniyle, daha esnek komut dosyası oluşturma ve taşınabilirlik sağlar.
Ricardo Rodrigues

3

İstediğiniz zaman bir şey yapabilmek istiyorsanız, ulidtko'nun söylediği ve kullandığı gibi yapın ~/.gnome2/nautilus-scripts.

Gördüğünüzde özelleştirebilmeyi istiyorsanız, nautilus-actions paketini kurun, ardından Sistem-> Tercihler-> Nautilus İşlemleri Konfigürasyonu'na gidin.


3

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:

  • Dizine git ~/.local/share/nautilus/scripts/
  • Komut dosyanızı (Bash, Perl veya Python ile yazılmış) oraya yerleştirin.
  • Komut dosyasını Nautilus kullanarak veya terminalden yürütülebilir olarak işaretleyin chmod +x script_name
  • Nautilus, çevresel değişkenleri betiğinize uygun hale getirir: NAUTILUS_SCRIPT_SELECTED_FILE_PATHS, NAUTILUS_SCRIPT_SELECTED_URIS, NAUTILUS_SCRIPT_CURRENT_URI ve NAUTILUS_SCRIPT_WINDOW_GEOMETRY

(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.


2

TL; DR

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

Detaylı açıklama

Diyelim ki, kullanıcının bir komut dosyası veya .debdosyayla 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 .

Nautilus Aksiyonları

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.

Nautilus Scriptleri

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 .debdosyanın bağlam menüsünde yeni bir giriş oluşturmasına izin verecektir . Sorun ne? Nereden başlayacağım ...

  • Her zaman bir Script alt menüsü altında belirir.
  • Hiçbir şey seçili olup olmadığını göstermez.
  • Girişi gösterip göstermemeye karar vermene izin vermez.
  • İpuculara veya farklı Başlıklara izin vermez. (belki seçici oluyorumdur)

İyi bir uygulama bu gibi kısayolları kullanmaz, çünkü kullanıcı deneyimini mahveder.

piton-Nautilus

Ö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.


Bu aynı zamanda bir bağlam menüsü eklemek istememin nedeni. Belki "VS Koduyla Aç" python-nautilus çözümünüzü gönderebilir misiniz? Teşekkürler.
Sharpiro

Cra0zy versiyonumu uygun bir çözüme ulaştırdı
Ricardo Rodrigues
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.