Ajuda com sintaxe e personalização de arquivos .desktop para Unity

2
  1. Eu tentei abaixo e funciona como esperado. Sandboxing Firefox em um estado volátil através de Firejail .

    Exec=firejail --seccomp --private firefox
    
  2. Para que serve isso? E o que isso faz?

    Actions=NewWindow;NewPrivateWindow;
    
  3. Meu Firefox.desktop código até agora

    [Desktop Entry] Version=1.0
    Name=VOLATILE SANDBOX - Private Firefox 
    Comment=Browse the World Wide Web
    GenericName=Web Browser
    Keywords=Internet;WWW;Browser;Web;Explorer
    Exec=firejail --seccomp --private firefox
    Terminal=false
    X-MultipleArgs=false
    Type=Application
    Icon=firefox
    Categories=GNOME;GTK;Network;WebBrowser;
    MimeType=text/html;text/xml;application/xhtml+xml;application/xml;application/rss+xml;application/rdf+xml;image/gif;image/jpeg;image/png;x-scheme-handler/http;x-scheme-handler/https;x-scheme-handler/ftp;x-scheme-handler/chrome;video/webm;application/x-xpinstall;
    StartupNotify=true
    Actions=NewWindow;NewPrivateWindow;
    
  4. Eu quero adicionar estados de clique com o botão direito do mouse: Persistente e inseguro , para que você possa atualizar as extensões. Como eu adicionaria um segundo e terceiro estado (no meu código)?

    Exec=firejail firefox
    

    e

    Exec=firefox
    
por Ubuntu_Chef 05.09.2015 / 19:30

2 respostas

2

Limitando / alterando um pouco sua pergunta "Quais são as diferentes seções em um arquivo .desktop ?"

Explicação de diferentes seções em um arquivo .desktop

Em minha resposta, usarei um arquivo .desktop simples, já que o exemplo de firefox tem muitas linhas de distração, não tornando a resposta mais clara.

No entanto, o princípio é exatamente o mesmo para todos os arquivos .desktop , a serem usados em Unity .

1. O "corpo" de um arquivo básico .desktop

Digamos que você tenha um aplicativo ( gedit no exemplo), mas nenhum arquivo .desktop . Você poderia simplesmente criar um arquivo:

[Desktop Entry]
Name=Gedit
Exec=gedit
Type=Application

nomeie-o, por exemplo %código%. Para usá-lo em sua área de trabalho (clique duas vezes para executar o comando gedit_starter.desktop ), basta torná-lo executável. Para fazê-lo aparecer no Dash, salve-o em gedit (para uso global) ou /usr/share/applications (para uso local e pessoal).

Adicionando opções extras (chaves de entrada)

O exemplo acima é um arquivo ~/.local/share/applications em sua forma mais simples; um comando simples, um ícone genérico. Você pode adicionar linhas adicionais, para dar ao arquivo .desktop um ícone, adicionar opções extras ou nomes localizados etc. Consulte este link para encontrar opções para adicionar chaves de entrada, como um ícone personalizado.

Observe que o ícone (possivelmente definido-) e o nome do conjunto (na linha .desktop ) não serão exibidos no arquivo se você armazená-lo em sua área de trabalho, a menos que você torna executável. Veja abaixo o exemplo do firefox:

não executável

executável

2. Adicionando itens do botão direito do mouse (do Iniciador Unity)

A seção, conforme mencionado em Name= , contém o comando "main" do arquivo do ativador. Isso será executado se você clicar nele ( [1.] ). Para criar itens com o botão direito, você precisa de duas seções adicionais:

  • uma linha, listando essas opções adicionais de clique com o botão direito, separadas por Unity . No exemplo do arquivo "real" ";" :

    Actions=Window;Document;
    

    Cada um desses itens corresponde a:

  • uma seção de atalho, como:

    [Desktop Action Window]
    Name=Open a New Window
    Exec=gedit --new-window
    OnlyShowIn=Unity;
    

    Olhando para esta seção:

    [Desktop Action Window]
    

    refere-se ao nome, conforme listado na linha gedit''.desktop . O nome pode conter espaços, por exemplo, Actions= , como eu fiz em esta resposta .

    Name=Open a New Window
    

    refere-se ao nome, como aparece na sua interface

    Exec=gedit --new-window
    

    refere-se ao comando para executar com o botão direito do mouse

    OnlyShowIn=Unity;
    

    refere-se aos ambientes de área de trabalho que devem exibir a entrada da área de trabalho

É basicamente assim que funciona.

Seu exemplo

Se eu entendi bem sua pergunta e você deseja adicionar Persistente e inseguro à sua lista rápida do Firefox (como opção de clique com o botão direito do mouse), para mudar a linha:

Actions=NewWindow;NewPrivateWindow;

para:

Actions=NewWindow;NewPrivateWindow;Persistant;unsafe;

e adicione ao final do arquivo duas seções de atalho:

    [Desktop Action Persistant]
    Name=Persistant
    Exec=<command>
    OnlyShowIn=Unity;


    [Desktop Action unsafe]
    Name=unsafe
    Exec=<command>
    OnlyShowIn=Unity;

onde você precisa substituir os dois Recently used pelos comandos que deseja executar.

Nota

Se você quiser editar um arquivo <command> , sempre copie o arquivo padrão (global) de .desktop para /usr/share/applications (para uso pessoal local) e edite o local. Após o logout / in, o local irá anular o global.

    
por Jacob Vlijm 06.09.2015 / 08:33
0

A propósito, se você fizer isso e tiver problemas para realmente abrir links no Firefox (ou qualquer programa) como um "aplicativo padrão" para um tipo de arquivo, tente adicionar% U à linha Exec, assim:

Exec=firefox %U

O% U é um marcador para o URL que está sendo passado para o programa. Acho que outros espaços reservados também estão disponíveis, isso é o que funcionou para mim no Firefox.

    
por willbradley 12.01.2018 / 07:19