Wie erstellt man einen benutzerdefinierten Anwendungsstarter neu, der Befehlszeilensyntax und möglicherweise sogar Parameter verwendet?

16

Ich hatte einige benutzerdefinierte Skripte, für die ich am 10.04 benutzerdefinierte Startprogramme auf meinem Desktop hatte. Ich würde das nach der Migration auf 12.04 gerne noch einmal nachbauen, aber die Einheit scheint mir ziemlich fremd.

Sn3akyP3t3
quelle
4
Gut abgedeckt von: askubuntu.com/questions/13758/…
david6
Stimmen Sie @ david6 zu, aber es lohnt sich auch zu prüfen, ob es sich um einen Launcher auf Ihrem Unity-Dock (links) oder nur um einen auf Ihrem Desktop handelt. Wenn es sich nur auf Ihrem Desktop befindet, sollte es eine Option aus dem Kontextmenü mit der rechten Maustaste geben, um einen neuen Starter zu erstellen.
agc93
Ich denke beides. Ich wusste nicht, dass die beiden bis vor kurzem unabhängig voneinander waren.
Sn3akyP3t3

Antworten:

14

Ich habe eine ähnliche Frage beantwortet hier .

Kopieren Sie kurz das nächste Skript von /usr/share/applications/nach ~/.local/share/applicationsund bearbeiten Sie die xyz.desktopDatei. Die Zeile, die beginnt, Exec=ist die Zeile, die Sie bearbeiten müssen, um Ihren eigenen Befehl zusammen mit den gewünschten Befehlszeilenoptionen einzugeben. Wahrscheinlich möchten Sie auch die Name=Zeile bearbeiten , um Ihr eigenes Skript zu beschreiben.

Sobald Sie dies getan haben, müssen Sie Ihren Computer neu starten oder sich abmelden / anmelden. Dann können Sie die SuperTaste drücken, einen Teil des von Ihnen festgelegten Namens eingeben und Ihr Startprogramm sollte angezeigt werden. Wählen Sie es und drücken Sie und Enteres wird Ihren Befehl ausführen.

Hamish Downer
quelle
10

Vielleicht suchen Sie diesen Befehl:

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

Viel Glück!

Jayfire
quelle
Fantastisch. Brillant. Geronimo!
Ardavis
3

Ich habe dafür ein einfaches Python-Skript mit GUI erstellt!

Es ist auf http://jurschreuder.nl/

Es heißt Unity Launcher Creator und ich benutze es sogar selbst!

Super einfach:

  1. Entpacken
  2. Klicken Sie auf UnityLauncherCreator.py
  3. Geben Sie den Namen ein
  4. Programm auswählen
  5. Symbol auswählen
  6. Es wird ein Launcher erstellt, den Sie per Drag & Drop in Unity ziehen können

Ich habe einige Symboldateien eingefügt, die mit einem genetischen Algorithmus (GenArt für Android) erstellt wurden. Sie können es verwenden, wenn das Programm kein PNG bereitstellt oder wenn es sich nur um Ihr eigenes einfaches Bash-Skript handelt.

JtotheR
quelle
2

Sie können durch installieren

sudo apt-get install bzr

dann

bzr branch lp:unity-launcher-editor
cd unity-launcher-editor/
./ule

Als ich versuchte, einen benutzerdefinierten Starter zu erstellen, passierte nichts, als ich versuchte, ein benutzerdefiniertes Startersymbol festzulegen. Möglicherweise muss das Startsymbol eine bestimmte Größe haben, aber ich konnte diese Informationen nicht finden. Anstatt einen Launcher mit einem zufälligen Symbol zu erstellen, habe ich genau dort angehalten. aber probier mal diesen prog aus, er sieht vielversprechend aus.

Nick
quelle
0

Die von unity verwendeten .desktop-Dateien werden in "/ usr / share / applications /" gespeichert.

Sie können entweder (1) die Dateien dort bearbeiten oder (2) Kopien davon erstellen und sie dann durch Ziehen zum Unity Launcher hinzufügen.

(1) macht die Änderungen global, aka. Unity verwendet alle von Ihnen hinzugefügten Befehlszeilenparameter, wo immer Sie sie starten.

(2) wird offensichtlich nicht ändern, wie Unity die Anwendung standardmäßig behandelt. Nützlich, wenn ein benutzerdefiniertes Startprogramm eine Anwendung im Debug-Modus ausführen soll, diese jedoch nicht immer im Debug-Modus ausgeführt werden soll.

Hoffe das hilft.

adempewolff
quelle
Folgen Sie auf jeden Fall den Anweisungen in der Antwort unten. Das direkte Bearbeiten der Dateien in / usr / share / applications / ist aus mehreren Gründen nicht sinnvoll (es sei denn, Sie möchten, dass a) die benutzerdefinierten Startprogramme für alle Benutzer auf Ihrem Computer als Standard festgelegt werden und b) die Dateien gesichert werden first.)
adempewolff