16.04 IntelliJ IDEA Desktop Entry não funciona

8

Eu tentei executar "Create Desktop Entry" tanto de "Ferramentas" no menu principal como de "Configurar" na tela inicial. Mostra

Desktop Entry Created
You may now exit IDEA and start it from the system menu (restart a session if a new entry seem not to appear).

mas depois de fechar o IDEA (sem bloquear manualmente o ícone no lançador), o ícone também é removido. Eu deletei a entrada da área de trabalho em ~/.local/share/applications de acordo com este tópico insira a descrição do link aqui Então eu tentei chmod 777 /usr/share/applications/jetbrains-idea.desktop e arrastei para o lançador, o que ainda não funciona. JAVA_HOME e PATH estão configurados corretamente.

    
por Lixu 27.04.2016 / 04:29

3 respostas

4

Eu finalmente consegui consertar isso sozinho.

  1. Verifique se JAVA_HOME está definido corretamente no perfil do seu shell. Por exemplo, estou usando zsh, então tenho que adicionar export JAVA_HOME=/..... em ~/.zshrc

  2. Se você especificou algum arquivo jar para ser executado como javaagent in idea.vmoptions , especifique o nome completo do caminho.

  3. Basta criar o arquivo .desktop do IDEA ou manualmente e apontar o parâmetro Exec para o caminho completo do seu arquivo idea.sh . Em seguida, arraste-o para o lançador. Funciona bem.

por Lixu 04.05.2016 / 06:57
10

Não há opção a partir de agora para a fixação automática do arquivo .desktop no iniciador de um aplicativo que acabou de ser instalado. Não inclui apenas o IntelliJ, mas muitas outras aplicações.

Tecnicamente falando, existem maneiras de acrescentar um ícone à lista de ícones no launcher , mas a maioria dos desenvolvedores não usa use-o e deixe essa opção para o usuário. Portanto, você precisa fixar manualmente o ícone do Iniciador. Caso contrário, uma vez que o programa saia - o ícone desaparece do lançador, que é o comportamento adequado de qualquer aplicativo que não esteja na lista de favoritos do inicializador.

Quanto ao arquivo .desktop em si - ele é criado.

Verificar apenas a opção Create a desktop entry cria o arquivo na pasta ~/.local/share/applications/ , que normalmente é onde as entradas do ativador para aplicativos desconhecidos ou específicos do usuário vão.

Para confirmar isso, eu corri isso após a instalação:

$ ls ~/.local/share/applications | grep idea
jetbrains-idea-ce.desktop

Marcar a opção For all users criará /usr/share/applications/jetbrains-idea-ce.desktop , pois o diretório /usr/share/applications está disponível globalmente para todos os usuários.

Qualquer um deles é o que você deseja, e eles podem ser fixados no iniciador simplesmente arrastando-os do gerenciador de arquivos ou traço para o inicializador. OBSERVAÇÃO : o bin/idea.sh deve ser executado como seu usuário comum - caso contrário, se você executá-lo como root, o arquivo .desktop será de propriedade raiz, por isso você não poderá arrastá-lo para o ativador. Se for esse o caso, você sempre pode sudo chown $USER:$USER /path/to/jetbrains-idea-ce.desktop

Você sempre pode copiar qualquer um deles para o Desktop se for o que deseja, mas os arquivos .desktop não devem estar literalmente na área de trabalho.

Como último recurso, você sempre pode criar manualmente um arquivo .desktop .

No meu exemplo, isso seria

[Desktop Entry]
Type=Application
Terminal=false
Exec=/bin/sh /home/xieerqi/intellij/idea-IC-145.597.3/bin/idea.sh
Name=Intellij
Icon=/home/xieerqi/intellij/idea-IC-145.597.3/bin/idea.png

Observe que isso é diferente do exemplo no link fornecido por você . O #!/usr/bin/env xdg-open é desnecessário e Exec linha realmente executa /bin/sh e o idea.sh como parâmetro para ele. Observe que esse arquivo .desktop precisa ter permissões executáveis, caso contrário, você receberá um aviso "Aplicativo não confiável"

    
por Sergiy Kolodyazhnyy 03.05.2016 / 08:06
-1

simplesmente você pode:

  1. execute ./idea.sh novamente no terminal (como quando você estava instalando, mas você não instalará)
  2. então ele abrirá o aplicativo, pressione "configure".
  3. pressione criar entrada na área de trabalho: D
por Abdel-Rahman El-Feraly 05.02.2018 / 05:34