16.04 IntelliJ IDEA Desktop Entry ne fonctionne pas

11

J'ai essayé d'exécuter "Créer une entrée de bureau" à partir de "Outils" dans le menu principal et de "Configurer" à partir de l'écran de démarrage. Ça montre

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).

mais après avoir fermé IDEA (sans verrouiller manuellement l'icône sur le lanceur), l'icône est également supprimée. J'ai supprimé l'entrée de bureau sous ~/.local/share/applicationsce fil, entrez la description du lien ici, puis j'ai essayé chmod 777 /usr/share/applications/jetbrains-idea.desktopet glissé vers le lanceur, ce qui ne fonctionne toujours pas. JAVA_HOMEet PATHsont tous deux correctement configurés.

Lixu
la source
quelle commande doit être exécutée par le lanceur?
Tim
Avez-vous vérifié après vous être déconnecté et reconnecté? Parfois, le cache des icônes d'unité est mis à jour après la déconnexion.
Rahul K Jha
Créez un ~/.configdossier de sauvegarde cp ~/.config ~/.config-backupet supprimez le rm -rf ~/.configdossier. Après cela, redémarrez.
Gen
Puis-je demander, avez-vous exécuté le en bin/idea.shtant que root avec sudo? Parce que cela crée un .desktopfichier appartenant à la racine et que vous ne pouvez pas les faire glisser vers le lanceur
Sergiy Kolodyazhnyy
@Serg non je ne l'ai pas fait
Lixu

Réponses:

13

Il n'y a pas d'option pour le moment pour épingler automatiquement le .desktopfichier au lanceur d'une application qui vient d'être installée. Il ne comprend pas seulement IntelliJ mais de nombreuses autres applications.

Techniquement parlant, il existe des moyens d'ajouter une icône à la liste des icônes du lanceur , mais la plupart des développeurs ne l'utilisent pas et laissent cette option à l'utilisateur. Par conséquent, vous devez épingler manuellement l'icône du lanceur. Sinon, une fois le programme terminé - l'icône disparaît du lanceur, ce qui est le bon comportement de toute application qui ne figure pas dans la liste des favoris du lanceur.

Quant au .desktopfichier lui-même - il est créé.

entrez la description de l'image ici

Cochez uniquement l' Create a desktop entryoption crée le fichier dans le ~/.local/share/applications/dossier, qui est généralement l'emplacement des entrées du lanceur pour les applications inconnues ou spécifiques à l'utilisateur.

Pour confirmer cela, je l'ai exécuté après l'installation:

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

L' For all usersoption de vérification va créer /usr/share/applications/jetbrains-idea-ce.desktop, car le /usr/share/applicationsrépertoire est disponible globalement pour tous les utilisateurs.

L'un ou l'autre est ce que vous voulez, et ils peuvent être épinglés au lanceur simplement en les faisant glisser du gestionnaire de fichiers ou du tableau de bord vers le lanceur. REMARQUE : le bin/idea.shdoit être exécuté en tant qu'utilisateur normal - sinon, si vous l'exécutez en tant que root, le .desktopfichier appartiendra à root, vous ne pouvez donc pas le faire glisser vers le lanceur. Si tel est le cas, vous pouvez toujourssudo chown $USER:$USER /path/to/jetbrains-idea-ce.desktop

Vous pouvez toujours copier l'un de ces .desktopfichiers sur le bureau si c'est ce que vous voulez, mais les fichiers ne sont pas censés se trouver sur le bureau.

En dernier recours, vous pouvez toujours créer manuellement un .desktopfichier.

Dans mon exemple, ce serait

[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

Notez que cela est différent de l'exemple du lien que vous avez fourni . La ligne #!/usr/bin/env xdg-openn'est pas nécessaire et la Execligne s'exécute /bin/shet le idea.shparamètre as. Notez que ce .desktopfichier doit avoir des autorisations exécutables, sinon vous recevrez un avertissement "Application non approuvée"

Sergiy Kolodyazhnyy
la source
J'ai changé le contenu du fichier .desktop généré comme vous l'avez dit, l'ai fait glisser vers le lanceur, cliqué dessus, il ne s'est rien passé.
Lixu
Veuillez ajouter ceci: Vous devez supprimer ce dossier: ~/.local/share/JetBrains/ pour ouvrir à nouveau l'assistant d'installation.
Grisotto
4

J'ai finalement pu résoudre ce problème moi-même.

  1. Assurez-vous que JAVA_HOME est correctement défini dans le profil de votre shell. Par exemple, j'utilise zsh donc je dois ajouter export JAVA_HOME=/.....dans~/.zshrc

  2. Si vous avez spécifié un fichier jar à exécuter comme javaagentdans idea.vmoptions, assurez-vous de spécifier son nom de chemin complet.

  3. Créez simplement un fichier .desktop à partir d'IDEA ou manuellement et pointez le Execparamètre sur le chemin complet de votre idea.shfichier. Faites-le ensuite glisser vers le lanceur. Fonctionne bien.

Lixu
la source
1

Créons et installons un nouveau fichier de bureau idea.desktopqui est un shortcutfichier pour IntelliJ IDEA.

$ vi ~/idea.desktop

Tapez ce qui suit dans le fichier de raccourci idea.desktopà l'aide de l'éditeur:

[Desktop Entry]                                                                 
Encoding=UTF-8
Name=IntelliJ IDEA
Comment=IntelliJ IDEA
Exec=/opt/idea/bin/idea.sh
Icon=/opt/idea/bin/idea.png
Terminal=false
StartupNotify=true
Type=Application
StartupWMClass=IntelliJ IDEA

Maintenant, exécutez la commande suivante pour installer le idea.desktopfichier dans le /usr/share/applications/répertoire:

$ sudo desktop-file-install idea.desktop

Ne copiez jamais directement le fichier de raccourci dans le répertoire / usr / share / applications / . S'il y a des erreurs dans le fichier de raccourci tel que idea.desktop qui va les attraper? C'est pourquoi nous installons en utilisant la commande ci-dessus plutôt que la commande cp . La commande desktop-file-install est capable de détecter les erreurs!

Afin de compléter cette réponse, créons un répertoire symlinkin /usr/local/bin:

$ cd /usr/local/bin/
$ sudo ln -s /opt/idea/bin/

Alternativement, comme le IntelliJ IDEAbinaire exécutable se trouve sous /opt/idea/bin, nous pouvons également ajouter son répertoire parent à notre $PATHafin de pouvoir lancer le programme sans spécifier le chemin absolu du fichier binaire.

$ vi ~/.bashrc
export PATH="$PATH:/opt/idea/bin"

J'ai rencontré des problèmes de raccourci similaires lors de l'installation de Netbeans 10.0, veuillez vous reporter à Après l'installation, Netbeans 10.0 ne fonctionnera pas à partir du bureau Ubuntu 18.04

Marmayogi
la source
0

Peut-être que je suis trop tard de toute façon. L'idée 19.1 crée une entrée qui se trouve dans le fichier jetbrains-idea.desktop. lorsque j'appuie sur le lanceur et que j'essaie de le trouver en tapant, ideail ne s'affiche pas. Une fois que j'ai fait une copie d'un fichier:

cp /usr/share/applications/jetbrains-idea.desktop /usr/share/applications/idea.desktop

il a commencé à montrer.

Vadim
la source
-1

vous pouvez simplement:

  1. exécutez à nouveau ./idea.sh à partir du terminal (comme lorsque vous installiez mais que vous n'installez pas)
  2. puis il ouvrira l'application, appuyez sur "configurer".
  3. appuyez sur créer une entrée de bureau: D
Abdel-Rahman El-Feraly
la source