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

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

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

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

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

Однако я не уверен, что я должен запустить команду: sudo ./test.sh.

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

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

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

Любые идеи?

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

3 ответа

Файл .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, если вы хотите, чтобы он отображался в вашем меню.

Выполняется [ f8] с 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
ответ дан 22 May 2018 в 15:56
  • 1
    Что мне следует вводить в «Путь» в записи рабочего стола? – Felix Lee 24 December 2017 в 20:30
  • 2
    Включены каталог video.sh и audio.sh. Заменив ~ на «/ home /» + ваше имя пользователя + / – Martin Thornton 24 December 2017 в 20:34
  • 3
    Как связать несколько файловых каталогов в одной строке в PATH: ~~? – Felix Lee 24 December 2017 в 20:58
  • 4
    Я имел в виду, если каталог, в котором он находится, , например ~/project/, назовите его /home/ YOURUSERNAME /project/. Вы можете уйти, оставив всю строку Path=, особенно если video.sh и audio.sh находятся в разных каталогах. – Martin Thornton 24 December 2017 в 21:02
  • 5
    Спасибо! Теперь у меня есть приложение, которое может запускать как audio.sh, так и video.sh .. Однако, всякий раз, когда я открываю файл, gksudo просит меня ввести мой пароль. Есть ли способы обойти его? Если я это сделаю, это будет действительно прекрасно! – Felix Lee 24 December 2017 в 21:15

Файл .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
ответ дан 18 July 2018 в 00:32

Файл .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 July 2018 в 17:14

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

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