无法独立于启动它的脚本运行 flatpak

无法独立于启动它的脚本运行 flatpak

我总是成功地使用 & 符号从脚本中在后台启动应用程序。此类后台应用程序似乎与启动它的脚本分离,这意味着当我终止脚本时,应用程序将继续运行。

我现在有一个脚本,它首先启动一些应用程序,其中一些是 flatpaks,然后启动一个无限的 while 循环来监视我的 IP 地址,以检查 VPN 是否仍在工作。

#!/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 &
  • 启动应用程序后调用 disown
/usr/bin/flatpak run --command=de.manuel_kehl.go-for-it de.manuel_kehl.go-for-it &
disown 

这些方法都没有帮助。

有人可以解释为什么会发生这种情况吗?有解决办法吗?我希望在终止脚本时保持所有应用程序(包括 flatpaks)运行。

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 @@ &

相关内容