
Большинство пользователей Makefile используют командную строку. Таким образом, им не нужно вызывать ее в GUI. Но Makefile может использоваться как инструмент администрирования для пользователей.
В моем случае клерку поручено поддерживать документ, который меняется ежедневно, и как только она сохраняет файл, «источник» меняется. Я хочу, чтобы она конвертировала его в PDF, проштамповала PDF заданным шаблоном, зашифровала его, объединила с несколькими другими файлами и создала три варианта для разных отделов с разными штампами.
У меня есть Makefile для этой цели, уже написанный. Есть ли способ позволить ей вызвать Makefile, не загоняя меня в трясину дополнительного обучения командной строке? Она может сохранить документ, вызвать Makefile и все.
P.S. Речь не идет о том, как выполнить скрипт оболочки или .EXE-файл, поскольку в вопросе вообще нет ни скриптов оболочки, ни .EXE-файлов, ни каких-либо исполняемых файлов.
решение1
У меня есть два решения для вас, и я предпочитаюРешение Б
Решение А
Самый простой способ без терминала — добавить скрипт-оболочку в папку, где находится Makefile
.
Создать скрипт-оболочку
nano /your/make/file/folder/makeit
Добавьте две простые линии
#!/usr/bin/env bash make
Сделать скрипт исполняемым
chmod +x /your/make/file/folder/makeit
Настройте nautilus так, чтобы он спрашивал каждый раз, если вы дважды щелкните исполняемый текстовый файл
gsettings set org.gnome.nautilus.preferences executable-text-activation ask
или для начала не спрашивая
gsettings set org.gnome.nautilus.preferences executable-text-activation launch
Решение Б
A Makefile
имеет mimetype
text/x-makefile
Поэтому создайте и используйте файл рабочего стола со скриптом-оболочкой.
Создать скрипт-обертку
mkdir -p ~/bin nano ~/bin/makeit
Добавьте код ниже
#!/usr/bin/env bash cd "$(dirname "$1")" || exit make
Создать файл рабочего стола
nano ~/.local/share/applications/makeit.desktop
Добавьте конфигурацию ниже
[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;
ВАЖНЫЙЗаменять
user
в строкеExec=
с вашим именем пользователя выводecho $USER
Перезапустите Unity/GNOME Shell, для GNOME Shell, например Alt, - F2, введите
r
и Enterи Nautilus сnautilus -q
Свяжите
Makefile
соmakeit
сценариемОткройте файловый менеджер и щелкните правой кнопкой мыши по файлу.
Makefile
НажмитеOpen With Other Application
Нажмите кнопкуView All Applications
Выберите записьMake It
решение2
Просто создайте задание cron (через crontab -e
), которое будет запускать этот Makefile каждый день (или даже каждую минуту).
решение3
Я обнаружил функцию «Открыть в терминале» в Nautilus.
- Щелкните правой кнопкой мыши по пустому пространству вокруг Makefile.
- Выберите «Открыть в терминале».
- Тип
make
Это не совсем то, что требуется, но это самое близкое решение. Половина сложности обучения нового пользователя командной строки — это концепция текущего каталога (в данном случае, вероятно, вся сложность), заставляющая это решение выглядеть хорошо.