Ubuntu / Unity attache le script au lanceur

12

J'ai récemment téléchargé IntelliJ IDEA et lancé l'application en exécutant . idea.sh. L'application apparaît dans le lanceur pendant que je l'exécute, mais pour une raison quelconque, lorsque je clique dessus avec le bouton droit, je n'obtiens pas d'option `` Verrouiller le lanceur '' comme je le fais avec d'autres applications.

Comment puis-je l'attacher au lanceur?

Est-ce parce que j'exécute un script et non un exécutable directement qui désactive cette option?

Trindaz
la source

Réponses:

16

Il semble y avoir 2 façons de procéder.

Méthode n ° 1: créer manuellement un fichier .desktop

Oui, vous devez créer un lanceur .desktop personnalisé pour cela. Voici les étapes générales:

  1. Créez le fichier * .desktop dans /usr/local/share/applications(ou /usr/share/applicationsselon votre système).

    $ gksudo gedit <insert-path-to-new-file.desktop>
    
  2. Coller sous le texte

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

    Modifier Icon=et Exec=et Name=. Terminal=True/falseDétermine également la météo, le terminal ouvre une fenêtre et affiche la sortie ou s'exécute en arrière-plan.

  3. Placez le fichier .desktop dans le panneau Unity Launcher. Pour cette étape, vous devrez naviguer dans un navigateur de fichiers jusqu'à l'emplacement du fichier .desktop que vous avez créé au cours des étapes précédentes. Après avoir localisé le fichier, faites-le glisser vers la barre Unity Launcher sur le côté. Après avoir fait cela, vous devrez peut-être exécuter la commande suivante pour que votre système reconnaisse le fichier .desktop nouvellement ajouté.

    $ sudo update-desktop-database
    

Méthode n ° 2: méthode GUI

Au lieu de créer manuellement le fichier .desktop, vous pouvez invoquer une interface graphique pour vous aider à le faire.

  1. installer le panneau gnome

    $ sudo apt-get install --no-install-recommends gnome-panel
    
  2. lancer le générateur d'interface graphique .desktop

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

                      éditeur

Les références

slm
la source
sudo update-desktop-databasdevrait êtresudo update-desktop-database
Trindaz
De plus, la dernière ligne de la méthode n ° 1 ( $ sudo ...) ne devrait pas être là. Après quelques conjectures, j'ai découvert que "Mettre cela dans le panneau de l'unité" = Ouvrez le navigateur de fichiers et recherchez le fichier créé à l'étape 1, puis faites-le glisser vers le "Lanceur". "Panel" semble être un terme ambigu dans Unity selon la personne à qui vous parlez.
Trindaz
@Trindaz - oui désolé pour le manque de détails, je ne savais pas exactement comment faire cette étape non plus en regardant un autre tutoriel, cette même étape était tout aussi vague. J'ajouterai les détails comme vous l'avez décrit à cette étape. LMK s'ils semblent OK.
slm
Cela a fonctionné pour moi le 18.04 mais en essayant le 19.04 et le fichier de configuration s'ouvre comme un fichier texte! Quelle douleur.
Quaternion
Citant @MDMower de leur commentaire ( unix.stackexchange.com/questions/170823/… ): Alternativement, si cette application n'est installée que pour l'utilisateur actuel, il serait plus approprié de mettre le .desktopfichier~/.local/share/applications
John Freeman
1

Ce qui suit est utilisable dans mon cas, le lancement d'un script shell à partir d'un lanceur et maintient la fenêtre shell ouverte .

Méthode

  • Cet exemple est avec mate-terminal, utilisez gnome-terminalsi c'est celui de votre système.
  • Cet exemple est avec un script shell php cli , pour avoir l'idée, n'importe quelle commande peut être passée ici.
  • Un paramètre est passé au script, -hdans ce cas.
  • L'ajout ; bashgarde la fenêtre shell ouverte après la fin du script, par exemple:

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

Variations supplémentaires

Pour garder la fenêtre ouverte, avec le chemin d'accès défini dans le répertoire du script, utilisez un cdavant la commande. Par exemple:

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

Cela permet le lancement de certaines commandes supplémentaires sans avoir à rester dans le répertoire de travail actuel.

NVRM
la source