저는 앱을 열어서 제 삶을 조금 더 쉽게 만들어 줄 정말 멋진 스크립트를 만들고 있지만 Firefox(또는 유사한 브라우저) 브라우저를 시작하는 데 문제가 있습니다. Chromium에서도 마찬가지입니다.
내 스크립트의 기능은 다음과 같습니다. 터미널 창을 시작하고 해당 창에서 스크립트를 실행하는 초기 스크립트가 있습니다. 스크립트는 세션 및 XFCE 시작(bash의 새 xfce 터미널 창)을 통해 시작되며 제대로 작동합니다.
이제 두 번째 스크립트는 다음과 같습니다.
foo=string
grep ';;' ~/sh.sh
read foo
#firefox &>/dev/null &
#disown
for (( i=0; i<${#foo}; i++ )); do
case ${foo:$i:1} in
0) nohup mypaint &>/dev/null & ;;
1) exo-open --launch TerminalEmulator ;;
2) gtk-launch firefox.desktop ;;
3) ~/shsh/lutris.sh ;;
4) nohup /usr/lib/chromium/chromium &>/dev/null & ;;
5) nohup mypaint &>/dev/null & ;;
6) nohup steam &>/dev/null & ;;
esac
done
sleep 5 && kill -1 $PPID
문제는 이 스크립트를 통해 Firefox를 시작할 때 Firefox 프로세스를 셸에서 분리하는 데 사용하려는 방법에 따라 두 가지 중 하나가 발생한다는 것입니다. Firefox가 터미널 창과 함께 닫히거나 터미널 창이 다음과 같이 닫힙니다. 옵션 카드가 충돌합니다(그리고 addblock이 더 이상 작동하지 않습니다).
지금까지 내가 사용한 것은 다음과 같습니다.
- 와
nohup
의 다양한 조합&>/dev/null &
disown
gtk-launch firefox.desktop &
그리고disown
(firefox &)
(disown
단순히 입력하면 완벽하게 작동하지만 스크립트에서는 다르게 작동합니다)
흥미롭게도 스크립트를 통해 터미널 창을 닫으면 firefox
프로세스의 자식이 되지만 여전히 죽거나 탭이 여전히 충돌합니다.init
따라서 이 시점에서 Firefox는 바보이거나 퍼즐의 한 조각을 놓치고 있습니다.
답변1
내 생각에 해결책을 찾은 것 같습니다. 그게 전부입니다 xfce4-terminal --execute nohup firefox
. 새 터미널 창을 열고, 명령을 실행하고, 어떤 이유로든 해당 창을 닫고, 기본 셸이 종료되어도 kill -1
Firefox가 종료되지 않으며 탭도 충돌하지 않습니다.
답변2
다음을 수행하면 Firefox-esr이 충돌하지 않습니다:
터미널에서 또는 .sh 스크립트를 통해 Firefox를 시작하십시오.
nohup firefox-esr --detach & disown
수동으로 또는 kill을 통해 터미널 창을 닫습니다.