Use o comando personalizado para abrir arquivos

5

O aplicativo gedit é definido como aplicativo padrão para arquivos de texto. Supondo que eu tenha um script com direitos de execução em /usr/bin , como posso definir esse script para ser executado quando eu abro um arquivo de texto usando o Nautilus ou xdg-open ?

/usr/bin/foo :

echo "Works!"
gedit $*

Se eu fizer foo my_text_file , a mensagem Works! aparecerá e gedit será executada. Como posso definir esse script foo para ser executado como aplicativo padrão?

    
por Ionică Bizău 19.09.2014 / 12:04

1 resposta

8

A maneira mais limpa seria criar um arquivo .desktop para seu script e torná-lo o editor de texto padrão.

  1. Crie um arquivo chamado /usr/share/applications/foo.desktop com o seguinte conteúdo:

    [Desktop Entry]
    Name=foo
    Exec=/usr/bin/foo.sh %U
    Terminal=false
    Type=Application
    MimeType=text/plain;
    
  2. Torne-o o programa padrão do tipo% mim_de% mimety:

    xdg-mime default foo.desktop "text/plain" 
    

Como um hack sujo, você também pode simplesmente chamar seu script text/plain :

sudo mv /usr/bin/gedit /usr/bin/gedit.orig
sudo mv /path/to/yourscript.sh /usr/bin/gedit

Em seguida, faça seu script chamar o original:

echo "Works!"
/usr/bin/gedit.original "$@"
    
por terdon 19.09.2014 / 14:40