为什么自动启动适用于 lubuntu 18.10 Cosmic Cuttlefish 而不适用于 22.04.2 Jammy Jellyfish?

为什么自动启动适用于 lubuntu 18.10 Cosmic Cuttlefish 而不适用于 22.04.2 Jammy Jellyfish?

我在现场有几台机器,还有更多的机器在库存中,几年来都没有更新过。uname -a返回以下内容:

Linux <machine 1> 4.18.0-20-generic #21-Ubuntu SMP Mon May 6 18:45:52 UTC 2019 x86_64 x86_64 x86_64 GNU/Linux

我使用最新的 lubuntu 重新镜像了库存中的一台机器。uname -a返回以下内容:

Linux <machine 2> 5.19.0-43-generic #44~22.04.1-Ubuntu SMP PREEMPT_DYNAMIC Mon May 22 13:39:36 UTC 2 x86_64 x86_64 x86_64 GNU/Linux

我重新安装了应该在启动时运行的应用程序,并将桌面文件复制到 ~/.config/autostart 中,但它没有启动该应用程序。这是桌面文件的内容:

[Desktop Entry]
Version=1.0
Type=Application
Terminal=false
StartupNotify=false
Exec=/bin/bash -c "sleep 5 && /opt/myApp/autostart.sh"
Path=/opt/myApp/current
Name=MyApp
Comment=Application to run at startup

如果我启动终端窗口并运行/bin/bash -c“睡眠 5 && /opt/myApp/autostart.sh”它启动了应用程序,正如我所期望的自动启动功能一样。这两个版本之间发生了什么变化,导致该应用程序不再在启动时启动?我需要修改什么?我已经搜索并尝试了几种选择,但到目前为止没有任何效果。

更新

我发现 /opt/MyApp/autostart.sh 正在执行,但 shell 脚本中的应用程序未执行。我正在使用 PM2 启动 nodejs 脚本。我在 shell 脚本中添加了一行,/snap/bin/火狐并且 Firefox 启动成功,因此问题似乎是与自动启动和 PM2 不兼容。我将研究 PM2 文档以获取启动时启动的替代方法。

更新2

事实证明根本不需要自动启动。 PM2有一个效用,pm2启动,告诉 PM2 检测可用的 init 系统,生成配置并启用启动系统。简单的。该应用程序现在的工作方式与之前版本中的工作方式相同。

相关内容