Od czasu do czasu wpadam na pomysły działań, które chciałbym mieć w menu kontekstowym Nautilus. Jak je tam dodać? Czy istnieje coś takiego jak wtyczka Thunar UCA dla Nautilus?
Od czasu do czasu wpadam na pomysły działań, które chciałbym mieć w menu kontekstowym Nautilus. Jak je tam dodać? Czy istnieje coś takiego jak wtyczka Thunar UCA dla Nautilus?
Odpowiedzi:
Poniższa odpowiedź jest nieaktualna: niedawno zaktualizowana odpowiedź jest tą .
Menu kontekstowe Nautilusa można było dostosowywać za pomocą rozszerzeń Nautilus . Ostrzegamy, że ten link prowadzi do zarchiwizowanego dokumentu; Gnome devs usunął tę dokumentację i nie obsługuje już tego rodzaju dostosowań. Może jednak nadal działać.
Możesz także umieścić skrypty zwykłej powłoki w katalogu ~/.local/share/nautilus/scripts
( ~/.gnome2/nautilus-scripts
we wczesnych wersjach), a pojawią się one w menu kontekstowym pliku w podmenu Skrypty .
~/.local/share/nautilus/scripts
folderu do umieszczania skryptów. I nawet wtedy będą wyświetlane tylko skrypty kiedy klikniesz prawym przyciskiem myszy plik lub folder, a nie puste miejsce.
W dniu wydania Ubuntu 18.04 Nautilus-Actions był / nie jest już dostępny. Wydaje się również, że został zastąpiony przez nowy program o nazwie Filemanager-Actions, który inaczej wygląda identycznie.
Aby zainstalować ten program, zobacz to rozwiązanie.
Możemy zdefiniować własne pozycje menu kontekstowego klikając prawym przyciskiem myszy za pomocą akcji nautilus .
Uruchom narzędzie konfiguracyjne Nautilus-Actions albo z poziomu Dash, albo z terminala za pomocą
nautilus-actions-config-tool
W zakładce Akcja podaj sensowną etykietę swojej akcji, np. „Otwórz w Terminatorze” i wybierz, aby wyświetlać ją w menu wyboru lub menu kontekstowym.
Następnie otwórz kartę Polecenia , aby wprowadzić polecenia do uruchomienia
Podaj pełną ścieżkę do polecenia ( /usr/bin/command_to_run
) i opcji programu.
Po wylogowaniu i ponownym uruchomieniu wyświetli się menu kontekstowe z prawym przyciskiem myszy:
nautilus-actions-config-tool
i Dodaj „Utwórz program uruchamiający” do menu kontekstowego Nautilus (bez gnome-desktop-item-edit
)
Można użyć rozszerzenia python-nautilus jako alternatywy dla nautilus-actions
.
Żeby zainstalować:
sudo apt-get install python-nautilus
Prosty przykład:
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,
Skopiuj ten skrypt Pythona ~/.local/share/nautilus-python/extensions
i zrestartuj nautilus. Po kliknięciu pulpitu prawym przyciskiem myszy i wybraniu elementu, zostanie wykonane proste polecenie bash :)
nautilus-python
i extensions
folderów, jeśli ich tam nie ma.
Jeśli chcesz być w stanie zrobić coś w dowolnym momencie, zrób jak mówi ulidtko i użyj ~/.gnome2/nautilus-scripts
.
Jeśli chcesz mieć możliwość dostosowania, gdy go widzisz, zainstaluj pakiet nautilus-Actions, a następnie przejdź do System-> Preferencje-> Konfiguracja działań Nautilus.
Era 29 listopada 2016 r. Ubuntu 14.04, 16.04 i 16.10 plus wcześniejsze wersje.
Zobacz instrukcje Nautilusa dotyczące tworzenia własnego skryptu tutaj ( Pomoc Ubuntu - Skrypty Nautilus jak to zrobić ). Zasadniczo ty:
~/.local/share/nautilus/scripts/
chmod +x script_name
Istnieją przykładowe skrypty znajdujące się w ( Help Ubuntu - Nautilus Sample Scripts ) do plików e-mail, montowania pliku ISO, ustawiania plików tylko do odczytu, edycji pliku z uprawnieniami gedit ROOT, otwierania terminala w bieżącej lokalizacji itp.
Przejrzyj skrypty i weź jeden jako szablon do szyfrowania plików, przesyłania do chmury, kompresji do kopii zapasowej lub cokolwiek innego, co musisz zrobić.
Najlepszym rozwiązaniem dla twórców aplikacji jest użycie python-nautilus .
Utwórz skrypt w języku Python ( poniższe przykłady i złą dokumentację ) i skopiuj go do odpowiedniego folderu:
mkdir -p ~/.local/share/nautilus-python/extensions && cp script.py ~/.local/share/nautilus-python/extensions
Powiedzmy, że chcemy stworzyć aplikację, że użytkownik instaluje ze skryptu lub .deb
pliku, z myślą o tym będę wyjaśniając, dlaczego myślę, python-nautilus
jest lepszym rozwiązaniem w porównaniu z nautilus-actions i nautilus skryptów .
Jest to jedyne rozwiązanie, które oferuje interfejs GUI, a zatem ułatwia tworzenie złożonych zachowań, na przykład decydowanie, które pozycje menu mają być wyświetlane, jeśli typem wybranego pliku jest mime text/plain
.
Główny problem z tym rozwiązaniem polega na tym, że nie jest łatwo (jeśli to możliwe) zaimportować wpisy na inny komputer bez Narzędzia konfiguracyjnego i importującego je użytkownika, powiedzmy, że nie byłoby możliwe wykonanie skryptu.
Jest to prostsze rozwiązanie, wybierz skrypt, umieść go w folderze i gotowe. To zdecydowanie pozwoliłoby skryptowi instalacyjnemu lub .deb
plikowi utworzyć nowy wpis w menu kontekstowym. Jakie są problemy? Gdzie zaczynam...
Dobra aplikacja nie używa takich skrótów, ponieważ psuje to wrażenia użytkownika.
Nie jest tak łatwe do stworzenia jak poprzednie rozwiązania, ale oferuje to, co najlepsze z obu światów. Skrypty i dostosowywanie.
To rozwiązanie umożliwia utworzenie skryptu w języku Python, który odbiera pliki wybrane w nautilusie i pozwala zdecydować, czy chcesz wyświetlić wpis, czy nie i co zrobić z tym wpisem. Pozwala także tworzyć podmenu i / lub fajne rzeczy.
Wadą jest duży brak dokumentacji, a programiści, którzy chcą tylko dodać wpis, mogą stracić kilka godzin na stworzenie działającego prototypu (w moich badaniach znalazłem rozwiązanie oparte na C, które było znacznie bardziej skomplikowane niż to).
Zwykle używam Visual Studio Code, podczas gdy w Windows oferuje pozycję menu kontekstowego Open with Visual Studio Code
, brakuje mu tej samej funkcjonalności w Linuksie, z rozwiązaniem Python łatwo byłoby rozwiązać problem. Myślę, że aplikacje w Linuksie mogą skorzystać z integracji nautilusa.
Mam nadzieję, że to wyjaśnienie pomogło ci zdecydować, co wybrać.