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

11

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

Jhondoe
fonte
Posso confirmar a resposta de Stranger, com Jessie no Pi3, os arquivos da área de trabalho estão dentro de / usr / share / raspi-ui-overrides / applications / No momento em que copiei eclipse.desktop em / usr / share / applications / o ícone apareceu no Appliaction Preferências da Barra de Ativação e pude adicioná-la à Barra de Ativação.
István Arany

Respostas:

17

Isso pode ser feito facilmente, criando um .desktoparquivo para cada aplicativo que você deseja adicionar ao menu. Tudo isso está explicado claramente no wiki do LXDE para o menu principal 1 .

* .desktop Locais

Se você deseja que o aplicativo para aparecer em menus para todos os usuários em um sistema, adicionar o arquivo para o diretório /usr/share/applications/. Por exemplo, você pode ter /usr/share/applications/gimp.desktoppara o aplicativo gimp. É aqui que os pacotes normalmente criam seus .desktoparquivos e é recomendado.

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

* .desktop Configurações

Leia alguns dos .desktoparquivos existentes /usr/share/applications/para entender como eles funcionam. Eles são bastante diretos, mas o wiki fornece uma breve explicação das configurações mais usadas.

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

  • [Entrada da á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
  • Icon = / 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 = Varsóvia - nome exibido no menu
  • GenericName = warsow - descrição da entrada
  • StartupNotify = false - A notificação de inicialização está desativada
  • Categories = Game - especifica as categorias nas quais a entrada será colocada no menu (várias categorias são especificadas com ponto e vírgula entre elas, por exemplo, 'Game; Education')

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

Se você criou um .desktoparquivo ou um foi criado quando o aplicativo está instalado, você pode adicioná-lo 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 de seus painéis pode estar em $HOME/.config/lxpanel/LXDE/panels/panel.

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

Além disso, você precisará adicionar a Buttonconfiguração com um idcaminho para o .desktoparquivo para cada aplicativo que deseja que apareça na barra de inicialização. Aqui está um exemplo de como ela se 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 útil para reiniciar o lxpanel para garantir que ele atualize 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 lxpanelcomando no seu terminal, recomendo usá nohup-lo para que ele não acabe com o processo lxpanel quando o terminal estiver fechado. nohup lxpanel -p LXDE &

iyrin
fonte
1
A pergunta era sobre como adicionar coisas a do ativador de aplicativos através da I terminal já não como adicionar coisas para o menu iniciar
Jhondoe
1
A resposta foi editada. Você ainda precisará dos .desktoparquivos e não se esqueça de atualizar o painel para que as alterações apareçam.
Iyrin
Por favor, selecione isto como a resposta.
iyrin
2
Com Jessie em um Pi 3, os arquivos .desktop são encontrados em / usr / share / applications / e / ou usr / share / raspi-ui-overrides / applications / O arquivo do painel precisa refletir a localização real. Qualquer um funcionará, mas suspeito que o último seja a nova maneira de fazer as coisas. O sudo mv de uma cópia do arquivo .desktop fornece uma versão nos dois locais.
Wayfaring Stranger
1
Para reiniciar o painel sobre Raspbian o comando é lxpanel -p LXDE-pi &.
Frank Breitling