Bagaimana cara menyesuaikan menu konteks di Nautilus?
29
Dari waktu ke waktu saya datang dengan ide tindakan yang ingin saya miliki di menu konteks Nautilus. Bagaimana cara menambahkannya di sana? Apakah ada sesuatu seperti plugin Thunar UCA untuk Nautilus?
Jawaban di bawah ini sudah usang: jawaban yang baru-baru ini diperbarui adalah yang ini .
Menu konteks Nautilus digunakan untuk disesuaikan oleh ekstensi Nautilus . Berhati-hatilah bahwa tautan ini mengarah ke dokumen yang diarsipkan; Gnome devs menghapus dokumentasi itu dan tidak lagi mendukung penyesuaian seperti itu. Mungkin masih berfungsi.
Anda juga dapat menempatkan skrip shell biasa di bawah direktori ~/.local/share/nautilus/scripts( ~/.gnome2/nautilus-scriptsdalam rilis awal), dan skrip tersebut akan muncul di menu konteks file di bawah submenu Skrip .
Harap dicatat bahwa seperti yang dikatakan di askubuntu.com/questions/281062/... jika Anda berada di ubuntu 13.04 yang menggunakan versi Nautilus yang lebih baru, Anda seharusnya menggunakan ~/.local/share/nautilus/scriptsfolder untuk memasukkan skrip Anda. Bahkan itupun hanya akan muncul skrip ketika Anda mengklik kanan pada file atau folder dan bukan ruang kosong.
Logan
2
bukankah ini sudah usang?
@ sipricus itu. Dijawab pada 2011, yaitu 6 tahun yang lalu . 12 rilis Ubuntu sebelumnya.
ulidtko
pertanyaan tidak ditandai sebagai edisi khusus dan ada jawaban yang sangat baru
essertessert - Saya tidak melihat ada gunanya menyesuaikan pertanyaan dengan jawaban yang ketinggalan zaman hanya karena jawaban itu ditandai sebagai definitif di masa lalu. Itu akan membuat jawaban yang diperbarui (& paling banyak dipilih) terlihat tidak pada tempatnya di sini, ketika cara untuk pergi adalah dengan hanya menandai jawaban yang terakhir sebagai definitif. - Cara lain untuk pergi adalah dengan menambahkan edit singkat ke jawaban definitif yang sekarang usang menghubungkan ke yang diperbarui: yang baru saja saya lakukan.
30
Pembaruan untuk Ubuntu 18.04
Pada tanggal Ubuntu 18.04 dirilis Nautilus-Actions sudah / tidak lagi tersedia. Tampaknya juga telah digantikan oleh program baru, yang disebut Filemanager-Actions, yang sebaliknya terlihat identik.
Kami dapat menentukan item menu konteks klik kanan kami sendiri dengan tindakan nautilus .
Jalankan Alat Konfigurasi Nautilus-Actions baik dari Dash, atau dari terminal dengan
nautilus-actions-config-tool
Pada tab Tindakan beri label aksi Anda label yang masuk akal, misalnya "Buka di Terminator" dan pilih untuk menampilkan ini dalam pilihan atau menu konteks.
Selanjutnya buka tab Command untuk memasukkan perintah yang akan dijalankan
Berikan path lengkap ke perintah Anda ( /usr/bin/command_to_run) dan opsi program.
Setelah keluar dan masuk lagi menu konteks klik kanan di bawah ini akan ditampilkan:
Satu dapat Menggunakan ekstensi python-nautilus sebagai alternatif nautilus-actions.
Untuk memasang:
sudo apt-get install python-nautilus
Contoh sederhana:
import osfrom gi.repository importNautilus,GObjectclassColumnExtension(GObject.GObject,Nautilus.MenuProvider):def __init__(self):passdef 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,
Salin skrip python ini di bawah ~/.local/share/nautilus-python/extensionsdan restart nautilus. Ketika Anda mengklik kanan pada desktop dan memilih item Anda, perintah bash sederhana Anda akan dieksekusi :)
Anda mungkin perlu membuat nautilus-pythondan extensionsfolder jika tidak ada.
souravc
Saya mencoba sebagian besar solusi dalam topik ini dan menemukan bahwa solusi python adalah yang terbaik. Meskipun tidak sempurna, terutama karena kurangnya dokumentasi, ini memungkinkan untuk scripting dan portabilitas yang lebih fleksibel.
Ricardo Rodrigues
3
Jika Anda ingin dapat melakukan sesuatu kapan saja, lakukan seperti kata ulidtko dan gunakan ~/.gnome2/nautilus-scripts.
Jika Anda ingin dapat menyesuaikan ketika melihatnya, instal paket tindakan nautilus, kemudian pergi ke System-> Preferences-> Konfigurasi Tindakan Nautilus.
Arahkan ke direktori ~/.local/share/nautilus/scripts/
Tempatkan skrip Anda (ditulis dalam Bash, Perl atau Python) di sana.
Tandai skrip sebagai executable menggunakan Nautilus atau dari terminal dengan chmod +x script_name
Nautilus membuat variabel lingkungan tersedia untuk skrip Anda: NAUTILUS_SCRIPT_SELECTED_FILE_PATHS, NAUTILUS_SCRIPT_SELECTED_URIS, NAUTILUS_SCRIPT_CURRENT_URI, dan NAUTILUS_SCRIPT_WINDOW_GEOMETRY
Ada skrip sampel yang terletak di ( Bantuan Ubuntu - Skrip Sampel Nautilus ) untuk mengirim email file, memasang file ISO, mengatur file untuk dibaca saja, mengedit file dengan hak istimewa ROOT gedit, membuka terminal di lokasi saat ini, dll.
Lihatlah skrip dan ambil satu sebagai templat untuk mengenkripsi file, mengunggah ke cloud, mengompres ke cadangan atau apa pun yang perlu Anda lakukan.
Katakanlah Anda ingin membuat sebuah aplikasi yang pengguna menginstal dengan script atau .debberkas, dengan itu dalam pikiran saya akan menjelaskan mengapa saya pikir python-nautilusadalah solusi yang lebih baik dibandingkan dengan nautilus-tindakan dan script nautilus .
Ini adalah satu-satunya solusi untuk menawarkan GUI dan karenanya membuatnya mudah untuk membuat perilaku kompleks, misalnya memutuskan entri menu apa yang akan ditampilkan jika tipe mime file yang dipilih adalah text/plain.
Masalah utama dengan solusi ini adalah tidak mudah (bahkan jika mungkin) untuk mengimpor entri ke komputer lain tanpa Alat Konfigurasi dan pengguna yang mengimpornya, anggap saja tidak mungkin dilakukan dengan skrip.
Ini adalah solusi yang lebih lurus ke depan, mengambil skrip, letakkan di folder dan selesai. Ini pasti akan memungkinkan skrip instalasi atau .debfile untuk membuat entri baru di menu konteks. Apa masalahnya? Di mana saya memulai...
Itu selalu muncul di bawah sub-menu Scripts.
Tidak muncul jika Anda tidak memilih apa pun.
Itu tidak memungkinkan Anda untuk memutuskan apakah Anda harus menunjukkan entri atau tidak.
Tidak mengizinkan Tooltips atau Judul yang berbeda. (mungkin saya pilih-pilih)
Aplikasi yang bagus tidak menggunakan pintasan seperti ini, karena itu merusak pengalaman pengguna.
Tidak semudah membuat seperti solusi sebelumnya, tetapi menawarkan yang terbaik dari kedua dunia. Scripting dan kustomisasi.
Solusi ini memungkinkan Anda untuk membuat skrip python yang menerima file yang dipilih di nautilus dan mari Anda memutuskan apakah Anda ingin menampilkan entri atau tidak dan apa yang harus dilakukan dengan entri itu. Ini juga memungkinkan Anda membuat sub-menu dan atau hal-hal keren.
Kekurangannya adalah kurangnya dokumentasi dan pengembang yang hanya ingin menambahkan entri mungkin menemukan diri mereka kehilangan beberapa jam untuk membuat prototipe yang berfungsi (Dalam penelitian saya, saya menemukan solusi berdasarkan C yang jauh lebih rumit dari ini).
Saya biasanya menggunakan Visual Studio Code, sementara pada Windows ia menawarkan entri menu konteks Open with Visual Studio Code, itu tidak memiliki fungsi yang sama di Linux, dengan solusi Python akan mudah untuk menyelesaikan masalah. Saya pikir semoga aplikasi di Linux dapat mengambil manfaat dari integrasi nautilus.
Semoga penjelasan ini membantu Anda memutuskan apa yang harus dipilih.
Inilah tepatnya alasan saya ingin menambahkan menu konteks juga. Bisakah Anda memposting solusi python-nautilus "Buka dengan VS Kode" Anda? Terima kasih.
Jawaban:
Jawaban di bawah ini sudah usang: jawaban yang baru-baru ini diperbarui adalah yang ini .
Menu konteks Nautilus digunakan untuk disesuaikan oleh ekstensi Nautilus . Berhati-hatilah bahwa tautan ini mengarah ke dokumen yang diarsipkan; Gnome devs menghapus dokumentasi itu dan tidak lagi mendukung penyesuaian seperti itu. Mungkin masih berfungsi.
Anda juga dapat menempatkan skrip shell biasa di bawah direktori
~/.local/share/nautilus/scripts
(~/.gnome2/nautilus-scripts
dalam rilis awal), dan skrip tersebut akan muncul di menu konteks file di bawah submenu Skrip .sumber
~/.local/share/nautilus/scripts
folder untuk memasukkan skrip Anda. Bahkan itupun hanya akan muncul skrip ketika Anda mengklik kanan pada file atau folder dan bukan ruang kosong.Pembaruan untuk Ubuntu 18.04
Pada tanggal Ubuntu 18.04 dirilis Nautilus-Actions sudah / tidak lagi tersedia. Tampaknya juga telah digantikan oleh program baru, yang disebut Filemanager-Actions, yang sebaliknya terlihat identik.
Untuk menginstal program ini, lihat solusi ini .
Tindakan Nautilus
Kami dapat menentukan item menu konteks klik kanan kami sendiri dengan tindakan nautilus .
Jalankan Alat Konfigurasi Nautilus-Actions baik dari Dash, atau dari terminal dengan
Pada tab Tindakan beri label aksi Anda label yang masuk akal, misalnya "Buka di Terminator" dan pilih untuk menampilkan ini dalam pilihan atau menu konteks.
Selanjutnya buka tab Command untuk memasukkan perintah yang akan dijalankan
Berikan path lengkap ke perintah Anda (
/usr/bin/command_to_run
) dan opsi program.Setelah keluar dan masuk lagi menu konteks klik kanan di bawah ini akan ditampilkan:
sumber
nautilus-actions-config-tool
, dan Tambahkan 'Buat peluncur' ke menu konteks Nautilus (tanpagnome-desktop-item-edit
)Satu dapat Menggunakan ekstensi python-nautilus sebagai alternatif
nautilus-actions
.Untuk memasang:
Contoh sederhana:
Salin skrip python ini di bawah
~/.local/share/nautilus-python/extensions
dan restart nautilus. Ketika Anda mengklik kanan pada desktop dan memilih item Anda, perintah bash sederhana Anda akan dieksekusi :)sumber
nautilus-python
danextensions
folder jika tidak ada.Jika Anda ingin dapat melakukan sesuatu kapan saja, lakukan seperti kata ulidtko dan gunakan
~/.gnome2/nautilus-scripts
.Jika Anda ingin dapat menyesuaikan ketika melihatnya, instal paket tindakan nautilus, kemudian pergi ke System-> Preferences-> Konfigurasi Tindakan Nautilus.
sumber
29 November 2016 era Ubuntu 14.04, 16.04 dan 16.10 plus versi sebelumnya.
Lihat instruksi Nautilus untuk membuat skrip Anda sendiri di sini ( Bantuan Ubuntu - Nautilus Scripts How to ). Pada dasarnya Anda:
~/.local/share/nautilus/scripts/
chmod +x script_name
Ada skrip sampel yang terletak di ( Bantuan Ubuntu - Skrip Sampel Nautilus ) untuk mengirim email file, memasang file ISO, mengatur file untuk dibaca saja, mengedit file dengan hak istimewa ROOT gedit, membuka terminal di lokasi saat ini, dll.
Lihatlah skrip dan ambil satu sebagai templat untuk mengenkripsi file, mengunggah ke cloud, mengompres ke cadangan atau apa pun yang perlu Anda lakukan.
sumber
TL; DR
Solusi terbaik untuk pengembang aplikasi adalah dengan menggunakan python-nautilus .
Buat skrip python Anda ( contoh berikut dan dokumentasi buruk ) dan salin ke folder yang benar:
Penjelasan detail
Katakanlah Anda ingin membuat sebuah aplikasi yang pengguna menginstal dengan script atau
.deb
berkas, dengan itu dalam pikiran saya akan menjelaskan mengapa saya pikirpython-nautilus
adalah solusi yang lebih baik dibandingkan dengan nautilus-tindakan dan script nautilus .Tindakan Nautilus
Ini adalah satu-satunya solusi untuk menawarkan GUI dan karenanya membuatnya mudah untuk membuat perilaku kompleks, misalnya memutuskan entri menu apa yang akan ditampilkan jika tipe mime file yang dipilih adalah
text/plain
.Masalah utama dengan solusi ini adalah tidak mudah (bahkan jika mungkin) untuk mengimpor entri ke komputer lain tanpa Alat Konfigurasi dan pengguna yang mengimpornya, anggap saja tidak mungkin dilakukan dengan skrip.
Script Nautilus
Ini adalah solusi yang lebih lurus ke depan, mengambil skrip, letakkan di folder dan selesai. Ini pasti akan memungkinkan skrip instalasi atau
.deb
file untuk membuat entri baru di menu konteks. Apa masalahnya? Di mana saya memulai...Aplikasi yang bagus tidak menggunakan pintasan seperti ini, karena itu merusak pengalaman pengguna.
python-nautilus
Tidak semudah membuat seperti solusi sebelumnya, tetapi menawarkan yang terbaik dari kedua dunia. Scripting dan kustomisasi.
Solusi ini memungkinkan Anda untuk membuat skrip python yang menerima file yang dipilih di nautilus dan mari Anda memutuskan apakah Anda ingin menampilkan entri atau tidak dan apa yang harus dilakukan dengan entri itu. Ini juga memungkinkan Anda membuat sub-menu dan atau hal-hal keren.
Kekurangannya adalah kurangnya dokumentasi dan pengembang yang hanya ingin menambahkan entri mungkin menemukan diri mereka kehilangan beberapa jam untuk membuat prototipe yang berfungsi (Dalam penelitian saya, saya menemukan solusi berdasarkan C yang jauh lebih rumit dari ini).
Saya biasanya menggunakan Visual Studio Code, sementara pada Windows ia menawarkan entri menu konteks
Open with Visual Studio Code
, itu tidak memiliki fungsi yang sama di Linux, dengan solusi Python akan mudah untuk menyelesaikan masalah. Saya pikir semoga aplikasi di Linux dapat mengambil manfaat dari integrasi nautilus.Semoga penjelasan ini membantu Anda memutuskan apa yang harus dipilih.
sumber