Como posso adicionar aplicativos à barra de inicialização do aplicativo lxpanel via cli?

12

Existe uma maneira na barra de ferramentas do LXDE de alterar quais aplicativos estão na parte de inicialização rápida através do terminal, para que possa ser colocado em um arquivo de lote para alterar em vários clientes?

    
por Jhondoe 04.01.2015 / 18:25

1 resposta

16

Isso pode ser feito facilmente criando um arquivo .desktop para cada aplicativo que você deseja adicionar ao menu. Isso tudo é explicado claramente no wiki do LXDE para o menu principal 1 .

*. locais da área de trabalho

Se você quiser que o aplicativo apareça nos menus de todos os usuários de um sistema, adicione o arquivo ao diretório /usr/share/applications/ . Por exemplo, você pode ter /usr/share/applications/gimp.desktop para o aplicativo gimp. É aqui que os pacotes normalmente criam seus arquivos .desktop e são recomendados.

Se você quiser adicionar o aplicativo ao menu de um usuário específico, crie o arquivo no diretório $HOME/.local/share/applications/ .

*. Configurações da área de trabalho

Leia alguns de seus arquivos .desktop existentes em /usr/share/applications/ para entender como eles funcionam. Eles são bastante diretos, mas o wiki fornece uma breve explicação das configurações comumente usadas.

Aqui está uma explicação ligeiramente modificada do wiki para o arquivo warsow.desktop . As configurações atuais estão em negrito.

  • [Entrada na área de trabalho] - indica que este arquivo é um arquivo * .desktop
  • Codificação = UTF-8 - a codificação UTF-8 é usada
  • Exec = warsow - caminho de um binário ou script usado para iniciar o programa
  • Ícone = / home / USER / my / icons / wsw-icon_80x80.png - caminho para o ícone da entrada
  • Tipo = Aplicativo - o arquivo da área de trabalho está iniciando um aplicativo
  • Terminal = false - o programa não será executado em um terminal
  • Nome = Warsow - nome exibido no menu
  • GenericName = warsow - descrição da entrada
  • StartupNotify = false - A notificação de inicialização está desativada
  • Categorias = Jogo - especifica as categorias nas quais a entrada será colocados no menu (várias categorias são especificadas com um ponto e vírgula entre eles, e. 'Jogo; Educação')

Adicionando um aplicativo a uma barra de inicialização de aplicativos

Se você criou um arquivo .desktop ou um arquivo foi criado quando o aplicativo está instalado, você pode adicionar o aplicativo a uma barra de ativação dentro de um lxpanel. As configurações para painéis estão localizadas no diretório de perfil. Por exemplo, um dos seus painéis pode estar em $HOME/.config/lxpanel/LXDE/panels/panel .

Editando o arquivo com vim ~/.config/lxpanel/LXDE/panels/panel , posso ver onde o plug-in e a configuração da barra de ativação são adicionados. Se o plug-in ainda não tiver sido adicionado ao painel, você precisará adicioná-lo a cada usuário. Observe que os plugins da barra de inicialização aparecerão no painel na mesma ordem em que aparecem neste arquivo.

Além disso, você precisará adicionar a configuração Button com um caminho id ao arquivo .desktop de cada aplicativo que você deseja que apareça na barra de ativação. Aqui está um exemplo do que parece.

Plugin {
    type = launchbar
    Config {
        Button {
            id=pcmanfm.desktop
        }
        Button {
            id=/var/lib/menu-xdg/applications/menu-xdg/X-Debian-Applications-Network-File-Transfer-transmission_bittorrent_client_(gtk).desktop
        }
        Button {
            id=/usr/share/applications/gimp.desktop
        }
        Button {
            id=/var/lib/menu-xdg/applications/menu-xdg/X-Debian-Applications-Terminal-Emulators-gnome_terminal.desktop
        }
        Button {
            id=/usr/share/applications/gedit.desktop
        }
        Button {
            id=/usr/share/applications/gcalctool.desktop
        }
        Button {
            id=/usr/share/applications/keepassx.desktop
        }
    }
}

Atualizando o painel

O wiki ainda fornece um script prático para reiniciar o lxpanel para garantir que ele atualizará suas alterações.

#!/bin/bash

# lxpanel processes must be killed before it can reload an lxpanel profile.
killall lxpanel
# Finds and deletes cached menu items to ensure updates will appear.
find ~/.cache/menus -name '*' -type f -print0 | xargs -0 rm
# Starts lxpanel with the '--profile' option and runs as a background process.
# In this example the profile is LXDE. Profiles are the directories located 
# in $HOME/.config/lxpanel/. In this case, $HOME/.config/lxpanel/LXDE.
lxpanel -p LXDE &

Se você estiver executando o comando lxpanel em seu terminal, recomendo usar nohup para não matar o processo lxpanel quando o terminal estiver fechado. nohup lxpanel -p LXDE &

    
por 06.01.2015 / 23:26