
Die meisten Makefile-Benutzer verwenden die Befehlszeile. Daher besteht für sie keine Notwendigkeit, es in der GUI aufzurufen. Makefile kann jedoch auch als Verwaltungstool für Benutzer verwendet werden.
In meinem Fall soll eine Sachbearbeiterin ein Dokument pflegen, das sich täglich ändert, und sobald sie die Datei speichert, wird die „Quelle“ geändert. Ich möchte, dass sie es in PDF konvertiert, das PDF mit einer bestimmten Vorlage stempelt, es verschlüsselt, es mit einigen anderen Dateien zusammenführt und drei Varianten für verschiedene Abteilungen mit unterschiedlichen Stempeln erstellt.
Ich habe zu diesem Zweck bereits ein Makefile geschrieben. Gibt es eine Möglichkeit, sie das Makefile aufrufen zu lassen, ohne dass ich mich mit zusätzlicher Kommandozeilenschulung herumschlagen muss? Sie kann das Dokument speichern, das Makefile aufrufen und fertig.
PS: Hier geht es nicht darum, wie ein Shell-Skript oder eine EXE-Datei ausgeführt wird, da in der Frage weder Shell-Skripte noch EXE-Dateien oder sonstige ausführbare Dateien vorkommen.
Antwort1
Ich habe zwei Lösungen für Sie und ich bevorzugeLösung B
Lösung A
Der einfachste Weg ohne Terminal besteht darin, ein Wrapper-Skript in dem Ordner hinzuzufügen, in dem sich das Makefile
befindet.
Erstellen eines Wrapper-Skripts
nano /your/make/file/folder/makeit
Fügen Sie zwei einfache Zeilen hinzu
#!/usr/bin/env bash make
Machen Sie das Skript ausführbar
chmod +x /your/make/file/folder/makeit
Konfigurieren Sie Nautilus so, dass es bei jedem Doppelklick auf eine ausführbare Textdatei nachfragt
gsettings set org.gnome.nautilus.preferences executable-text-activation ask
oder erstmal ohne zu fragen
gsettings set org.gnome.nautilus.preferences executable-text-activation launch
Lösung B
A Makefile
hat den Mimetyp
text/x-makefile
Erstellen und verwenden Sie daher eine Desktopdatei mit einem Wrapper-Skript
Erstellen des Wrapper-Skripts
mkdir -p ~/bin nano ~/bin/makeit
Fügen Sie den folgenden Code hinzu
#!/usr/bin/env bash cd "$(dirname "$1")" || exit make
Erstellen einer Desktopdatei
nano ~/.local/share/applications/makeit.desktop
Fügen Sie die folgende Konfiguration hinzu
[Desktop Entry] Name=Make It Comment=Start the make command Exec=/home/user/bin/makeit Icon= Terminal=false Type=Application Categories=Editor; StartupNotify=true MimeType=text/x-makefile;
WICHTIGErsetzen
user
in der ZeileExec=
mit Ihrem Benutzernamen wird die Ausgabe vonecho $USER
Starten Sie Unity/GNOME Shell neu, für die GNOME Shell z.B. Alt- F2, geben Sie
r
und Enterund Nautilus mit einnautilus -q
Verknüpfen Sie die
Makefile
mit demmakeit
SkriptÖffnen Sie Ihren Dateimanager und klicken Sie mit der rechten Maustaste auf
Makefile
KlickenOpen With Other Application
Drück den KnopfView All Applications
Wählen Sie den EintragMake It
Antwort2
Erstellen Sie einfach einen Cron-Job (über crontab -e
), der dieses Makefile jeden Tag (oder sogar jede Minute) ausführt.
Antwort3
Ich habe die Funktion „Im Terminal öffnen“ in Nautilus entdeckt.
- Klicken Sie mit der rechten Maustaste auf den leeren Bereich um Makefile
- Wählen Sie „Im Terminal öffnen“
- Typ
make
Das ist zwar nicht genau das, was verlangt wird, aber es ist die beste Lösung. Die Hälfte der Schwierigkeit bei der Schulung neuer Befehlszeilenbenutzer besteht im Konzept des aktuellen Verzeichnisses – in diesem Fall wahrscheinlich die ganze Schwierigkeit –, diese Lösung gut aussehen zu lassen.