Wie erstelle ich eine Programmverknüpfung für einen Befehl in Ubuntu 12.04 LTS?

9

Ich erinnere mich, dass ich das in einer älteren Version von Ubuntu machen konnte, aber ich habe mich in Ubuntu 12.04 verlaufen.

Ich möchte ein Element in der Startleiste oder auf dem Desktop hinzufügen, das bei einem Doppelklick beispielsweise den folgenden Befehl ausführt:

emacs -q --some-other-options --load ~/xyz.el

In MS Windows Speak möchte ich eine Programmverknüpfung mit benutzerdefinierten Parametern erstellen. Es wäre auch schön, wenn ich den Befehl auch ausführen könnte, indem ich "Emacs XYZ" in Launcher Search eingebe und das gefundene Element auswähle. Alles, was in Windows 7 möglich ist und wie dies getan werden kann, lässt sich leicht durch Klicken mit der rechten Maustaste auf verschiedene Dinge herausfinden.

Als Workaround habe ich ein ausführbares Skript "Emacs XYZ.sh" erstellt, das den Befehl enthält, und auf dem Desktop einen Link zum Skript erstellt (durch Ziehen bei gedrückter Alt-Taste). Diese Problemumgehung ist jedoch unvollständig, da der Link nicht in die Startleiste gezogen werden kann. Wenn ich auf den Link doppelklicke, fragt Ubuntu immer

Möchten Sie "Link zu Emacs XYZ.sh" ausführen oder dessen Inhalt anzeigen?

Führen Sie den Befehl in zwei Schritten aus. Und wenn ich in Launcher Search nach "Emacs XYZ" suche und das Element auswähle, wird das Skript nur mit gedit geöffnet, anstatt das Skript auszuführen. Das Anzeigesymbol für das Skript ist nicht das Emacs-Symbol.

Jisang Yoo
quelle
Hast du so etwas versucht? - askubuntu.com/a/66918/25798
jokerdino

Antworten:

9

Ich würde alacarte : verwenden /usr/bin/alacarte, um einen Menüeintrag zu erstellen.

Dann würde ich in alacarte in dem Abschnitt, in dem der Befehl vorkommt, einen Terminal-Emulator verwenden, um Emacs zu öffnen.

For Instance: terminator -x htopwird jetzt htopin einem Abschlussfenster gestartet . Oder wenn Sie es vorziehen, bei zu bleiben gnome-terminal, dann wäre es gnome-terminal -x htop.

Sobald dies hinzugefügt wurde, können Sie es in der Suche finden und Ihrer Startleiste in Unity hinzufügen.

terminator und gnome-terminal haben andere Flags (wie das -xin terminator -x htop), die die Aufgabe möglicherweise besser erledigen.

Hier ist mein Menüeintrag für ein Programm namens MOC, das ich mit alacarte hinzugefügt habe und das ich gerne für ein Audioprogramm verwende. Ich habe stattdessen das Flag -e mit dem Terminator verwendet, da ich keine weiteren Argumente mit dem Befehl übergeben musste.

Dennis Andrew Gutowski
quelle
10

Ich habe viele Dinge gelesen und ausprobiert und dann https://help.ubuntu.com/community/UnityLaunchersAndDesktopFiles gefunden, das alles erklärt. Darauf aufbauend kommt hier eine Selbstantwort.

In dieser Antwort werde ich zeigen:

  • So zeigen Sie die Details einer Programmverknüpfung an
  • So ändern Sie eine Programmverknüpfung
  • So erstellen Sie eine neue Programmverknüpfung, mit der ein Befehl ausgeführt wird
  • So fügen Sie einer Stelle eine Programmverknüpfung hinzu, damit sie in der Launcher-Suche angezeigt wird

Voraussetzungen:

  • Vertrautheit mit den Befehlen cd und ls

Öffnen Sie das Terminal. Wechseln Sie zu / usr / share / applications, und zeigen Sie den Inhalt des Ordners mit ls an. Zeigen Sie auch den Ordner mit dem Standarddateibrowser mit xdg-open an:

cd /usr/share/applications
ls
xdg-open . &

lszeigt Dateien mit der .desktopEndung. Diese Dateien sind Textdateien und ihr Inhalt kann mit gedit angezeigt werden, zum Beispiel durch Eingabe von:

gedit gcalctool.desktop &

Jede .desktopDatei in dem Ordner ist eine Programmverknüpfung und der Dateibrowser zeigt sie als Programmverknüpfungen an, anstatt ihre tatsächlichen Dateinamen anzuzeigen. Welche Programmverknüpfungen zu welchen Dateien gehören, kann mit grep ermittelt werden: Um beispielsweise herauszufinden, welche Datei für die Zeichentabelle vorgesehen ist, geben Sie Folgendes ein:

grep -Fi 'character map' *.desktop

was zeigt, dass es der Datei entspricht gucharmap.desktop.

Um die Verknüpfung zu bearbeiten, öffnen Sie sie mit gksudo gedit:

gksudo gedit gucharmap.desktop &

Um eine neue Verknüpfung zu erstellen, erstellen Sie beispielsweise eine Verknüpfung, die den folgenden Befehl ausführt:

python -i -c 'from math import *'

eingeben:

gksudo gedit gcalctool.desktop my-calc.desktop &

gcalctool.desktopist die bereits vorhandene Verknüpfungsdatei für Calculator und my-calc.desktopein neuer Dateiname, der noch nicht existiert. Kopieren Sie mit gedit den Inhalt von gcalctool.desktopnach, my-calc.desktopändern Sie den Inhalt von my-calc.desktopund speichern Sie ihn.

Inhalt von gcalctool.desktop:

[Desktop Entry]
Name=Calculator
Comment=Perform arithmetic, scientific or financial calculations
Exec=gcalctool
Icon=accessories-calculator
Terminal=false
Type=Application
StartupNotify=true
Categories=GNOME;GTK;Utility;Calculator;
X-GNOME-DocPath=gcalctool/gcalctool.xml
X-GNOME-Bugzilla-Bugzilla=GNOME
X-GNOME-Bugzilla-Product=gcalctool
X-GNOME-Bugzilla-Component=general
X-GNOME-Bugzilla-OtherBinaries=gnome-calculator
X-Ubuntu-Gettext-Domain=gcalctool

Inhalt von my-calc.desktop (geänderte Felder: Name, Kommentar, Exec, Terminal):

[Desktop Entry]
Name=My Calculator
Comment=Perform calculations with Python
Exec=python -i -c 'from math import *'
Icon=accessories-calculator
Terminal=true
Type=Application
StartupNotify=true
Categories=Utility;Calculator;

Jetzt sollte im Dateibrowser-Fenster, das mit geöffnet wird, das Symbol "Mein Rechner" angezeigt werden xdg-open .. Ein Doppelklick darauf sollte ein Terminalfenster mit python -i -c 'from math import *'ran öffnen . Sie können es auch über die Launcher-Suche ausführen, indem Sie nach "Mein Rechner" suchen. Sie können das Symbol (im Dateibrowserfenster) an eine leere Stelle in der Startleiste links (in der Taskleiste) ziehen, um es dort zu haben. Wenn Sie das Symbol auf den Desktop ziehen, sagt Ubuntu

Fehler beim Verschieben von "my-calc.desktop" ... Fehler beim Verschieben der Datei: Berechtigung verweigert.

Drücken Sie stattdessen Alt, während Sie es auf den Desktop ziehen. Ubuntu zeigt ein Menü an: 'Hierher verschieben', 'Hierher kopieren' und 'Hierher verlinken'. Wählen Sie 'Hierher kopieren'. Die Verknüpfung wird auf den Desktop kopiert.

Geben Sie Folgendes ein, um eine Verknüpfung in / usr / share / applications löschen zu können:

gksudo xdg-open /usr/share/applications &

Es ist wahrscheinlich gut, nur von Ihnen erstellte Verknüpfungen zu löschen und andere intakt zu lassen.

Wenn Sie etwas in nicht finden können /usr/share/applicationsund es dennoch in Launcher Search angezeigt wird, ist es wahrscheinlich in~/.local/share/applications/

Weitere Lektüre:

https://help.ubuntu.com/community/UnityLaunchersAndDesktopFiles

Jisang Yoo
quelle
2

Das ist der einfachste Weg, den ich gefunden habe:

  1. Starten Sie Ihr Programm (laufende Programme werden im Launcher angezeigt)
  2. Klicken Sie mit der rechten Maustaste auf das Symbol im Launcher und wählen Sie "Mit Launcher sperren".

Falls der Link nicht funktioniert, cdin /usr/share/applicationsund dann die Datei bearbeiten , die zu Ihrer Anwendung paßt (ex. theProgramYouWant.desktop, Dann nur um die Änderung Exec=für das Programm an die ausführbaren Datei Punkt).

MattC
quelle
0

Dies ist ein Drag & Drop-Vorgang in neueren Versionen. Fügen Sie den Befehl als neues Element in der GUI der Hauptmenü-App (alacarte) hinzu. Suchen Sie dann nach dem Befehlstitel, klicken Sie auf das Symbol und ziehen Sie es in den Launcher.

user204253
quelle
0

Basierend auf Dennis Andrew Gutowskis Antwort können Sie das Verknüpfungsprogramm als weitere zusätzliche Freigabe in den Anwendungsbaum einfügen.

Sie können den erstellten Verknüpfungsstarter auch im Applet neben "Programme", einem Schnellstarter, hinzufügen.

Einfaches Drag & Drop. Ziehen Sie den Verknüpfungsstarter aus dem Baum "Anwendungen". Legen Sie es neben "Anwendungen" ab.

adesst
quelle