flatpakを起動するスクリプトとは独立して実行することはできません。

flatpakを起動するスクリプトとは独立して実行することはできません。

私は&シンボルを使用してスクリプト内でバックグラウンドでアプリを実行することに常に成功しました。これらのバックグラウンドアプリケーションは、それを実行しているスクリプトから分離されているようです。つまり、スクリプトを終了してもアプリケーションは引き続き実行されます。

私は現在いくつかのアプリ(そのうちのいくつかはflatpak)を最初に起動してから、VPNがまだ機能していることを確認するために私のIPアドレスを監視する無限のwhileループを起動するスクリプトを持っています。

#!/bin/bash
start application 1 &
start application 2 &
start flatpak application 1 &
start flatpak application 2 &

while true
do
   check ip address
   sleep 180
done

ctrl-Cを使用してスクリプトを終了すると、flatpak以外のアプリケーションは期待どおりに実行されますが、flatpakは終了します。

ただし、これはスクリプトにwhileループがある場合にのみ発生します。 whileループを削除してスクリプトを終了すると、flatpaksを含むすべてのアプリケーションは引き続き実行されます。

これまで私は次のことを試しました。

  • &記号を使用してアプリケーションを呼び出します。
/usr/bin/flatpak run --command=de.manuel_kehl.go-for-it de.manuel_kehl.go-for-it &
  • nohupを使用してアプリケーションを呼び出します。
nohup /usr/bin/flatpak run --command=de.manuel_kehl.go-for-it de.manuel_kehl.go-for-it &
  • アプリケーションの起動後に拒否を呼び出す
/usr/bin/flatpak run --command=de.manuel_kehl.go-for-it de.manuel_kehl.go-for-it &
disown 

この方法のどれも役に立ちません。

なぜこれが起こるのか説明できますか?解決策はありますか?スクリプトを終了するときは、すべてのアプリケーション(フラットパックを含む)を実行し続けたいと思います。

tnx

(Linux Mint 19.3 MATEでbashを使用)

ベストアンサー1

起動スクリプトでThunderbirdを実行するには、次のようにしました。

/usr/bin/flatpak run --branch=stable --arch=x86_64 --command=thunderbird --file-forwarding org.mozilla.Thunderbird @@u %u @@ &

おすすめ記事