Wie ruft man ein Makefile in der GUI auf?

Wie ruft man ein Makefile in der GUI auf?

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 Makefilebefindet.

  1. Erstellen eines Wrapper-Skripts

    nano /your/make/file/folder/makeit
    
  2. Fügen Sie zwei einfache Zeilen hinzu

    #!/usr/bin/env bash
    make
    
  3. Machen Sie das Skript ausführbar

    chmod +x /your/make/file/folder/makeit
    
  4. 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 Makefilehat den Mimetyp

text/x-makefile

Erstellen und verwenden Sie daher eine Desktopdatei mit einem Wrapper-Skript

  1. Erstellen des Wrapper-Skripts

    mkdir -p ~/bin
    nano ~/bin/makeit
    
  2. Fügen Sie den folgenden Code hinzu

    #!/usr/bin/env bash
    cd "$(dirname "$1")" || exit
    make
    
  3. Erstellen einer Desktopdatei

    nano ~/.local/share/applications/makeit.desktop
    
  4. 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;
    

    WICHTIGErsetzenuserin der Zeile Exec=mit Ihrem Benutzernamen wird die Ausgabe von

    echo $USER
    
  5. Starten Sie Unity/GNOME Shell neu, für die GNOME Shell z.B. Alt- F2, geben Sie rund Enterund Nautilus mit ein

    nautilus -q
    
  6. Verknüpfen Sie die Makefilemit dem makeitSkript

    • Öffnen Sie Ihren Dateimanager und klicken Sie mit der rechten Maustaste aufMakefile

    • 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.

  1. Klicken Sie mit der rechten Maustaste auf den leeren Bereich um Makefile
  2. Wählen Sie „Im Terminal öffnen“
  3. Typmake

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.

verwandte Informationen