¿Cómo evocar un Makefile en la GUI?

¿Cómo evocar un Makefile en la GUI?

La mayoría de los usuarios de Makefile utilizan la línea de comandos. Por lo tanto, no necesitan evocarlo en la GUI. Pero Makefile también se puede utilizar como herramienta de administración para los usuarios.

En mi caso, a una empleada se le asigna la tarea de mantener un documento que cambia diariamente y, tan pronto como guarda el archivo, se cambia la "fuente". Quiero que lo convierta a PDF, selle el PDF con una plantilla determinada, lo cifre, lo combine con algunos otros archivos y produzca tres variaciones para diferentes departamentos con diferentes sellos.

Tengo un Makefile para ese propósito, ya escrito. ¿Hay alguna manera de permitirle evocar el Makefile sin tener que hacer un entrenamiento adicional en la línea de comandos? Puede guardar el documento, invocar Makefile y listo.

PD: No se trata de cómo ejecutar un script de shell o un archivo .EXE porque no hay scripts de shell ni archivos .EXE ni ningún archivo ejecutable en la pregunta.

Respuesta1

Tengo dos soluciones para ti y prefieroSolución B


Solución A

La forma más sencilla sin una terminal es agregar un script contenedor en la carpeta donde Makefileestá.

  1. Crear un script contenedor

    nano /your/make/file/folder/makeit
    
  2. Añade dos líneas simples

    #!/usr/bin/env bash
    make
    
  3. Hacer ejecutable el script

    chmod +x /your/make/file/folder/makeit
    
  4. Configure nautilus para que pregunte cada vez, si hace doble clic en un archivo de texto ejecutable

    gsettings set org.gnome.nautilus.preferences executable-text-activation ask
    

    o para empezar sin preguntar

    gsettings set org.gnome.nautilus.preferences executable-text-activation launch
    

Solución B

A Makefiletiene el tipo mime

text/x-makefile

Por lo tanto, cree y utilice un archivo de escritorio con un script contenedor.

  1. Crear el script contenedor

    mkdir -p ~/bin
    nano ~/bin/makeit
    
  2. Añade el código a continuación

    #!/usr/bin/env bash
    cd "$(dirname "$1")" || exit
    make
    
  3. Crear un archivo de escritorio

    nano ~/.local/share/applications/makeit.desktop
    
  4. Agregue la configuración a continuación

    [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;
    

    IMPORTANTEReemplazaruseren la línea Exec=con su nombre de usuario, la salida de

    echo $USER
    
  5. Reinicie Unity/GNOME Shell, para GNOME Shell, por ejemplo Alt- F2, escriba rand Entery Nautilus con

    nautilus -q
    
  6. Asociar el Makefilecon el makeitguión

    • Abra su administrador de archivos y haga clic derecho en unMakefile

    • Hacer clicOpen With Other Application

    • Clic en el botónView All Applications

    • Seleccione la entradaMake It

Respuesta2

Simplemente cree un trabajo cron (a través de crontab -e) que ejecute ese Makefile todos los días (o incluso cada minuto).

Respuesta3

Descubrí la función "Abrir en Terminal" en nautilus.

  1. Haga clic derecho en el espacio vacío alrededor de Makefile
  2. Elija "Abrir en Terminal"
  3. Tipomake

Esto no es exactamente lo que se pide, pero es la solución más cercana. La mitad de la dificultad para capacitar a un nuevo usuario de línea de comandos es el concepto de directorio actual (en este caso, probablemente toda la dificultad), lo que hace que esta solución parezca buena.

información relacionada