Ubuntu / Unity-Skript an Launcher anhängen

12

Ich habe kürzlich IntelliJ IDEA heruntergeladen und die App durch Ausführen gestartet . idea.sh. Die App wird im Launcher angezeigt, während ich sie ausführe. Wenn ich jedoch mit der rechten Maustaste darauf klicke, wird aus irgendeinem Grund nicht die Option "Für Launcher sperren" angezeigt, wie dies bei anderen Apps der Fall ist.

Wie befestige ich es am Launcher?

Liegt es daran, dass ich ein Skript und keine direkt ausführbare Datei ausführe, die diese Option deaktiviert?

Trindaz
quelle

Antworten:

16

Es gibt zwei Möglichkeiten, wie Sie dies tun können.

Methode 1: Erstellen Sie die .desktop-Datei manuell

Ja, Sie müssen einen benutzerdefinierten .desktop-Starter dafür erstellen. Hier sind die allgemeinen Schritte:

  1. Erstellen Sie eine * .desktop-Datei in /usr/local/share/applications(oder /usr/share/applicationsabhängig von Ihrem System).

    $ gksudo gedit <insert-path-to-new-file.desktop>
    
  2. Fügen Sie den folgenden Text ein

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

    Bearbeiten Icon=und Exec=und Name=. Auch Terminal=True/falsebestimmt Wetter das Terminal öffnet sich ein Fenster und zeigt Ausgang oder läuft im Hintergrund.

  3. Fügen Sie die .desktop-Datei in das Unity Launcher-Bedienfeld ein. Für diesen Schritt müssen Sie in einem Dateibrowser zu der .desktop-Datei navigieren, die Sie in den vorherigen Schritten erstellt haben. Ziehen Sie die Datei nach dem Auffinden der Datei in die seitliche Unity Launcher-Leiste. Nachdem Sie dies getan haben, müssen Sie möglicherweise den folgenden Befehl ausführen, damit Ihr System die neu hinzugefügte .desktop-Datei erkennt.

    $ sudo update-desktop-database
    

Methode 2: GUI-Methode

Anstatt die .desktop-Datei manuell zu erstellen, können Sie eine GUI aufrufen, um dies zu unterstützen.

  1. installiere gnome-panel

    $ sudo apt-get install --no-install-recommends gnome-panel
    
  2. Starten Sie den .desktop-GUI-Generator

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

                      ss des Herausgebers

Verweise

slm
quelle
sudo update-desktop-databassollte seinsudo update-desktop-database
Trindaz
Außerdem sollte die letzte Zeile von Methode 1 ( $ sudo ...) nicht vorhanden sein. Nach einigen Vermutungen stellte ich fest, dass "Put this in Unity Panel" = Öffnen Sie den Dateibrowser und suchen Sie die in Schritt 1 erstellte Datei. Ziehen Sie sie dann auf den "Launcher". "Panel" scheint in Unity ein mehrdeutiger Begriff zu sein, je nachdem, mit wem Sie sprechen.
Trindaz
@Trindaz - ja, entschuldige den Mangel an Details. Ich war mir nicht sicher, wie ich diesen Schritt genau machen sollte, als ich mir ein anderes Tutorial ansah. Dieser Schritt war genauso vage. Ich werde die Details hinzufügen, wie Sie in diesem Schritt beschrieben haben. LMK wenn sie OK aussehen.
slm
Dies funktionierte für mich am 18.04, versuchte es aber am 19.04 und die Konfigurationsdatei wird als Textdatei geöffnet! Was für ein Schmerz.
Quaternion
Zitieren von @MDMower aus ihrem Kommentar ( unix.stackexchange.com/questions/170823/… ): Wenn diese Anwendung nur für den aktuellen Benutzer installiert ist, ist es alternativer besser, die .desktopDatei in~/.local/share/applications
John Freeman
1

In meinem Fall kann Folgendes verwendet werden: Starten eines Shell-Skripts über einen Launcher und Offenhalten des Shell-Fensters .

Methode

  • Dieses Beispiel wird mit mate-terminalverwendet, gnome-terminalwenn es dasjenige auf Ihrem System ist.
  • Dieses Beispiel ist mit einem PHP-CLI-Shell-Skript , um die Idee zu bekommen, kann jeder Befehl hier übergeben werden.
  • In -hdiesem Fall wird ein Parameter an das Skript übergeben.
  • Durch Hinzufügen ; bashbleibt das Shell-Fenster nach dem Ende des Skripts geöffnet, z.

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

Zusätzliche Variationen

Verwenden Sie a cdvor dem Befehl, um das Fenster geöffnet zu lassen, wobei der Pfad im Verzeichnis des Skripts festgelegt ist . Zum Beispiel:

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

Dies ermöglicht das Starten einiger zusätzlicher Befehle, ohne im aktuellen Arbeitsverzeichnis bleiben zu müssen.

NVRM
quelle