ターミナルでFirefoxまたはFirefoxタブを実行した後にターミナルを終了すると、FirefoxまたはFirefoxタブが消えます。

ターミナルでFirefoxまたはFirefoxタブを実行した後にターミナルを終了すると、FirefoxまたはFirefoxタブが消えます。

私はアプリを開いて私の人生を少し簡単にする本当にクールなスクリプトを作成していますが、Firefox(または同様のブラウザ)ブラウザを起動するのに問題があります。 Chromiumでも同様です。

私のスクリプトの機能は次のとおりです。端末ウィンドウを起動し、そのウィンドウでスクリプトを実行する初期スクリプトがあります。スクリプトはセッションとXFCEの開始(bashの新しいxfceターミナルウィンドウ)を介して起動され、正しく機能します。

2番目のスクリプトは次のようになります。

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プロセスをシェルから分離するために使用したい方法によっては、2つのうちの1つが発生することです。 Firefox が端末ウィンドウで閉じられるか、端末ウィンドウが次のように閉じられます。オプションカードがクラッシュします(そしてaddblockは機能しなくなりました)。

これまで私が使用したものは次のとおりです。

  • nohupの様々な組み合わせ&>/dev/null &disown
  • gtk-launch firefox.desktop &そしてdisown
  • (firefox &)disown単に入力すると完璧に動作しますが、スクリプトでは異なる動作をします)

興味深いことに、スクリプトを介してターミナルウィンドウを閉じるとfirefoxプロセスの子になりますが、それでも死ぬかタブがクラッシュします。init

したがって、この時点でFirefoxは愚かまたはパズルの一部を見逃しています。

ベストアンサー1

私の考えに解決策を見つけたようです。それがすべてですxfce4-terminal --execute nohup firefox。新しいターミナルウィンドウを開き、コマンドを実行し、何らかの理由でそのウィンドウを閉じて、デフォルトのシェルが終了してもkill -1Firefoxは終了せず、タブもクラッシュしません。

おすすめ記事