Ubuntu / Unity anexam script ao Launcher


12

Recentemente, baixei o IntelliJ IDEA e inicie o aplicativo executando . idea.sh. O aplicativo aparece no iniciador enquanto o estou executando, mas, por algum motivo, quando clico com o botão direito do mouse, não recebo a opção 'Bloquear no iniciador', como faço com outros aplicativos.

Como faço para anexá-lo ao iniciador?

É porque estou executando um script e não um executável diretamente que desativa essa opção?

Respostas:


16

Parece haver duas maneiras de fazer isso.

Método # 1: criar manualmente o arquivo .desktop

Sim, você precisa criar um iniciador .desktop personalizado para ele. Aqui estão as etapas gerais:

  1. Crie o arquivo * .desktop no /usr/local/share/applications(ou /usr/share/applicationsdependendo do seu sistema).

    $ gksudo gedit <insert-path-to-new-file.desktop>
    
  2. Colar abaixo do texto

    [Desktop Entry]
    Type=Application
    Terminal=false
    Name=IntelliJ IDEA
    Icon=/path/to/icon/icon.svg
    Exec=/path/to/file/idea.sh
    

    Edite Icon=e Exec=e Name=. Também Terminal=True/falsedetermina o tempo em que o terminal abre uma janela e exibe a saída ou é executada em segundo plano.

  3. Coloque o arquivo .desktop no painel do Unity Launcher. Para esta etapa, você precisará navegar em um navegador de arquivos para onde o arquivo .desktop está criado nas etapas anteriores. Depois de localizar o arquivo, arraste-o para a barra do Unity Launcher ao lado. Depois de fazer isso, pode ser necessário executar o seguinte comando para fazer com que o sistema reconheça o arquivo .desktop recém-adicionado.

    $ sudo update-desktop-database
    

Método 2: Método da GUI

Em vez de criar manualmente o arquivo .desktop, você pode convocar uma GUI para ajudar a fazer isso.

  1. instalar painel gnome

    $ sudo apt-get install --no-install-recommends gnome-panel
    
  2. inicie o gerador da GUI .desktop

    $ gnome-desktop-item-edit ~/Desktop/ --create-new
    

                      ss do editor

Referências


sudo update-desktop-databasdeve sersudo update-desktop-database
Trindaz

Além disso, a linha final do método 1 ( $ sudo ...) não deve estar lá. Após algumas adivinhações, descobri que "Coloque isso no painel da unidade" = Abra o navegador de arquivos e encontre o arquivo criado na etapa 1, depois arraste-o para o "Iniciador". "Painel" parece ser um termo ambíguo no Unity, dependendo de com quem você fala.
Trindaz

@Trindaz - sim, desculpe pela falta de detalhes. Eu não tinha certeza exatamente de como fazer essa etapa, ou olhando para outro tutorial, essa mesma etapa era igualmente vaga. Vou adicionar os detalhes como você descreveu nessa etapa. LMK se parecerem bem.
slm

Isso funcionou para o meu no 18.04, mas tentando no 19.04 e o arquivo de configuração é aberto como um arquivo de texto! Que dor.
Quaternion

Citando @MDMower de seu comentário ( unix.stackexchange.com/questions/170823/… ): Como alternativa, se este aplicativo estiver instalado apenas para o usuário atual, seria mais apropriado colocar o .desktoparquivo em~/.local/share/applications
John Freeman

1

O seguinte é utilizável no meu caso, iniciando um script de shell a partir de um iniciador e mantém a janela do shell aberta .

Método

  • Este exemplo é com mate-terminal, use gnome-terminalse for o único em seu sistema.
  • Este exemplo é com um script php cli shell , para ter uma idéia, qualquer comando pode ser passado aqui.
  • Um parâmetro é passado para o script, -hneste caso.
  • A adição ; bashmantém a janela do shell aberta após o final do script, por exemplo:

    mate-terminal --execute bash -c "php /home/lilith/Desktop/moon/MOON/moon -h ; bash"
    

Variações adicionais

Para manter a janela aberta, com o caminho definido no diretório do script, use a cdantes do comando. Por exemplo:

mate-terminal --execute bash -c "cd /home/lilith/Desktop/moon/MOON/ && php moon -h ; bash" 

Isso permite o lançamento de alguns comandos adicionais sem a necessidade de permanecer no diretório de trabalho atual.

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.