Создание исполняемой программы с помощью сценария оболочки ..?

Я сделал два файла сценария оболочки (.sh), audio.sh и video.sh для моего проекта Pi CCTV.

И я объединил эти два сценария:

sh -x video.sh & sh -x audio.sh &

Я поместил указанную выше команду в файл оболочки и, наконец, создал файл test.sh, который теперь запускает два файла оболочки одновременно.

Однако я не удовлетворен тем, что должен выполнить команду: sudo ./test.sh. Я хотел бы создать исполняемый файл (двойной щелчок и запуск), который можно запустить test.sh.

На YouTube есть видео, демонстрирующее, что в Mac OS можно создать сценарий Apple (связать два файла, скомпилировать и выполнить) и экспортировать его с помощью исполняемой программы (формат .app). Если программа запускается, два сценария оболочки запускаются вместе в двух окнах терминала, как вы видите на видео: https://www.youtube.com/watch?v=hkY4_qYWfqI

Можно ли сделать такую ​​вещь в Ubuntu 16.04?

Создать программу, которая выполняет два сценария оболочки одновременно?

Есть идеи?

1
задан 24 December 2017 в 19:35

1 ответ

Файл .desktop предоставит то, что вы хотите.

Создайте следующий файл с именем файла, например ANYTHING.desktop:

[Desktop Entry]
Encoding=UTF-8
Exec=gksudo /MAKE/THIS/THE/PATH/TO/test.sh
Path=/MAKE/THIS/THE/PATH/TO/THE/OTHER/FILES
Type=Application
Terminal=true
Name=Pi CCTV project
Categories=AudioVideo;

Сохраните его, где хотите, например, в ~/Desktop, и он будет запускаться при нажатии на него.

Либо сохраните его в ~/.local/share/applications, если хотите, чтобы он появился в вашем меню.

Это запускает test.sh с gksudo вместо sudo, чтобы дать вам графический диалог ввода пароля.

В test.sh добавьте wait в конец следующим образом:

sh -x video.sh & sh -x audio.sh & wait

Это необходимо, чтобы окно не закрывалось до завершения обеих программ.

Если вам действительно нужны два окна, измените test.sh на:

xterm -e sh -x video.sh & xterm -e sh -x audio.sh & wait

и измените Terminal=true на false в файле .desktop.

3
ответ дан 24 December 2017 в 19:35

Другие вопросы по тегам:

Похожие вопросы: