![无法独立于启动它的脚本运行 flatpak](https://linux22.com/image/210606/%E6%97%A0%E6%B3%95%E7%8B%AC%E7%AB%8B%E4%BA%8E%E5%90%AF%E5%8A%A8%E5%AE%83%E7%9A%84%E8%84%9A%E6%9C%AC%E8%BF%90%E8%A1%8C%20flatpak.png)
我总是成功地使用 & 符号从脚本中在后台启动应用程序。此类后台应用程序似乎与启动它的脚本分离,这意味着当我终止脚本时,应用程序将继续运行。
我现在有一个脚本,它首先启动一些应用程序,其中一些是 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 @@ &