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?
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-scriptsem versões anteriores) e eles aparecerão no menu de contexto do arquivo no submenu Scripts .
Observe que, como foi dito em askubuntu.com/questions/281062/…, se você estiver no ubuntu 13.04, que usa uma versão mais recente do Nautilus, você deve usar a ~/.local/share/nautilus/scriptspasta 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.
Logan
2
isso não está desatualizado?
@cipricus é. Respondida em 2011, há 6 anos . 12 versões do Ubuntu anteriores.
26617 ulidtko
a questão não é marcado como edição específica e há respostas muito recentes
@dessert - Não vejo sentido em ajustar a pergunta a uma resposta desatualizada apenas porque essa resposta foi marcada como definitiva no passado. Isso faria com que a resposta atualizada (e mais votada) parecesse deslocada aqui, quando o caminho a seguir seria simplesmente marcar a última resposta como definitiva. - Outro caminho a seguir seria adicionar uma edição curta à resposta definitiva, agora desatualizada, com o link para a resposta atualizada: o que acabei de fazer.
30
Atualização para o Ubuntu 18.04
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.
Ações do Nautilus
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:
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 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,
Copie esse script python em ~/.local/share/nautilus-python/extensionse 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 :)
pode ser necessário criar nautilus-pythone extensionspastas se elas não estiverem lá.
souravc 11/06/14
Tentei a maioria das soluções neste tópico e descobri que a solução python é a melhor. Embora não seja perfeito, principalmente devido à falta de documentação, permite scripts e portabilidade mais flexíveis.
Ricardo Rodrigues
3
Se você quiser fazer algo a qualquer momento, faça como ulidtko diz e use ~/.gnome2/nautilus-scripts.
Se você quiser personalizar quando o vir, instale o pacote nautilus-actions e vá para Sistema-> Preferências-> Configuração de Ações do Nautilus.
Navegue para o diretório ~/.local/share/nautilus/scripts/
Coloque seu script (escrito em Bash, Perl ou Python) lá.
Marque o script como executável usando o Nautilus ou a partir do terminal com chmod +x script_name
O Nautilus disponibiliza variáveis ambientais para o seu script: NAUTILUS_SCRIPT_SELECTED_FILE_PATHS, NAUTILUS_SCRIPT_SELECTED_URIS, NAUTILUS_SCRIPT_CURRENT_URI e NAUTILUS_SCRIPT_WINDOW_GEOMETRY
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.
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 .debarquivo criasse uma nova entrada no menu de contexto. Quais são os problemas? Onde eu começo ...
Ele sempre aparece no submenu Scripts.
Não mostra se você não tem nada selecionado.
Não permite que você decida se deve mostrar a entrada ou não.
Não permite dicas de ferramentas ou títulos diferentes. (talvez eu esteja sendo exigente)
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.
Essa é exatamente a razão pela qual eu também queria adicionar um menu de contexto. Você poderia postar sua solução python-nautilus "Abrir com código VS"? Obrigado.
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 .fonte
~/.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.Atualização para o Ubuntu 18.04
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.
Ações do Nautilus
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
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:
fonte
nautilus-actions-config-tool
, e Adicionar 'Criar lançador' ao menu de contexto Nautilus (semgnome-desktop-item-edit
)Pode-se usar a extensão python-nautilus como uma alternativa para
nautilus-actions
.Para instalar:
Um exemplo simples:
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 :)fonte
nautilus-python
eextensions
pastas se elas não estiverem lá.Se você quiser fazer algo a qualquer momento, faça como ulidtko diz e use
~/.gnome2/nautilus-scripts
.Se você quiser personalizar quando o vir, instale o pacote nautilus-actions e vá para Sistema-> Preferências-> Configuração de Ações do Nautilus.
fonte
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.
fonte
TL; DR
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:
Explicação detalhada
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 quepython-nautilus
é uma solução melhor em comparação com o nautilus-actions e os scripts do nautilus .Ações 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.
Scripts Nautilus
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.
python-nautilus
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.
fonte