У меня есть приложение chromium, которое я хочу выполнить из скрипта bash. Я успешно могу выполнить эту команду из терминала и открыть приложение, но когда я попытался дважды щелкнуть сценарий, приложение завершается сразу после его запуска.
#!/bin/bash
nohup /usr/bin/chromium-browser --disable-gpu --enable-offline-auto-reload --enable-offline-auto-reload-visible-only --app=chrome-extension://jbnkffmindojffecdhbbmekbmkkfpmjd/foreground.html & disown &
Как открыть приложение Chromium, дважды щелкнув скрипт?
Я не могу ответить на Ваш вопрос для установки точному коду, однако я могу рекомендовать несколько вещей.
Во-первых, удостоверьтесь, что сделали исполняемый файл сценария cd
луг к его местоположению и выполнению chmod +x ./scriptname.sh
. Это отсортирует, решают Вашу проблему двойного щелчка; Вы не можете сделать это исполняемым файлом двойным щелчком, но этим способом, с которым можно выполнить его Alt-F2
. Просто поместите его в свою домашнюю папку и работайте ./scriptname.sh
.
Что касается того, почему это выходит: я не полностью уверен, но кажется, что у Вас есть перегрузка команд там. nohup
, disown
и &
все делают разные вещи, как объяснено здесь, но Вы не можете хотеть делать всех их, и они могут конфликтовать так или иначе. Я рекомендовал бы удалить последнее &
по крайней мере.
Вещь, nohup
и disown
заставьте свой процесс проигнорировать a SIGHUP
, который Вы, возможно, должны использовать в случае подвешивания, особенно учитывая он - Chrome. В этом случае просто выполните команду без nohup
или disown
, и всего один &
в конце. Это сохранит Ваш процесс как есть кроме Вашего окна терминала, свободно сделать другие действия, включая близко.
Другая вещь, которую Вы могли попробовать, заставляет этот сценарий открыть свое собственное окно терминала. Это записано следующим образом:
gnome-terminal -e /usr/bin/chromium-browser (et cetera)
Надеюсь, это поможет.