De tempos em tempos, tenho idéias de ações que gostaria de ter disponíveis no menu de contexto do Nautilus. Como os adiciono lá? Existe algo como um plugin Thunar UCA para o Nautilus?
De tempos em tempos, tenho idéias de ações que gostaria de ter disponíveis no menu de contexto do Nautilus. Como os adiciono lá? Existe algo como um plugin Thunar UCA para o Nautilus?
Respostas:
A resposta abaixo está desatualizada: uma resposta atualizada recentemente é essa .
Os menus de contexto do Nautilus costumavam ser personalizáveis pelas extensões do Nautilus . Esteja avisado de que esse link leva ao documento arquivado; Os desenvolvedores do Gnome removeram essa documentação e não suportam mais esse tipo de personalização. Ainda pode funcionar.
Você também pode colocar scripts de shell simples no diretório ~/.local/share/nautilus/scripts
( ~/.gnome2/nautilus-scripts
em versões anteriores) e eles aparecerão no menu de contexto do arquivo no submenu Scripts .
~/.local/share/nautilus/scripts
pasta para inserir seus scripts. E mesmo assim, apenas os scripts serão exibidos quando você clica com o botão direito do mouse em um arquivo ou pasta e não em um espaço vazio.
Na data em que o Ubuntu 18.04 foi lançado, o Nautilus-Actions estava / não está mais disponível. Também parece ter sido substituído por um novo programa, chamado Filemanager-Actions, que parece idêntico.
Para instalar este programa, consulte esta solução.
Podemos definir nossos próprios itens de menu de contexto com ações nautilus .
Execute a Ferramenta de configuração do Nautilus-Actions no Dash ou em um terminal com
nautilus-actions-config-tool
Na guia Ação, dê um rótulo sensível à sua ação, por exemplo, "Abrir no Terminator" e escolha exibi-lo na seleção ou no menu de contexto.
Em seguida, abra a guia Comando para inserir os comandos a serem executados
Indique o caminho completo para o comando ( /usr/bin/command_to_run
) e as opções do programa.
Depois de sair e entrar novamente, o menu de contexto do botão direito abaixo será exibido:
nautilus-actions-config-tool
, e Adicionar 'Criar lançador' ao menu de contexto Nautilus (sem gnome-desktop-item-edit
)
Pode-se usar a extensão python-nautilus como uma alternativa para nautilus-actions
.
Para instalar:
sudo apt-get install python-nautilus
Um exemplo simples:
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,
Copie esse script python em ~/.local/share/nautilus-python/extensions
e reinicie o nautilus. Quando você clica com o botão direito na área de trabalho e seleciona seu item, seu simples comando bash será executado :)
nautilus-python
e extensions
pastas se elas não estiverem lá.
Era 29 de novembro de 2016, Ubuntu 14.04, 16.04 e 16.10 e versões anteriores.
Veja as instruções do Nautilus para criar seu próprio script aqui ( Ajuda Ubuntu - Como usar o Nautilus Scripts ). Basicamente você:
~/.local/share/nautilus/scripts/
chmod +x script_name
Existem scripts de amostra localizados em ( Ajuda Ubuntu - Nautilus Sample Scripts ) para enviar arquivos por e-mail, montar um arquivo ISO, configurar arquivos como somente leitura, editar arquivos com privilégios de raiz do gedit, abrir terminal no local atual etc.
Examine os scripts e use um como modelo para criptografar arquivos, fazer upload para a nuvem, compactar para backup ou o que for necessário.
A melhor solução para desenvolvedores de aplicativos é usar python-nautilus .
Crie seu script python (a seguir exemplos a e documentação incorreta ) e copie-o para a pasta correta:
mkdir -p ~/.local/share/nautilus-python/extensions && cp script.py ~/.local/share/nautilus-python/extensions
Digamos que você queira criar um aplicativo que o usuário instale com um script ou um .deb
arquivo, com isso em mente explicarei por que acho que python-nautilus
é uma solução melhor em comparação com o nautilus-actions e os scripts do nautilus .
Essa é a única solução para oferecer uma GUI e, portanto, facilita a criação de um comportamento complexo, por exemplo, decida quais entradas do menu serão exibidas se o tipo MIME do arquivo selecionado for text/plain
.
O principal problema com esta solução é que não é fácil (se possível) importar as entradas para outro computador sem a Ferramenta de Configuração e o usuário importando, digamos que não seria possível fazer com um script.
Esta é a solução mais direta, escolha um script, coloque-o em uma pasta e pronto. Definitivamente, isso permitiria que um script de instalação ou um .deb
arquivo criasse uma nova entrada no menu de contexto. Quais são os problemas? Onde eu começo ...
Um bom aplicativo não usa atalhos como esse, porque estraga a experiência do usuário.
Não é tão fácil de criar quanto as soluções anteriores, mas oferece o melhor dos dois mundos. Script e personalização.
Esta solução permite criar um script python que receba os arquivos selecionados no nautilus e vamos decidir se você deseja mostrar uma entrada ou não e o que fazer com essa entrada. Também permite criar submenus e / ou coisas legais.
A desvantagem é a grande falta de documentação e desenvolvedores que apenas querem adicionar uma entrada podem perder algumas horas para criar um protótipo funcional (em minha pesquisa, encontrei uma solução baseada em C que era muito mais complicada do que isso).
Eu normalmente uso o Código do Visual Studio, enquanto no Windows ele oferece uma entrada no menu de contexto Open with Visual Studio Code
, não possui a mesma funcionalidade no Linux. Com a solução Python, seria fácil resolver o problema. Acho que os aplicativos no Linux podem se beneficiar de uma integração com o nautilus.
Espero que esta explicação tenha ajudado a decidir o que escolher.